Introduzione
Il comando cat è uno dei comandi più utilizzati in Linux. Il nome del comando cat
deriva dalla sua funzionalità per concatenare i file. Può leggere e concatenare file, scrivendo i loro contenuti sullo standard output. Se non viene specificato alcun file o se il nome del file di input viene specificato come un singolo trattino -
, viene letto dall'input standard.
Cat è più comunemente usato per visualizzare il contenuto di uno o più file di testo, combinare i file aggiungendo il contenuto di un file alla fine di un altro file o per creare nuovi file.
In questo tutorial, ti mostreremo come usare il comando cat attraverso esempi pratici.
Sintassi del comando Cat
Prima di approfondire l'uso del comando cat, iniziamo esaminando la sintassi di base.
Le espressioni di utilità cat assumono la seguente forma:
cat [OPTIONS] [FILE_NAMES]
OPTIONS
- Opzionicat
. Utilizzarecat --help
per visualizzare tutte le opzioni disponibili.FILE_NAMES
- Zero o più nomi di file.
Visualizzare il contenuto del file
L'uso più semplice e comune del comando cat è leggere il contenuto dei file.
Ad esempio, il seguente comando visualizzerà il contenuto del file /etc/issue
nel terminale:
cat /etc/issue
Reindirizzare il contenuto del file
Invece di visualizzare l'output su stdout (sullo schermo) è possibile reindirizzarlo su un file.
Il seguente comando consente di copiare il contenuto del file1.txt
nel file file2.txt
utilizzare l'operatore >
:
cat file1.txt > file2.txt
Per esempio:
cat /etc/issue > noviello.txt
Ubuntu 19.10 \n \l
Normalmente useresti il comando cp
per copiare un file.
Se il file noviello.txt
non esiste, il comando lo creerà. Altrimenti, sovrascriverà il file.
Utilizzare l' operatore >>
per aggiungere il contenuto di file1.txt
a file2.txt
:
cat file1.txt >> file2.txt
Come in precedenza, se il file non è presente, verrà creato.
Stampare i numeri di riga
Per visualizzare il contenuto di un file con numeri di riga, utilizzare l'opzione -n
:
cat -n /etc/lsb-release
1 DISTRIB_ID=Ubuntu
2 DISTRIB_RELEASE=19.10
3 DISTRIB_CODENAME=eoan
4 DISTRIB_DESCRIPTION="Ubuntu 19.10"
Eliminare le righe vuote ripetute
Utilizzare l'opzione -s
per omettere le righe di output vuote ripetute:
cat -s file.txt
Visualizzare i caratteri TAB
L'opzione -T
consente di distinguere visivamente tra schede e spazi.
cat -T /etc/hosts
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1910.localdomain
I caratteri TAB verranno visualizzati come ^I
.
Visualizzare la fine delle linee
Per visualizzare il carattere di fine riga invisibile utilizzare l'opzione -e
:
cat -e /etc/lsb-release
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=19.10$
DISTRIB_CODENAME=eoan$
DISTRIB_DESCRIPTION="Ubuntu 19.10"$
Le terminazioni di riga verranno visualizzate come $
.
File concatenati
Quando si passano due o più nomi di file come argomenti al comando cat
, i contenuti dei file verranno concatenati. cat
legge i file nella sequenza indicata nei suoi argomenti e visualizza il contenuto del file nella stessa sequenza.
Ad esempio, il seguente comando legge il contenuto di file1.txt
e file2.txt
e visualizzare il risultato nel terminale:
cat file1.txt file2.txt
È possibile concatenare due o più file di testo e scriverli in un file.
Il seguente comando concatenerà i contenuti di file1.txt
e file2.txt
li scriverà in un nuovo file combinedfile.txt
usando l'operatore >
:
cat file1.txt file2.txt > file_uniti.txt
Se il file file_uniti.txt
non esiste, il comando lo creerà. Altrimenti, sovrascriverà il file.
Per concatenare il contenuto di file1.txt
e file2.txt
e scrivere il risultato nel file file3.txt
utilizzare l'operatore >>
:
cat file1.txt file2.txt >> file3.txt
Se il file non è presente, verrà creato.
Quando si concatenano i file con cat
, è possibile utilizzare gli stessi argomenti mostrati nella sezione precedente.
Creare un file
Per creare un nuovo file, utilizzare il comando cat
seguito dall'operatore di reindirizzamento >
e il nome del file che si desidera creare. Premere Enter
, digitare il testo e una volta terminato, premere CRTL+D
per salvare il file.
Nel seguente esempio, stiamo creando un nuovo file chiamato file1.txt
:
cat > file1.txt
Se file1.txt
è presente un file denominato , verrà sovrascritto. Utilizzare l'operatore >>
per aggiungere l'output a un file esistente.
cat >> file1.txt
Conclusione
Il comando cat
può visualizzare, combinare e creare un nuovo file.