Il comando tar è l'abbreviazione di archivio su nastro inLinux. Questo comando viene utilizzato per creare l'archivio ed estrarre i file di archivio. In Linux , è uno dei comandi essenziali che facilitano la funzionalità di archiviazione. Possiamo usare questo comando per creare file di archivio non compressi e compressi e anche modificarli e mantenerli.
Tar è un'utilità del software per computer che consente di raccogliere diversi file in un unico file di archivio informatico. Spesso è noto come tarball per scopi di backup e distribuzione. Il titolo viene acquisito da 'archivio su nastro' perché è stato effettivamente sviluppato per specificare i dati su dispositivi I/O sequenziali che non utilizzano nessuno dei loro file system. I gruppi di dati di archivio creati da tar includono molti parametri del file system come organizzazione delle directory, autorizzazione di accesso ai file, proprietà, timestamp e nome. A favore di pax, POSIX ha abbandonato tar, ma tar vede ancora un uso diffuso.
Innanzitutto fu annunciato nella versione 7 Unix nel gennaio 1979, in sostituzione del programma tp. Per archiviare i dati, la struttura dei file è stata standardizzata in POSIX.1-1988 e successivamente POSIX.1-2001 ed è diventata un modello supportato da quasi tutti i moderni sistemi di archiviazione di file. I sistemi operativi simili a Unix generalmente contengono strumenti per supportare i file tar e utilità utilizzate per comprimerli, come bzip2 e gzip.
Dall'aggiornamento Microsoft del 10 aprile 2018, BSD-tar è stato contenuto in Microsoft Windows e sono disponibili due o più strumenti di terze parti per leggere e scrivere questi pattern su Windows.
Formati di file di tar
Sono disponibili molti formati di file tar, inclusi quelli attuali e storici. In POSIX sono scritti due formati tar: pax e ustar.
Intestazione
Il record dell'intestazione del file include i metadati di un file. Nel record di intestazione, le informazioni sono codificate negli standard ASCII per garantire flessibilità tra architetture distinte utilizzando ordinamenti di byte distinti. Pertanto, se ogni file è un file di testo ASCII in un archivio e contiene nomi ASCII, l'archivio è un file di testo ASCII (con diversi caratteri NUL).
Nella tabella seguente sono menzionati diversi campi, definiti dall'effettivo formato tar Unix. La tabella del tipo di file/indicatore di collegamento contiene alcune estensioni moderne. Un campo viene riempito con vari byte NUL se non è utilizzato.
Intestazione tar pre-POSIX.1-1988:
Campo | Dimensione del campo | Scostamento del campo |
---|---|---|
Nome del file | 100 | 0 |
Modalità file | 8 | 100 |
ID utente numerico del proprietario | 8 | 108 |
ID utente numerico del gruppo | 8 | 116 |
Dimensione del file in byte | 12 | 124 |
Ora dell'ultima modifica sotto forma di ora numerica Unix | 12 | 136 |
Checksum per il record di intestazione | 8 | 148 |
Indicatore di collegamento | 1 | 156 |
Nome del file collegato | 100 | 157 |
Formato Ustart
Nel formato Ustar, quasi tutti i moderni programmi tar scrivono e leggono archivi, annunciato dallo standard POSIX IEEE P1003.1 del 1988. Ha introdotto campi di intestazione aggiuntivi. I precedenti programmi tar eviterebbero le informazioni aggiuntive, ma i nuovi programmi controlleranno la presenza della stringa 'Ustar' per decidere se è in uso il formato più recente.
Campo | Dimensione del campo | Scostamento del campo |
---|---|---|
Molti campi, come nel formato precedente | 156 | 0 |
Tipo bandiera | 1 | 156 |
Campo simile al formato precedente | 100 | 157 |
'Ustar' Indicatore Ustar, quindi NUL | 6 | 257 |
'00' Versione Ustar | 2 | 263 |
Nome utente del proprietario | 32 | 265 |
Nome del gruppo del proprietario | 32 | 297 |
Numero maggiore del dispositivo | 8 | 329 |
Numero minore del dispositivo | 8 | 337 |
Prefisso del nome file | 155 | 3.4.5 |
POSIX.1-2001/pax
Sun ha proposto una tecnica per aggiungere estensioni a un formato tar nel 1997. Successivamente è stata approvata per lo standard POSIX.1-2001. Il formato è chiamato formato pax o formato tar esteso. Alcuni tag sono specificati dallo standard POSIX, inclusi mtime, atime, linkpath, gname, uname, sizes, gid, uid e una definizione di set di caratteri per nomi di gruppo/utente e nomi di percorso.
Implementazioni chiave di tar
Le implementazioni chiave sono menzionate nell'ordine di origine:
Inoltre, la maggior parte delle implementazioni cpio e pax possono creare e leggere due o più tipi di file tar.
Sintassi del comando tar:
tar [options] [archive-file] [directory or file to be archived]
Opzioni nel comando tar
Di seguito sono elencate varie opzioni nel comando tar:
Introduzione al file di archivio
Il file di archivio può essere definito come un file che contiene più file con metadati. Questi file vengono utilizzati per raccogliere più di un file di dati insieme in un singolo file per facilitarne l'archiviazione e la portabilità. Può essere utilizzato anche per comprimere file per consumare meno spazio di archiviazione.
Esempi di comando tar
Alcuni degli esempi importanti ampiamente utilizzati nel comando tar sono i seguenti:
1. Creare un archivio tar non compresso con l'opzione -cvf
Questa opzione rende un file tar noto come file.tar . È l'archivio di ogni file .txt al suo interno miadir directory.
Il comando è il seguente:
$ tar cvf file.tar *.txt
2. Estrazione dei file tramite l'archivio con l'opzione -xvf
Questa opzione può estrarre file tramite archivi.
Il comando è il seguente:
$ tar xvf file.tar
3. compressione gzip sull'archivio tar con l'opzione -z
Questa opzione rende un file tar noto come file.tar.gz. È l'archivio di ogni file .txt.
Il comando è il seguente:
$ tar cvzf file.tar.gz *.txt
4. Estrazione dell'archivio tar gzip con l'opzione -xvzf
Questa opzione può estrarre i file tramite i file archiviati file.tar.gz tar.
Il comando è il seguente:
$ tar xvzf file.tar.gz
5. Creare file tar compressi con l'opzione -j
Questa opzione ci aiuterà a creare e comprimere file di archivio. Sia la decompressione che la compressione richiedono più tempo rispetto a gzip.
Il comando è il seguente:
$ tar cvfj file.tar.tbz hello1.txt
6. Decomprimere la singola directory o file specificato in Linux
Questa opzione viene utilizzata per decomprimere qualsiasi file nella nostra directory corrente o all'interno della directory specificata con l'opzione -C.
Il comando è il seguente:
$ tar -xvf file.tar -C file's path in the directory
O,
$ tar -xvf file.tar
7. Decomprimere più file .tar.tbz, .tar.gz, .tar in Linux
Questa opzione ci aiuterà a farlo diffusione oppure estrai più di un file da tar.bz2, tar.gz e un file di archivio tar.
L'esempio di questa opzione è il seguente:
$ tar -jxvf file.tar.tbz 'hello1.txt'
O,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
O,
scanner java
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Controllare la dimensione del file tar.tbz, tar.gz, tar esistente
Il comando ci aiuterà a mostrare la dimensione del file di archivio in kilobyte (KB) menzionata sopra.
Il comando è il seguente:
$ tar -czf - file2.tar.tbz | wc -c
O,
$ tar -czf - file1.tar.gz | wc -c
O,
$ tar -czf - file.tar | wc -c
9. Aggiorna il file tar esistente
In Linux, il comando per aggiornare un file tar esistente è il seguente:
$ tar rvf file.tar *.txt
10. Elenco dei contenuti e descrizione del file tar con l'opzione tf
Questa opzione ci aiuterà a elencare l'intero elenco dei file di archivio. Inoltre, possiamo elencare contenuti particolari all'interno di qualsiasi file tar.
Il comando è il seguente:
$ tar tf file.tar
11. Visualizza l'archivio con l'opzione -tvf
In Linux, possiamo usare l'opzione -tvf per visualizzare l'archivio.
Il comando è il seguente:
$ tar -tvf file.tar
12. Passare il nome del file come argomento per trovare un file tar
Questa opzione può visualizzare i file archiviati con le loro informazioni.
Il comando è il seguente:
$ tar tvf file.tar filename
13. Usare pipe per lanciare il 'comando grep' per cercare ciò che stiamo cercando
Questa opzione ci aiuterà a elencare solo l'immagine o il testo menzionati presa attraverso file archiviati.
Il comando è il seguente:
$ tar tvf file.tar | grep 'filename.file'
O,
$ tar tvf file.tar | grep 'text to search'
Introduzione ai caratteri jolly
In alternativa, i caratteri jolly vengono definiti caratteri jolly o caratteri jolly in Linux. È un simbolo utilizzato per rappresentare o sostituire più caratteri.
In genere, i caratteri jolly sono un punto interrogativo (?) che illustra un singolo carattere o un asterisco (*) che illustra più caratteri.
Esempio-
14. Trova un'immagine in formato .webp
Ci aiuterà ad estrarre solo i file con l'estensione .webp dall'archivio file.tar. L'opzione -wildcards informa tar di interpretare i caratteri jolly nel nome del file da estrarre.
Il nome del file (*.webp) è racchiuso tra virgolette singole per proteggere il carattere jolly (*) dall'errata espansione di qualsiasi shell.
Il comando è il seguente:
$ tar tvf file.tar --wildcards '*.webp'
Nota: nel comando precedente, il simbolo '*' viene applicato nella posizione del nome del file per prendere ogni file disponibile in quella directory specifica.
15. Elimina i file dall'archivio tar
Possiamo usare l'opzione --delete per rimuovere file e un archivio tar.
Il comando è il seguente:
$ tar --delete -f archive.tar file_name
Esempio:
tar -delete -f file.tar hello1.txt
Produzione:
ciao1.txt il file è stato rimosso dall'archivio file.tar: