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
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.
- Comprimere decomprimere con Zip
- Comprimere decomprimere con Rar
- Comprimere decomprimere con Gzip
- Comprimere decomprimere con Bzip2
- Archiviare e comprimere decomprimere con Tar
NOTA
Si consiglia comunque di leggere i manuali dei rispettivi programmi per approfondimenti ed altre opzioni non elencate
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
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
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)[...]
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/*
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
Tutto il contenuto di questo 

Commenti»
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?
@diego
qui c’è la soluzione al tuo quesito:
http://www.lilik.it/~tommyblue/modules/appunti/?id=65
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
@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.
Grazie mille, attendo con ansia il file allora!
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
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