GNU/Linux >> Linux Esercitazione >  >> Linux

Compressione e archiviazione di file e directory

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:

  1. Zip
  2. bZip2
  3. 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:

  1. -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:


1. Creazione di un archivio tar non compresso utilizzando l'opzione -cvf :

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

2. Estrazione di file dall'archivio utilizzando l'opzione -xvf :

Questo comando estrae i file dagli archivi.

 tar xvf file.tar

3. compressione gzip sull'archivio tar, usando l'opzione -z :

Questo comando crea un file tar chiamato file.tar.gz che è l'Archivio dei file .c.

 tar cvzf file.tar.gz *.c

4. Estrazione di un archivio gzip tar *.tar.gz usando l'opzione -xvzf : Questo comando estrae anche i file dai file file.tar.gz archiviati tar.

 tar xvzf file.tar.gz

5. Creazione di un file di archivio tar compresso in Linux utilizzando l'opzione -j :

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

6. Annulla untar file tar singolo o directory specificata in Linux : Questo comando decomprimerà un file nella directory corrente oltre a decomprimerlo in una directory specificata usando l'opzione -C.

 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"

8. Controlla le dimensioni dei file tar, tar.gz, tar.tbz esistenti in Linux

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

9. Aggiorna il file tar esistente in Linux

 tar rvf file.tar *.c

10. elenca il contenuto e specifica il file tar usando l'opzione -tf

Questo comando elencherà l'intero elenco di file archiviati. Possiamo anche elencare contenuti specifici in un file tar

 tar tf file.tar

11. Applicazione di pipe al comando through grep' per trovare ciò che stiamo cercando

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"

12. Possiamo passare un nome di file come argomento per cercare un file tar

Questo comando visualizza i file archiviati insieme ai relativi dettagli.

 tar tvf file.tar filename
Example:
 tar tvf file.tar unixcop1.c

13. Visualizzazione dell'archivio utilizzando l'opzione -tvf

 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 :

14. Per cercare un'immagine in formato .png

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.


Linux
  1. Un modo semplice per nascondere file e directory in Linux

  2. Come comprimere file e directory su Linux (con esempi)

  3. Trova file e directory in Linux come un professionista

  4. Come archiviare file e directory in Linux [Parte 2]

  5. Impostazione di ACL diversi su directory e file

Come comprimere e decomprimere file su Ubuntu

Come sincronizzare file e directory utilizzando Zaloha.sh

3 modi per trovare file e directory in Linux

Risparmia spazio comprimendo file e cartelle in Linux

Trova facilmente file e directory su Linux

File e directory predefiniti in cPanel