Introduzione all'archiviazione e compressione Linux
Archiviazione è il processo di combinazione di più file e directory (di dimensioni uguali o diverse) in un unico file. al secondo posto compressione è il processo di riduzione delle dimensioni di un file o di una directory.
Spero che tu capisca la differenza tra archiviazione e compressione. Quindi ora entriamo nell'argomento.
Archivi e directory
I programmi più comuni per l'archiviazione di file e directory sono:
- Zip
- bZip2
- Catrame
Comando ZIP in Linux con esempi
ZIP è un'utilità di compressione e confezionamento di file per Unix. Inoltre, ogni file è archiviato in un file single.zip {.zip-filename} con estensione .zip .
- Il programma zip inserisce uno o più file compressi in un unico archivio zip, insieme alle informazioni sui file (nome, percorso, data e ora dell'ultima modifica, protezione e informazioni di controllo per verificare l'integrità del file). Quindi un intero la struttura della directory può essere impacchettata in un archivio zip con un solo comando.
- I rapporti di compressione da 2:1 a 3:1 sono comuni per i file di testo. zip ha un metodo di compressione (deflazione) e può anche memorizzare file senza compressione. Oltre a zip sceglie automaticamente il migliore dei due per ogni file da comprimere.
Il programma non è utile solo per impacchettare un set di file per la distribuzione, ma anche per archiviare file e per risparmiare spazio su disco comprimendo temporaneamente file o directory inutilizzati.
Sintassi :
zip [options] zipfile files_list
Sintassi per Creazione di un file zip:
zip myfile.zip filename.txt
Estrazione di file dal file zip
In effetti Unzip elencherà, testerà o estrarrà file da un archivio ZIP, che si trova comunemente sui sistemi Unix. Il comportamento predefinito (senza opzioni) è estrarre nella directory corrente (e nelle sottodirectory sotto di essa) tutti i file dalla directory specificata Archivio ZIP.
unzip myfile.zip
Opzioni :
1. -d Opzione:
Rimuove il file dall'archivio zip. Dopo aver creato un file zip, puoi rimuovere un file dall'archivio usando l'opzione -d.
Quindi supponiamo i seguenti file nella directory corrente:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
unixcop5.c
unixcop6.c
unixcop7.c
unixcop8.c
Sintassi:
zip –d filename.zip file.txt
Command :
zip –d myfile.zip unixcop7.c
Dopo aver rimosso unixcop7.c dal file myfile.zip, i file possono anche essere ripristinati con il comando unzip.
unzip myfile.zip
ls
2.Opzione-u:
Aggiorna il file nell'archivio zip. Questa opzione può essere utilizzata anche per aggiornare l'elenco di file specificato o aggiungere nuovi file al file zip esistente.
Sintassi:
zip –u filename.zip file.txt
allo stesso modo supponiamo di avere questi file nella mia directory corrente elencati di seguito:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
Command :
zip –u myfile.zip unixcop5.c
Dopo aver aggiornato unixcop5.c dal file myfile.zip, i file possono anche essere ripristinati con il comando unzip.
Commands:
unzip myfile.zip
ls
3. Opzione -m:
Elimina i file originali dopo la compressione e puoi anche spostare i file specificati nell'archivio zip in realtà, questo elimina le directory/file di destinazione dopo aver creato l'archivio zip specificato. Se una directory diventa vuota dopo la rimozione dei file, viene rimossa anche la directory.
Sintassi :
zip –m filename.zip file.txt
abbiamo i seguenti file nella mia directory corrente sono elencati di seguito:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
Command :
zip –m myfile.zip *.c
Di conseguenza questo comando è stato eseguito dal terminale :
ls
4.-r Opzione:
Per comprimere ricorsivamente una directory, utilizzare l'opzione -r con il comando zip e comprimerà ricorsivamente i file in una directory. Questa opzione può anche aiutarti a comprimere tutti i file presenti nella directory specificata.
Sintassi:
zip –r filename.zip directory_name
Abbiamo anche i file nella mia directory corrente (documenti) sono elencati di seguito:
unix.pdf
oracolo.pdf
linux.pdf
zip –r mydir.zip docs
5. Opzione -x:
Altrettanto importante escludere i file durante la creazione dello zip. Supponiamo che tu stia zippando tutti i file nella directory corrente e desideri escludere alcuni file indesiderati. Puoi anche escludere questi file indesiderati usando l'opzione -x.
Sintassi:
zip –x filename.zip file_to_be_excluded
Supponiamo inoltre che i file nella directory corrente siano elencati di seguito:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
Command :
zip –x myfile.zip unixcop3.c
Questo comando durante l'esecuzione comprimerà tutti i file tranne il file unixcop3.c
Command:
ls
Output :
myfile.zip //compressed file
unixcop3.c //this file has been excluded while compressing
6.-v Opzione:
Modalità dettagliata o stampa informazioni sulla versione diagnostica. Normalmente, quando applicata a operazioni reali, questa opzione abilita la visualizzazione di un indicatore di avanzamento durante la compressione e richiede informazioni diagnostiche dettagliate sulle stranezze della struttura del file zip.
Quando -v è l'unico argomento della riga di comando e stdin o stdout non vengono reindirizzati a un file, viene stampata una schermata di diagnostica. Oltre all'intestazione della schermata della guida con il nome del programma, la versione e la data di rilascio, vengono forniti alcuni riferimenti alla home page di Info-ZIP e ai siti di distribuzione. Quindi, mostra le informazioni sull'ambiente di destinazione (tipo e versione del compilatore, versione del sistema operativo, data di compilazione e le funzionalità opzionali abilitate utilizzate per creare l'eseguibile zip.
Sintassi:
zip –v filename.zip file1.txt
Come elencato di seguito:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
zip -v file1.zip *.c
comando bzip2 in Linux con esempi
bzip2 comando in Linux utilizzato per comprimere e decomprimere i file, ovvero aiuta a legare i file in un unico file che occupa meno spazio di archiviazione rispetto al file originale. Inoltre ha un tempo di decompressione più lento e un maggiore utilizzo della memoria. Oltre a esso può anche utilizzare l'algoritmo di compressione del testo per l'ordinamento dei blocchi di Burrows-Wheeler e la codifica Huffman. Ogni file viene sostituito da una versione compressa di se stesso, con il nome originale del file seguito dall'estensione bz2.
Sintassi per la compressione:
bzip2 [OPTIONS] filenames ...
Sintassi di disimballaggio :
bunzip2 [OPTIONS] filenames ...
Opzioni:
- -z Opzione : Questa opzione forza la compressione.
bzip2 -z input.txt
Esempio:
- Nota: Questa opzione elimina anche il file originale.
- 2. Opzione -k: Questa opzione esegue la compressione ma non elimina il file originale.
bzip2 -k input.txt
Esempio:
3. -d Opzione:
di conseguenza questa opzione viene utilizzata per la decompressione di file compressi.
bzip2 -d input.txt.bz2
Esempio:
4. Opzione -t :
Questa opzione esegue il controllo di integrità del file e non decomprime il file. Può anche darci l'idea che il file sia danneggiato o meno.
bzip2 -t input.txt.bz2
Esempio:
5.-v Opzione: La modalità dettagliata mostra il rapporto di compressione per ogni file elaborato.
bzip2 -v input.txt
Esempio:
- -h –help : Per visualizzare il messaggio di aiuto ed uscire.
- -L –licenza -V –versione :Viene utilizzato per visualizzare la versione del software, i termini della licenza oltre alle condizioni.
- -q –silenzioso :eliminerà i messaggi di avviso non essenziali. Anche i messaggi relativi a errori di I/O e altri eventi critici non verranno eliminati.
- -f –forza :forzerà la sovrascrittura dei file di output.
comando tar in Linux con esempi
Il "tar" di Linux sta per archivio su nastro, utilizzato per creare l'archivio e anche estrarre i file di archivio. Il comando tar in Linux è uno dei comandi importanti che fornisce funzionalità di archiviazione in Linux. Possiamo usare il comando tar di Linux per creare file di archivio compressi o non compressi e anche mantenerli e modificarli.
Sintassi:
tar [options] [archive-file] [file or directory to be archived]
Opzioni:
-c : Crea archivio
-x : Estrarre l'archivio
-f : crea un archivio con un nome file specificato
-t : visualizza o elenca i file nel file archiviato
-u : archivi e si aggiunge a un file di archivio esistente
-v : Visualizza informazioni dettagliate
-A : Concatena i file di archivio
-z : zip, dice al comando tar che crea il file tar usando gzip
-j : filtrare il file tar di archivio usando tbzip
-W : Verifica un file di archivio
-r : aggiorna o aggiungi file o directory in un file .tar già esistente
Cos'è un file di archivio?
Un file di archivio è un file composto da uno o più file insieme ai metadati. I file di archivio vengono utilizzati per raccogliere più file di dati in un unico file per una più facile portabilità e archiviazione, quindi è sufficiente comprimere i file per utilizzare meno spazio di archiviazione.
Esempi:
Questo comando crea un file tar chiamato file.tar che è l'Archivio di tutti i file .c nella directory corrente.
tar cvf file.tar *.c
Questo comando estrae i file dagli archivi.
tar xvf file.tar
Questo comando crea un file tar chiamato file.tar.gz che è l'Archivio dei file .c.
tar cvzf file.tar.gz *.c
tar xvzf file.tar.gz
Questo comando comprime e crea un file di archivio di dimensioni inferiori a gzip. Sia la compressione che la decompressione richiedono più tempo di gzip .
tar cvfj file.tar.tbz example.cpp
tar xvfj file.tar
or
tar xvfj file.tar -C path of file in directoy
7. Untar più file .tar, .tar.gz, .tar.tbz in Linux
Questo comando estrarrà o decomprimerà più file dal file di archivio tar, tar.gz e tar.bz2. Quindi, ad esempio, il comando precedente estrarrà "fileA" "fileB" dai file di archivio.
tar xvf file.tar "fileA" "fileB"
or
tar zxvf file1.tar.gz "fileA" "fileB"
or
tar jxvf file2.tar.tbz "fileA" "fileB"
Questo comando visualizzerà la dimensione del file di archivio in Kilobyte (KB).
tar czf file.tar | wc -c or tar czf file.tar.gz | wc -c or tar czf file.tar.tbz | wc -c
tar rvf file.tar *.c
Questo comando elencherà l'intero elenco di file archiviati. Possiamo anche elencare contenuti specifici in un file tar
tar tf file.tar
Questo comando elencherà solo il testo o l'immagine menzionati in grep dal file archiviato.
tar tvf file.tar | grep "text to find"
or
tar tvf file.tar | grep "filename.file extension"
Example:
tar tvf file.tar | grep "unixcop1"
Questo comando visualizza i file archiviati insieme ai relativi dettagli.
tar tvf file.tar filename Example: tar tvf file.tar unixcop1.c
tar tvf file.tar
Cosa sono i caratteri jolly in Linux
Di conseguenza denominato "carattere jolly" o "carattere jolly", un carattere jolly è un simbolo utilizzato per sostituire o rappresentare uno o più caratteri. I caratteri jolly sono in genere un asterisco (*) , che rappresenta uno o più caratteri o punto interrogativo (?) ,che rappresenta un singolo carattere.
Esempio :
Questo estrarrà solo i file con estensione .png dall'archivio file.tar. L'opzione caratteri jolly dice anche a tar di interpretare i caratteri jolly nel nome dei file da estrarre inoltre il nome del file (*.png) è racchiuso tra virgolette singole per evitare che il carattere jolly (*) venga espanso in modo errato dalla shell.
tar tvf file.tar --wildcards '*.png'
Nota: Nei comandi precedenti ” * ” viene utilizzato al posto del nome del file per prendere tutti i file presenti in quella particolare directory.