Il Linux”catrame” sta per archivio su nastro, utilizzato da un gran numero di Linux/Unix amministratori di sistema per gestire il backup delle unità a nastro. Il comando tar usato per copiare una raccolta di file e directory in un file di archivio altamente compresso comunemente chiamato tarball o catrame, gzip e bzip in Linux. Il tar è il comando più utilizzato per creare file di archivio compressi e che possono essere spostati facilmente da un disco a un altro disco o da una macchina all'altra.
In questo articolo, esamineremo e discuteremo vari esempi di comandi tar incluso come creare file di archivio usando (catrame, tar.gz, e tar.bz2) compressione, come estrarre un file di archivio, estrarre un singolo file, visualizzare il contenuto del file, verificare un file, aggiungere file o directory al file di archivio, stimare la dimensione del file di archivio tar, ecc.
Lo scopo principale di questa guida è fornire vari esempi di comandi tar questo potrebbe essere utile per capire e diventare un esperto nella manipolazione dell'archivio tar.
Il comando di esempio seguente creerà a catrame file di archivio tecmint-14-09-12.tar per una directory /home/tecmint nella directory di lavoro corrente. Guarda il comando di esempio in azione.
# tar -cvf tecmint-14-09-12.tar /home/tecmint//home/tecmint/ /home/tecmint/cleanfiles.sh. /home/tecmint/openvpn-2.1.4.tar.gz. /home/tecmint/tecmint-14-09-12.tar. /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm. /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
Discutiamo ogni opzione utilizzata nel comando precedente per creare un file di archivio tar.
Per creare un compresso gzip file di archivio usiamo l'opzione as z. Ad esempio, il comando seguente creerà un file compresso MyImages-14-09-12.tar.gz file per la directory /home/MyImages. (Nota: tar.gz e tgz sono entrambi simili).
# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages O. # tar cvzf MyImages-14-09-12.tgz /home/MyImages/home/MyImages/ /home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg. /home/MyImages/RobertKristenviolent101201.jpg. /home/MyImages/Justintimerlake101125.jpg. /home/MyImages/Mileyphoto101203.jpg. /home/MyImages/JenniferRobert101130.jpg. /home/MyImages/katrinabarbiedoll231110.jpg. /home/MyImages/the-japanese-wife-press-conference.jpg. /home/MyImages/ReesewitherspoonCIA101202.jpg. /home/MyImages/yanaguptabaresf231110.jpg
Il bz2 funzione comprime e crea un file di archivio inferiore alla dimensione del gzip. Il bz2 la compressione richiede più tempo per comprimere e decomprimere i file di gzip, che richiede meno tempo. Per creare un file tar altamente compresso usiamo l'opzione J. Il seguente comando di esempio creerà a Phpfiles-org.tar.bz2 file per una directory /home/php. (Nota: tar.bz2 e tbz è simile a tb2).
# tar cvfj Phpfiles-org.tar.bz2 /home/php O. # tar cvfj Phpfiles-org.tar.tbz /home/php O # tar cvfj Phpfiles-org.tar.tb2 /home/php/home/php/ /home/php/iframe_ew.php. /home/php/videos_all.php. /home/php/rss.php. /home/php/index.php. /home/php/vendor.php. /home/php/video_title.php. /home/php/report.php. /home/php/object.html. /home/php/video.php
Per decomprimere o estrarre un file tar, è sufficiente eseguire il seguente comando utilizzando option X (estratto). Ad esempio, il comando seguente decomprimerà il file public_html-14-09-12.tar nella directory di lavoro attuale. Se vuoi decomprimere in una directory diversa, usa l'opzione come -C (directory specificata).
## Untar file nella directory corrente ### tar -xvf public_html-14-09-12.tar## Untar file nella directory specificata ### tar -xvf public_html-14-09-12.tar -C /home/public_html/videos//home/public_html/videos/ /home/public_html/videos/views.php. /home/public_html/videos/index.php. /home/public_html/videos/logout.php. /home/public_html/videos/all_categories.php. /home/public_html/videos/feeds.xml
Per decomprimere tar.gz file di archivio, basta eseguire il seguente comando. Se desideriamo decomprimere in directory diverse, usa solo l'opzione -C e il percorso della directory, come mostrato nell'esempio sopra.
# tar -xvf miniature-14-09-12.tar.gz/home/public_html/videos/thumbnails/ /home/public_html/videos/thumbnails/katdeepika231110.jpg. /home/public_html/videos/thumbnails/katrinabarbiedoll231110.jpg. /home/public_html/videos/thumbnails/onceuponatime101125.jpg. /home/public_html/videos/thumbnails/playbutton.png. /home/public_html/videos/thumbnails/ReesewitherspoonCIA101202.jpg. /home/public_html/videos/thumbnails/snagItNarration.jpg. /home/public_html/videos/thumbnails/Minissha-Lamba.jpg. /home/public_html/videos/thumbnails/Lindsaydance101201.jpg. /home/public_html/videos/thumbnails/Mileyphoto101203.jpg
Per decomprimere il altamente compresso tar.bz2 file, basta usare il seguente comando. Il comando di esempio seguente decomprimerà tutti i .flv file dal file di archivio.
# tar -xvf videos-14-09-12.tar.bz2 /home/public_html/videos/flv/katrinabarbiedoll231110.flv. /home/public_html/videos/flv/BrookmuellerCIA101125.flv. /home/public_html/videos/flv/dollybackinbb4101125.flv. /home/public_html/videos/flv/JenniferRobert101130.flv. /home/public_html/videos/flv/JustinAwardmovie101125.flv. /home/public_html/videos/flv/Lakme-Fashion-Week.flv. /home/public_html/videos/flv/Mileyphoto101203.flv. /home/public_html/videos/flv/Minissha-Lamba.flv
Per elencare il contenuto del file di archivio tar, basta eseguire il seguente comando con option T (contenuto dell'elenco). Il comando seguente elencherà il contenuto del uploadprogress.tar file.
# tar -tvf uploadprogress.tar -rw-r--r-- chregu/staff 2276 2011-08-15 18:51:10 package2.xml. -rw-r--r-- chregu/staff 7877 2011-08-15 18:51:10 uploadprogress/examples/index.php. -rw-r--r-- chregu/staff 1685 2011-08-15 18:51:10 uploadprogress/examples/server.php. -rw-r--r-- chregu/staff 1697 2011-08-15 18:51:10 uploadprogress/examples/info.php. -rw-r--r-- chregu/staff 367 2011-08-15 18:51:10 uploadprogress/config.m4. -rw-r--r-- chregu/staff 303 2011-08-15 18:51:10 uploadprogress/config.w32. -rw-r--r-- chregu/staff 3563 2011-08-15 18:51:10 uploadprogress/php_uploadprogress.h. -rw-r--r-- chregu/staff 15433 2011-08-15 18:51:10 uploadprogress/uploadprogress.c. -rw-r--r-- chregu/staff 1433 2011-08-15 18:51:10 pacchetto.xml
Utilizzare il seguente comando per elencare il contenuto del tar.gz file.
# tar -tvf staging.tecmint.com.tar.gz -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-access_log. -rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.tecmint.com-access_log.1. -rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.tecmint.com-access_log.2. -rw-r--r-- root/root 156 21/12/2011 11:30:56 staging.tecmint.com-access_log.3. -rw-r--r-- root/root 156 20-11-2011 17:28:24 staging.tecmint.com-access_log.4. -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-error_log. -rw-r--r-- root/root 3981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1. -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.tecmint.com-error_log.2. -rw-r--r-- root/root 211 21/12/2011 11:30:56 staging.tecmint.com-error_log.3. -rw-r--r-- root/root 211 20-11-2011 17:28:24 staging.tecmint.com-error_log.4
Per elencare il contenuto del tar.bz2 file, emettere il seguente comando.
# tar -tvf Phpfiles-org.tar.bz2drwxr-xr-x root/root 0 2012-09-15 03:06:08 /home/php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 /home/php/iframe_ew.php. -rw-r--r-- root/root 11220 2012-09-15 03:06:08 /home/php/videos_all.php. -rw-r--r-- root/root 2152 2012-09-15 03:06:08 /home/php/rss.php. -rw-r--r-- root/root 3021 2012-09-15 03:06:08 /home/php/index.php. -rw-r--r-- root/root 2554 2012-09-15 03:06:08 /home/php/vendor.php. -rw-r--r-- root/root 406 2012-09-15 03:06:08 /home/php/video_title.php. -rw-r--r-- root/root 4116 2012-09-15 03:06:08 /home/php/report.php. -rw-r--r-- root/root 1273 2012-09-15 03:06:08 /home/php/object.html
Per estrarre un singolo file chiamato cleanfiles.sh a partire dal cleanfiles.sh.tar utilizzare il seguente comando.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh O. # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Per estrarre un singolo file tecmintbackup.xml dal tecmintbackup.tar.gz file di archivio, utilizzare il comando come segue.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml O. # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Per estrarre un singolo file chiamato index.php dal file Phpfiles-org.tar.bz2 utilizzare la seguente opzione.
# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php O. # tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
Per estrarre o decomprimere più file da catrame, tar.gz, e tar.bz2 file di archivio. Ad esempio, il comando seguente estrarrà "file 1” “file 2” dai file di archivio.
# tar -xvf tecmint-14-09-12.tar "file1" "file2"# tar -zxvf MyImages-14-09-12.tar.gz "file1" "file2"# tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"
Per estrarre un gruppo di file usiamo basato su caratteri jolly estrazione. Ad esempio, per estrarre un gruppo di tutti i file il cui pattern inizia con .php da un tar, tar.gz e tar.bz2 file di archivio.
# tar -xvf Phpfiles-org.tar --wildcards '*.php'# tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php'# tar -jxvf Phpfiles-org.tar.bz2 --caratteri jolly '*.php' /home/php/iframe_ew.php. /home/php/videos_all.php. /home/php/rss.php. /home/php/index.php. /home/php/vendor.php. /home/php/video_title.php. /home/php/report.php. /home/php/video.php
Per aggiungere file o directory ai file di archivio tar esistenti usiamo l'opzione R (aggiungere). Ad esempio, aggiungiamo file xyz.txt e directory php all'esistente tecmint-14-09-12.tar file di archivio.
# tar -rvf tecmint-14-09-12.tar xyz.txt# tar -rvf tecmint-14-09-12.tar phpdrwxr-xr-x root/root 0 2012-09-15 02:24:21 home/tecmint/ -rw-r--r-- root/root 15740615 2012-09-15 02:23:42 home/tecmint/cleanfiles.sh. -rw-r--r-- root/root 863726 2012-09-15 02:23:41 home/tecmint/openvpn-2.1.4.tar.gz. -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 home/tecmint/tecmint-14-09-12.tar. -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm. -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm.-rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txtdrwxr-xr-x root/root 0 2012-09-15 03:06:08 php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 php/iframe_ew.php - rw-r--r-- radice/radice 11220 2012-09-15 03:06:08 php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 php/rss.php -rw-r--r -- radice/radice 3021 2012-09-15 03:06:08 php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 php/video_title.php
Il comando tar non ha un'opzione per aggiungere file o directory a un file compresso esistente tar.gz e tar.bz2 file di archivio. Se proviamo otterremo il seguente errore.
# tar -rvf MyImages-14-09-12.tar.gz xyz.txt# tar -rvf Phpfiles-org.tar.bz2 xyz.txt tar: questo non sembra un archivio tar. tar: salta all'intestazione successiva. xyz.txt. tar: Uscita errore ritardata da errori precedenti
Per verificare qualsiasi file tar o archiviato compresso usiamo l'opzione W (verificare). Per fare ciò, usa i seguenti esempi di comandi. (Nota: Non è possibile eseguire la verifica su un file compresso ( *.tar.gz, *.tar.bz2 ) archivio).
# tar tvfW tecmint-14-09-12.tar tar: questo non sembra un archivio tar. tar: salta all'intestazione successiva. tar: l'archivio contiene intestazioni base 64 obsolete. tar: VERIFY FAILURE: rilevate 30740 intestazioni non valide. Verificare -rw-r--r-- root/root 863726 2012-09-15 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz. Verificare -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 /home/tecmint/tecmint-14-09-12.tar. tar: /home/tecmint/tecmint-14-09-12.tar: Avvertimento: Impossibile stat: nessun file o directory di questo tipo. Verificare -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm. tar: /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm: Avvertimento: Impossibile stat: nessun file o directory di questo tipo. Verificare -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm. tar: /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Avvertenza: impossibile stat: nessun file o directory di questo tipo. Verifica -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt. Verifica drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/
Per controllare la dimensione di qualsiasi catrame, tar.gz, e tar.bz2 file di archivio, utilizzare il seguente comando. Ad esempio, il comando seguente visualizzerà la dimensione del file di archivio in Kilobyte (KB).
# tar -czf - tecmint-14-09-12.tar | wc -c 12820480 # tar -czf - MyImages-14-09-12.tar.gz | wc -c 112640 # tar -czf - Phpfiles-org.tar.bz2 | wc -c 20480
Per ora è tutto, spero quanto sopra esempi di comandi tar sono sufficienti per imparare, e per ulteriori informazioni si prega di utilizzare il uomo tar comando.
Se stai cercando di dividere qualsiasi file di archivio tar di grandi dimensioni in più parti o blocchi, leggi questo articolo:
Da non perdere:Dividi un archivio "tar" di grandi dimensioni in più file di determinate dimensioni
Se abbiamo perso qualche esempio, condividilo con noi tramite la casella dei commenti e non dimenticare di condividere questo articolo con i tuoi amici. Questo è il modo migliore per dire grazie…..