Come si gzippa una directory in Linux? Sicuramente non sta usando il comando gzip perché se provi a comprimere una cartella usando il comando gzip, vedrai questo errore:
gzip:target è una directory -- ignorata
Interessante, vero? Il comando gzip non può comprimere una directory perché essenzialmente gzip funziona su singoli file, non sull'intera cartella.
Cosa puoi fare ora? Come comprimere con gzip un file in Linux? Ecco cosa puoi fare.
gzip una directory usando il comando tar
Invece di provare a comprimere direttamente la cartella, dovresti prima usare tar su di essa. Il comando tar raccoglierà tutti i file in un unico file di archivio. Non comprime il file stesso.
Se combini tar con gzip, il comando tar creerà un singolo file di archivio dalla cartella e quindi gzip comprimerà questo file di archivio.
La cosa buona è che puoi eseguire entrambi questi passaggi in un unico comando usando l'opzione z. Il comando è simile a questo:
tar -zcvf output_file_name directory_to_compress
Lascia che ti spieghi le opzioni utilizzate nel comando precedente:
- z – dice a tar che ha a che fare con gzip file
- c – dice a tar di creare il file di archivio
- v – modalità dettagliata che mostra quali file vengono elaborati
- f – l'output è un file
Esempio di utilizzo di tar e gzip per comprimere una cartella
Diciamo che ho un mucchio di file in una directory. Se uso il comando du per ottenere la dimensione della directory, è 204 KB.
du -sh sample_text_files
204K sample_text_files
Ora se comprimo gzip la cartella:
tar -cvzf sample_text_archive sample_text_files
sample_text_files/
sample_text_files/sample_rar.rar
sample_text_files/test/
sample_text_files/dir2/
sample_text_files/dir2/services
sample_text_files/dir2/agatha.txt
sample_text_files/abhi-3.txt
Ora, se controllo la dimensione della cartella compressa usando il comando ls, sono appena 10 KB.
ls -lh sample_text_archive
-rw-r--r-- 1 abhishek abhishek 9.6K Apr 11 11:41 sample_text_archive
Tieni a mente quando usi il comando tar e gzip
Dovresti notare un paio di cose mentre usi il comando tar:
È importante fornire il nome del file nel comando, altrimenti vedrai questo errore:
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
Se non utilizzi affatto l'opzione -f, vedrai comunque un errore, questa volta diverso.
tar: Refusing to write archive contents to terminal (missing -f option?)
tar: Error is not recoverable: exiting now
Spero che questo comando ti abbia aiutato a gzippare una directory in Linux e che tu abbia anche imparato alcune cose correlate su tar e compressione. Ora che sai come comprimere una cartella, forse ti piacerebbe leggere come estrarre il file tar xz in Linux.
Eventuali domande, suggerimenti o una semplice parola di ringraziamento sono sempre ben accetti.