Come reindirizzare l'output superiore a un file in Linux?

Come reindirizzare l'output superiore a un file in Linux?

Quando un utente Linux digita qualsiasi comando nel prompt bash, il terminale di solito stampa l'output del comando invocato in modo da poterlo leggere immediatamente. Tuttavia, Bash ti consente anche di "reindirizzare" o salvare l'output di qualsiasi comando nel sistema.

Questo articolo discuterà tre diverse procedure di reindirizzamento dell'output del comando superiore a qualsiasi file.

Metodo 1: reindirizzamento dell'output singolo

Per utilizzare il reindirizzamento di bash, eseguire qualsiasi script, quindi definire il > o >> operatore seguito dal percorso del file a cui è necessario reindirizzare l'output.

  • ">>"L'operatore viene utilizzato per utilizzare l'output del comando in un file, incluso l'output per il contenuto corrente del file.
  • ">"L'operatore viene utilizzato per reindirizzare l'output del comando in un singolo file e sostituire il contenuto corrente del file.

Possiamo dire che tecnicamente, questo è un reindirizzamento di file di "stdout", che è il display normale. Ora eseguiremo l'esempio di esempio. Il comando "LS" visualizza il contenuto delle cartelle e dei file della directory corrente dopo la sua esecuzione.

$ ls
ls>/path/to/file

Tuttavia, questo comando salverà l'output nel file specificato nell'esempio seguente anziché stamparlo al terminale.

LS>/Home/LinuxHint/Outputfile

Utilizzare la sintassi del comando indicata per verificare il contenuto del file.

Cat/Path/To/File

Ora, scrivi il comando di seguito per la stampa del contenuto del "file di output" nel terminale.

$ cat/home/linuxhint/outputfile

L'operatore ">" sovrascrive il contenuto del file con l'output dell'esecuzione del comando. Invece, è possibile utilizzare l'operatore ">>" per salvare l'output di più comandi in un singolo file. Ad esempio, l'esecuzione del comando dato aggiungerà le informazioni di sistema al file specifico.

UNAME -A >>/PATH/TO/FILE
$ uname -a >>/home/linuxhint/outputfile
$ cat/home/linuxhint/outputfile

Metodo 2: reindirizzamento dell'output del terminale in un singolo file

Non mi è piaciuto l'idea di usare l'operatore ">" o ">>" per il reindirizzamento dell'output? Non preoccuparti! Il comando a tee è qui per salvarti.

Comando | TEE/PATH/TO/FILE
$ ls | TEE/Home/Linuxhint/Outputfile

Il comando TEE di seguito offerto sovrascriverà il contenuto del file con l'output del comando simile all'operatore ">".

$ uname -a | Tee -a/home/linuxhint/outputfile

Metodo 3: il comando superiore

Gli amministratori di sistema utilizzano anche il comando top Linux per visualizzare statistiche di sistema in tempo reale come la media del carico, il tempo di attività del sistema, le attività in esecuzione, la memoria utilizzata, le informazioni specifiche su ciascun processo in esecuzione e un riepilogo di thread o processi. Utilizzando il flag -B, questo comando aiuta a ottenere le informazioni sui processi attualmente in esecuzione nel sistema. Il comando superiore consentirà alla parte superiore di funzionare in modalità batch e il flag -n per determinare il numero di iterazioni che il comando dovrebbe prendere come output.

$ top -b -n 1> topfile.TXT

Tutta l'output risultante dall'esecuzione del comando in alto verrà reindirizzata al file specificato. Ora, scrivi il comando "meno" per verificare il contenuto del file.

$ meno topfile.TXT

Il flag -n invierà la singola istantanea del comando eseguito al file specificato. Per recuperare solo la prima iterazione, specificare il flag "1" dopo la flag "-n".

$ top -b -n 1> top -iteration.TXT

Utilizzare il comando "Cat" per visualizzare le informazioni sulle attività in esecuzione.

$ CAT Top-iteration.txt | compiti grep

Conclusione:

In Linux, per il reindirizzamento dell'output in un file, utilizzare gli operatori di reindirizzamento ">" e ">>" o il comando superiore. Il reindirizzamento consente di salvare o reindirizzare l'output di un comando in un altro file sul sistema. Puoi usarlo per salvare le uscite e usarle in seguito per scopi diversi.