Ricerca nel sito web

Utilizza i comandi cat e cp su Linux/Unix con esempi


introduzione

Non è possibile trascorrere il tempo su una shell Linux senza la frequente necessità di copiare o visualizzare il contenuto di un file. I comandi cat e cp lo fanno con la bellezza per cui sono stati progettati.

Il comando del gatto

Secondo le sue pagine man, cat concatena i file e stampa sullo standard output. La sua semplice sintassi è questa:

cat [OPTION]… [FILE]…

Le varie opzioni che puoi utilizzare sono le seguenti:

  • -A, --show-all. Può mostrare tabulazioni, fine riga utilizzando $e non stampabili
  • -b, --number-nonblank numero di righe di output non vuote, sovrascrive -n
  • -e equivalente a -vE
  • -E, --show-ends mostra il segno $alla fine di ogni riga
  • -n, --number numera tutte le righe di output
  • -s, --squeeze-blank sopprimono le righe di output vuote ripetute
  • -t equivalente a -vT
  • -T, --show-tabs visualizza i caratteri TAB come ^I
  • -v, --show-nonprinting

Esempi di gatti in azione:

$ cat -A text.txt  ## shows Tabs, end of lines using $ and non-printing

A test-preparation routine proven to help you pass Red HatM-bM-^@M-^Ys tough certification exams$
Clearly defined chapter learning objectives covering all RHCSA (EX200) and RHCE (EX300) exam topics$
Chapter-ending review questions to help you drill on key concepts you must know thoroughly$
Chapter-ending labs showing what real exam tasks and assignments look like$

$ cat -b rsync1.txt  ## Numbers all non-blank lines
      1  Features of Rsync include:
      
      2  Support for copying links, devices, owners, groups, and permissions
      
      3  Exclude and exclude-from options similar to GNU tar
      
      4  A CVS exclude mode for ignoring the same files that CVS would ignore
      
      5  Can use any transparent remote shell, including ssh or rsh
      6  Does not require super-user privileges
      7  Pipelining of file transfers to minimize latency costs
      8  Support for anonymous or authenticated rsync daemons (ideal for mirroring)
$ cat -n rsync1.txt  ## Numbers all lines whether empty or not

      1  Features of Rsync include:
      2
      3  Support for copying links, devices, owners, groups, and permissions
      4
      5  Exclude and exclude-from options similar to GNU tar
      6
      7  A CVS exclude mode for ignoring the same files that CVS would ignore
      8
      9  Can use any transparent remote shell, including ssh or rsh
     10  Does not require super-user privileges
     11  Pipelining of file transfers to minimize latency costs
     12  Support for anonymous or authenticated rsync daemons (ideal for mirroring)

Cat può essere utilizzato anche per combinare due o più file in uno solo.

cat file1.txt file2.txt >> file3.txt

Il contenuto di file1.txt e file2.txt verrà combinato in file3.txt

Utilizzando il comando cp di Linux/Unix

La spiegazione più semplice di cp è uno strumento da riga di comando di Linux utilizzato per copiare file e directory. Copia un file da SORGENTE a DEST, o più SORGENTI a DIRECTORY.

Sintassi dei comandi:

cp [source-file] [destination-file]
cp [source-file] [destination-directory]
cp [source-directory] [destination-directory]

Opzioni più comuni per cp

  • -n, --no-clobber non sovrascrive un file esistente
  • Richiedi -i, --interactive prima di sovrascrivere
  • -l, --link collega fisicamente i file invece di copiarli
  • -R, -r, --recursive copia ricorsivamente le directory
  • -s, --symbolic-link creano collegamenti simbolici invece di copiare
  • -p, --preserve=mode, proprietà, timestamp
  • -u, --update copia solo quando il file SORGENTE è più recente del file di destinazione o quando il file di destinazione manca
  • -v, --verbose mostra l'output di ciò che viene fatto
  • -Z Imposta il contesto di sicurezza SELinux del file di destinazione sul tipo predefinito

Ci sono tantissime altre opzioni da usare con il comando cp. Si prega di visualizzare le sue pagine man per ulteriori informazioni.

Esempi di cp in azione

1.. Copia un file in una directory

cp /home/tech/django/index.html /home/pench/backup/

2.. Copia un file nella stessa directory

cp /home/tech/django/index.html index2.html

3.. Copia una directory in modo ricorsivo in un'altra directory e mostra un output dettagliato

cp -Rv /home/tech/django/ /home/pench/backup/ same as 
cp -rv /home/tech/django/ /home/pench/backup/

4.. Copia i file in una directory e assicurati che solo i nuovi file vengano copiati e gli altri aggiornati

cp -uv file1.txt file2.txt file3.txt /home/pench/backup/

5.. Fai sì che cp chieda se sei sicuro della copia

cp -i /etc/httpd/conf/httpd.conf /home/pench/backup/

6.. Copia i file in una directory e assicurati che un file con lo stesso nome file non venga sovrascritto

cp -n file1.txt file2.txt file3.txt /home/pench/backup/

7.. Copia un file in una directory e preservane la proprietà e i timestamp

cp /home/tech/django/index.html /home/pench/backup/

8.. Crea un collegamento simbolico di indice.html in indice2.html con output dettagliato

cp -sv /home/tech/django/index.html index2.html

9.. Crea un collegamento reale di index.html su index2.html con output dettagliato

cp -lv /home/tech/django/index.html index2.html

Conclusione

Abbiamo esaminato come visualizzare e concatenare file con cat e come copiare file e directory con il comando cp. Ci auguriamo che sia stato informativo e ti abbia portato nella giusta direzione. Se sei interessato ad altre guide, guarda sotto e fai clic sui titoli che attirano la tua attenzione.

Libri Linux consigliati da leggere:

  • I migliori libri su Linux per principianti ed esperti
  • I migliori libri sulla programmazione del kernel Linux
  • I migliori libri di scripting Bash per Linux
  • I migliori libri di studio sulla certificazione RHCSA/RHCE
  • I migliori libri di certificazione CompTIA A+ più votati
  • I migliori libri di studio sulla certificazione LPIC-1 e LPIC-2

Simile :

  • Estrai file .xz su Linux – CenOS/Ubuntu/Debian
  • Utilizza il comando rsync su Linux/Unix con esempi
  • Estrai file .xz su Linux – CenOS/Ubuntu/Debian

Articoli correlati: