GNU/Linux >> Linux Esercitazione >  >> Linux

Salva l'output di un comando dal terminale Debian in un file

Sappiamo tutti come l'esecuzione di un comando nella riga di comando di Debian, il Terminale, porti all'esecuzione del comando e alla stampa dei risultati, se presenti, nel Terminale stesso. A volte, questa visualizzazione immediata dell'output non è sufficiente, soprattutto se si desidera salvare l'output per un uso successivo. Fortunatamente, bash Linux e tutto il bash del sistema operativo, del resto, è dotato della capacità di stampare l'output di un comando su un file specifico. In questo articolo, lavoreremo sui seguenti due scenari:

  • Salvataggio dell'output del comando su un file
  • Stampa l'output nel terminale e poi lo salva in un file

Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Debian 11 Bullseye.

Salvataggio dell'output del comando su un file

Eseguiremo alcuni esempi in cui l'output dei comandi verrà salvato nel nome file che specifichiamo.

Per aprire il Terminale, accedi alla ricerca di Avvio applicazioni tramite il tasto Super/Windows e quindi cerca Terminale come segue:

Crea nuovo file/Sostituisci un file esistente

Se desideri salvare l'output di un comando in un nuovo file o sostituire il contenuto di un file già esistente con l'output del comando, utilizza la seguente sintassi:

$ [comando]> [/posizionefile/nomefile]

Ad esempio, utilizzerò il comando lscpu (che visualizza le informazioni di sistema) e quindi ne stamperò il contenuto nel file denominato systeminformation.txt. Questo file non esiste già sul mio sistema.

$ lscpu > /home/sana/systeminformation.txt

Quando accedo a questo file tramite il file manager, appare così:

Aggiungi l'output a un file già esistente

Se vuoi salvare l'output di un comando Linux in un file senza alterarne il contenuto già esistente, puoi usare la seguente sintassi:

$ [comando]>> [/posizionefile/nomefile]

Ad esempio, il comando seguente aggiungerà il risultato del comando ls alla fine del mio file systeminformation.txt già esistente.

$ ls >> /home/sana/systeminformation.txt

Il seguente file che una volta conteneva solo le mie informazioni di sistema ora contiene anche l'output del mio comando ls:

Stampare l'output sul terminale e salvarlo in un file

Potresti aver notato che i comandi che abbiamo menzionato sopra salvano solo l'output nel file senza stamparli sul Terminale stesso. Utilizzare la seguente sintassi se si desidera visualizzare l'output del comando anche sul Terminale:

$ [comando] | tee [/posizionefile/nomefile]

Ad esempio, il testo che vogliamo riprodurre nell'immagine seguente verrà ora ripreso sul Terminale e stampato anche nel file miofile.txt.

$ echo "print this text to my file" | tee /home/sana/myfile.txt

Questi sono i contenuti del file generato tramite il comando:

Se si desidera aggiungere l'output di un comando a un file già esistente. Si prega di seguire questa sintassi:

$ [comando] | tee -a [/posizionefile/nomefile]

Ad esempio, l'immagine seguente mostra come altro testo verrà ripreso e quindi aggiunto al mio file già esistente:

$ echo "here is some more text for printing" | tee -a /home/sana/myfile.txt

Ecco come appare ora il file:

Questi file di testo orientati all'output che abbiamo generato in questo articolo possono essere molto più utili in alcuni casi rispetto alla normale stampa dell'output sul terminale. Ecco quanto è potente Debian bash!


Linux
  1. 8 comandi inquietanti che perseguitano il terminale

  2. Come salvare l'output dei comandi in un file in Linux

  3. Come aggiungere l'output a un file?

  4. Come salvare l'output di questo comando awk su file?

  5. Genera la distribuzione delle dimensioni dei file dal prompt dei comandi

Gestione file Linux dal terminale

Quattro modi per aprire il terminale in Debian

Personalizza la riga di comando di Debian

Come salvare l'output del comando in un file utilizzando il terminale Linux

Cerca testo sull'output del terminale?

3 lettori multimediali musicali per il terminale Debian 10