Connect with us

Linux

Come salvare l’output di un comando Linux/Unix in un file


io sono un nuovo utente di sistema Linux e Unix che di recente è passato da MS-Windows XP. Come posso salvare l’output di un Linux / Unix? ls comando in un file denominato “lists.txt” utilizzando il prompt dei comandi o la shell POSIX come SH/KSH/BASH?

Dettagli tutorial
Livello di difficoltà Facile
Privilegi di root No
Requisiti Linux, macOS, sistemi operativi simili a Unix
Est. momento della lettura 3 minuti

La shell Bash / KSH e POSIX fornisce un’opzione di reindirizzamento dei file per reindirizzare l’output dei comandi su un file utilizzando i seguenti due operatori:

  1. > è il simbolo di reindirizzamento dell’output.
  2. >> è aggiungere il simbolo di reindirizzamento dell’output.

Sintassi per salvare l’output di un comando in un file

La sintassi è:

comando > nome file

Esempio: salvataggio dell’output del comando date in un file chiamato output.txt

In questo esempio, salva l’output del comando date in un file chiamato output.txt:
$ date > output.txt

Esempio: eseguire il comando Unix/Linux e salvare l’output in un file

Si prega di notare che il file file-lists.txt viene creato se non esiste. E se il file file-lists.txt viene sovrascritto se esce.

Sentiti libero di sostituire comando con il comando che vuoi eseguire su Linux/Unix e nome del file con il file in cui si desidera salvare (dirigere) l’output. Ad esempio, esegui il comando ls e memorizza il suo output nel file chiamato “file-lists.txt”:

ls -l /bin > file-lists.txt

Per vedere il contenuto di file-list.txt, usa il comando cat come segue:

Solo guide per i sostenitori di Patreon ????

  • Nessuna pubblicità e tracciamento
  • Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
  • Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:

Aderire Patreon ?

OPPURE usa più comandi come segue per lo stesso scopo:

Uscite di esempio:

Gif animata. 01: salvataggio dell’output dei comandi date e ls in un file di testo

Esempio: grep testo e salva in un file

Puoi usare il comando grep per scansionare i file di registro e salvarli in un file. In questo esempio, cercherò/scansionerò un file di registro chiamato /var/log/httpd/access_log per l’indirizzo IP dello spammer “1.2.3.4” e salverò in un file chiamato spam-log.txt:

 # command must be run as root #
grep '1.2.3.4' /var/log/httpd/access_log  > /root/spam-log.txt

Se il tuo file di registro è troppo grande, esegui un lavoro (comando grep) in background con una e commerciale (&) come segue:

 # command must be run as root #
grep '1.2.3.4' /var/log/httpd/access_log  > /root/spam-log.txt &

Sintassi per salvare e aggiungere l’output di un comando a un file

Il > operatore sovrascrive sempre i file di output esistenti. Per aggiungere l’output di un comando allo stesso file usa >> operatore come segue:
comando >> nome file
In questo esempio esegui due comandi chiamati Data e chi e salva l’output nello stesso file chiamato demo.txt:

echo "Test" > demo.txt
## Append to same file ##
echo "A log file by $USER on $HOSTNAME" >> demo.txt
who >> demo.txt
cat demo.txt

Uscite di esempio:

Gif animata 02: Unix/Linux: la shell Bash aggiunge l’output del comando a un file

Sintassi per il reindirizzamento sia dell’errore standard che dell’output su un file

La sintassi di base è la seguente per il reindirizzamento sia dell’errore standard che dell’output su bash/ksh o shell POSIX:

command-name &>filename
 
## POSIX syntax ##
command-name >cmd.log 2>&1

Riassumendo

Hai imparato come salvare l’output del terminale in un file su sistemi Linux e Unix. Possiamo semplicemente reindirizzare l’output:
command > file
Per aggiungere dati a un file esistente:
command >> file
Per stderr (output standard) utilizziamo quanto segue:
command &> file
## append ##
command &>> file

Ecco come inviamo sia stderr che stdout (output) visualizzati sulla console del terminale Linux e in un file come segue utilizzando il comando tee:
/path/to/command arg1 arg2 2>&1 | tee log.txt
Per maggiori informazioni, vedere le seguenti pagine man utilizzando il comando man:
man bash
man tee
man ksh
man zsh


ANNUNCIO



Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi