Archives, compression, décompression
tar
Cette commande permet de créer un fichier archive (appelé tarfile) qui peut contenir des fichiers et répertoires.
Ce fichier tarfile n'est pas compressé.
Cette commande peut être utile pour archiver un répertoire et tout ce qu'il contient en un seul fichier.
tar -cvf Archives.tar SauvegardeLa commande ci-dessus, avec les paramètres -cvf, permet de créer une archive du répertoire Sauvegarde dans le fichier nommé Archives.tar. Attention à l'ordre des deux derniers paramètres.
tar -xvf Archives.tarLa même commande tar avec les paramètres -xvf, permet de désarchiver le contenu du tarfile.
Attention au positionnement du désarchivage : il s'opère dans le répertoire courant.
Pour connaître le détail du contenu d'un tarfile, il faut utiliser les paramètres -tvf.
gzip
Cette commande permet de compresser un fichier afin d'en réduire la taille, pour stockage ou échange.
Le fichier résultat est renommé par ajout de l'extension .gz :
gzip corpus.xmlPar listing du contenu du répertoire où la compression a été réalisée, on peut voir que le fichier corpus.xml a disparu et a été remplacé par corpus.xml.gz.
Il est possible d'obtenir la taille d'un fichier non compressé à partir de son fichier compressé en gzip.
gzip -l corpus.xml.gzQuatre informations sont alors affichées à l'écran :
- la taille en octets du fichier compressé
- la taille en octets du fichier non compressé
- le ratio de compression
- le nom du fichier initial, non compressé
compressed uncompr. ratio uncompressed_name
77366 370713 79.1% corpus.xml
gunzip
Cette commande permet de décompresser un fichier compressé en .gz.
Sans paramètres, le fichier est décompressé sur disque et renommé sans l'extension .gz.
Attention, la place en octets prise correspond bien au fichier décompressé.
Cette commande est équivalente à gzip -d.
gunzip corpus.xml.gzLa commande ci-dessus restaure le fichier corpus.xml, qui remplace dans le répertoire courant l'ancien fichier corpus.xml.gz de plus petite taille.
S'il faut travailler avec un fichier compressé sans le décompresser sur disque, il faut alors qu'il soit seulement décompressé vers la sortie standard.
Ensuite, il suffira d'enchaîner les commandes requises avec des pipes.
Par exemple :
gunzip -c corpus.xml.gz | wc -lzcat
Cette commande est équivalente à gunzip -c.
zcat corpus.xml.gz | wc -l