salta alla navigazione

Linux formati di compressione e decompressione su terminale 21 dicembre 2006 - 2:21

Inviato da Antonio De Luci (imu) in : Debian, Linux, O.S. Revolution, Only Nerd, Tips , trackback

formati zip rar tar gzip bzip2

Spiegherò brevemente l’uso su terminale dei programmi di compressione e decompressione che si potrebbero più comunemente incontrare su Linux, ma bisogna tenere presente che l’installazione di questi programmi da la possibilità di gestire i vari formati ai tools grafici come file-roller per Gnome e karchiver per Kde.

NOTA
Si consiglia comunque di leggere i manuali dei rispettivi programmi per approfondimenti ed altre opzioni non elencate

Zip

Formato usato principalmente su Windows con la famosa utility WinZip, possiamo incontrarlo scaricando allegati per email con amici che usano quel O.S., oppure nel web quando scarichiamo manuali o file .

Parametri importanti

Tipo di Compressione : opzioni disponibili da -1 = leggera a -9 = migliore

-r per directory

Installazione su Debian :

$ sudo apt-get install zip

Uso su Terminale

Decompressione

$ unzip file.zip

Compressione di un file

$ zip nome_archivio.zip file

Compressione di più file

$ zip nome_archivio.zip file file1 file2 file3

Compressione di directory

$ zip -r nome_archivio.zip direrctory

Compressione di 2 o più directory

$ zip -r nome_archivio.zip dir1 dir2

Compressione directory + file

$ zip -r nome_archivio.zip dir1 dir2 file1 file2

RaR

Anche questo formato di compressione proviene da Windows, migliore in compressione ripsetto al fomrato zip, sicuramente meno usato, ricordate che è in verione SHAREWARE, l’alternativa è installare unrar-free le opzioni cambiano leggermente e non è possibile creare archivi ma solo estrarli.

Differenze tra rar ed unrar-free

Comando rar unrar-free
Licenza Shareware Free
Creare archivio a non disponibile
Estrarre x -x
Settare passwd p -p

Parametri importanti

Tipo di Compressione da m0 = leggera a m5 = migliore

Installazione su Debian :

$ sudo apt-get install rar

$ sudo ln -s /usr/bin/rar /usr/bin/unrar

Uso su Terminale

Decompressione archivio singolo

$ rar x file.rar

Decompressione multiarchivio

Attenzione alla decompressione dei multi-archivi rar, per decomprimerli basta estrarre il primo numericamente dei file che compongono l’archivio e le parti devono essere tutte presenti nella stessa directory, esempio : archivio-part1.rar archivio-part2.rar archivio-part3.rar

$ rar x archivio-part1.rar

Compressione di un file

$ rar a nome_archivio.rar file

Compressione di più file

$ rar a nome_archivio.rar file file1 file2 file3

Compressione di directory

$ rar a nome_archivio.rar direrctory

Compressione di 2 o più directory

$ rar a nome_archivio.rar dir1 dir2

Compressione directory + file

$ rar a nome_archivio.rar dir1 dir2 file1 file2

Compressione di archivi sia di file che directory che misti con passwd:

$ rar a -p nome_archivio.rar directory file
inserire passwd
ripetere passwd

Decompressione di archivi con passwd:

$ rar x -p nome_archivio.rar
inserire passwd
ripetere passwd

Compressione e creazione archivio autoestraentefile directory e misti estensione .exe

Ottimo se si vuole inviare l’archivio ad un amico con Windows senza che abbia il programma WinRar installato, del tutto inutile su Linux!!!

$ rar a -sfx nome_archivio.exe directory file

Estrazione archivio rar autoestraente estensione .exe

Potrebbe capitare di scaricarlo da internet o riceverne uno da qualche amico ( di pazzi ce ne sono!!! ) !!!

$ rar x archivio_rar_autoestraente.exe

Gzip

Programma di compressione per singoli file, niente directory, il suo nome deriva dall’unione di queste due parole GNU ZIP

Per poter gzippare le directory o due e più file si usa il programma tar che spiegherò più avanti

Parametri importanti

Tipo di Compressione : opzioni disponibili da -1 = leggera a -9 = migliore

-r gzippare file ricorsivamente dentro le directory

-d per estrarre | oppure gunzip

Installazione su Debian :

$ sudo apt-get install gzip

Uso su Terminale

Decompressione

$ gunzip file.gz

oppure

$ gzip -d file.gz

Compressione di un file

$ gzip file

Compressione ricorsiva di file di una directory

Ritroveremo nella directory indicatagli al programma gzip tutti i file compressi con estensione .gz

$ gzip -r direrctory

Deompressione ricorsiva di file di una directory

$ gzip -d direrctory

NOTA:
Anche se usa l’algoritmo Deflate come i file zip, è sconsigliato l’uso su di essi vi riporto le note sul sito ufficiale :
[...]

Can gunzip extract a .zip archive?
No. Use unzip instead. For Windows, use PowerArchiver 6.1 or WiZ or 7-zip (freeware) or or Winzip (commercial)

[...]

Bzip2

Il miglior programma in termini di compressione completamente Open Source per singolo file.

Per poter bzippare le directory o due e più file si usa il programma tar che spiegherò più avanti

Parametri importanti

Tipo di Compressione : opzioni disponibili da -1 = leggera a -9 = migliore

-d per estrarre | oppure bunzip

Installazione su Debian :

$ sudo apt-get install bzip2

Uso su Terminale

Decompressione

$ bzip2 -d file.bz2

oppure

$ bunzip file.bz2

Compressione di un file

$ bzip2 file

Compressione ricorsiva di file di una directory

Ritroveremo nella directory indicatagli usando l’asterisco come wildcard al programma bzip2 tutti i file compressi con estensione .bz2

$ bzip2 direrctory/*

Decompressione ricorsiva di file di una directory

$ bzip2 -d direrctory/*

Tar

Questo è un programma di archiviazione di file, cioè riesce ad inserire in un unico file un numero elevato di file, purtroppo non è un programma di compressione e per farlo usa altri programmi gzip, bzip2. Il file risultante viene comunemente chiamato tarball, naturalmente come riesce a sfuttare la compressione di altri programmi sfrutta anche la loro decompressione.

Parametri importanti

-z usa gzip

-j usa bzip2

-f file

-c crea

-x estrai

-v visualizza avanzamento

Installazione su Debian :

$ sudo apt-get install tar

Uso su Terminale

Decompressione file .tar

$ tar xvf file.tar

Decompressione file .tar.gz

$ tar xzvf file.tar.gz

Decompressione file .tar.bz2

$ tar xjvf file.tar.bz2

Archivizione di un file

$ tar cf nome_archivio.tar file

Archivizione e compressione di un file con gzip

$ tar cfz nome_archivio.tar.gz file

Archivizione e compressione di un file con bzip2

$ tar cfj nome_archivio.tar.bz2 file

Archiviazione di più file

$ tar cf nome_archivio.tar file file1 file2 file3

Archiviazione e compressione di più file con gzip

$ tar cfz nome_archivio.tar.gz file file1 file2 file3

Archiviazione e compressione di più file con bzip2

$ tar cfj nome_archivio.tar.bz2 file file1 file2 file3

Archiviazione di una directory

$ tar cf nome_archivio.tar direrctory

Archiviazione e compressione di una directory con gzip

$ tar cfz nome_archivio.tar.gz directory

Archiviazione e compressione di una directory con bzip2

$ tar cfj nome_archivio.tar.bz2 direrctory

Archiviazione di 2 o più directory

$ tar cf nome_archivio.tar dir1 dir2

Archiviazione e compressione di 2 o più directory con gzip

$ tar cfz nome_archivio.tar.gz dir1 dir2

Archiviazione e compressione di 2 o più directory con bzip2

$ tar cfj nome_archivio.tar.bz2 dir1 dir2

Archiviazione directory + file

$ tar cf nome_archivio.tar dir1 dir2 file1 file2

Archiviazione e compressione directory + file con gzip

$ tar cfz nome_archivio.tar.gz dir1 dir2 file1 file2

Archiviazione e compressione directory + file con bzip2

$ tar cfj nome_archivio.tar.bz2 dir1 dir2 file1 file2

Commenti»

1. diego - 28 dicembre 2007- 17:34

ciaoooo!!! la guida e stupenda però manca una cosa, se ho una cartella od un file molto grosso e vorrei dividerlo in più file part come posso fare?

Usa Mozilla Firefox Mozilla Firefox 2.0.0.11 con Ubuntu Linux Ubuntu Linux
2. imu - 29 dicembre 2007- 12:46

@diego
qui c’è la soluzione al tuo quesito:
http://www.lilik.it/~tommyblue/modules/appunti/?id=65

Usa Debian IceWeasel Debian IceWeasel 2.0.0.11 con Debian GNU/Linux Debian GNU/Linux
3. Wayl - 4 aprile 2008- 12:40

Ciao, complimenti anche da parte mia. E’ la guida più consistente e sintetica mai trovata su questo argomento. Vorrei conservarla anche in formato pdf ma non riesco a far funzionare l’apposito link nè su firefox nè tantomeno su explorer. Potresti inserire il pdf direttamente nel post o anche inviarmelo se trovi il tempo? .

Grazia mille ancora.
Sandro

Usa Internet Explorer Internet Explorer 7.0 con Windows Windows XP
4. Antonio De Luci (imu) - 4 aprile 2008- 13:36

@Wayl
Credo sia colpa del plugin su wordpress 2.5 (ultima versione), provo ad aggiornarlo o al massimo ti mando il pdf alla mail che hai inserito.

Usa Debian IceWeasel Debian IceWeasel 2.0.0.13 con Debian GNU/Linux Debian GNU/Linux
5. wayl - 20 aprile 2008- 22:48

Grazie mille, attendo con ansia il file allora!

Usa Mozilla Firefox Mozilla Firefox 2.0.0.14 con Windows Windows XP
6. Lode - 4 giugno 2008- 21:37

Bellissima la guida! Peccato che i rar non vadano su terminale…
Grazie ancora ciauu!

sto usando safari su leopard 10.5.3, anticipo il php xD

Usa Safari Safari 525.20 con Mac OS Mac OS X
7. Root - 17 giugno 2008- 18:31

ciao a tutti ho provato lo script per dividere il file ma quando vadi ad eseguirlo mi da i seguenti errori, mi sapete dire il perchè?
$ sh ./dividi.sh
: command not found:
‘: not a valid identifierare: `MAX_DIM
‘: not a valid identifierare: `ORIG_DIM
‘: not a valid identifierare: `NUM_FILES
‘: not a valid identifierare: `COUNT
: command not found:
: command not found1:
: command not found4:
: No such file or directoryiso.bz2
: command not found7:
: command not found2:
: command not found6:
./dividi.sh: line 34: syntax error: unexpected end of file

Usa Internet Explorer Internet Explorer 7.0 con Windows Windows XP