85 votes

Untar, ungz, gz, tar - comment se souvenir de toutes les options utiles ?

Je suis sûr que je ne suis pas le seul à avoir le problème suivant : chaque fois que j'ai besoin de décompresser un fichier dans *nix, je ne me souviens pas de tous les commutateurs, et je finis par le googler, ce qui est surprenant compte tenu de la fréquence à laquelle je dois le faire.

Avez-vous une bonne antisèche pour la compression ? Ou bien un moyen mnémotechnique pour tous les interrupteurs du goudron ?

Je fais de cet article un wiki pour que nous puissions créer un aide-mémoire.

Oh, et à propos des pages de manuel : s'il y a une chose pour laquelle elles ne sont pas utiles, c'est pour comprendre comment décompresser un fichier.

1voto

Rodrigo Amaya Points 111

90% du temps, j'utilise simplement

tar -xvf file.*  

x : extrait
v : être verbeux (facultatif)
f : fichier d'entrée (tar, gz, bzip2, etc...)

Facile, hein ? :)
Utilisez Fileroller, ou Ark si vous n'êtes pas dans une console.

1voto

Dave Dribin Points 171

J'ai utilisé un script appelé aunpack qui fait partie de la atool depuis de nombreuses années maintenant. Donc tu cours juste : aunpack foo.{zip/tar.gz/tar.bz2} et il fait la bonne chose en se basant sur l'extension du fichier.

L'autre avantage de aunpack est qu'il ne polluera pas le répertoire courant avec beaucoup de fichiers. Disons qu'il y a 20 fichiers dans foo.zip qui ne sont pas dans un sous-répertoire. Au lieu de cracher ces fichiers dans le répertoire courant, aunpack créera un foo et mettez tous les fichiers dans ce sous-répertoire.

1voto

porty Points 1

Tout ce dont vous avez besoin est tar x (extrait de stdin), tar c (tar to stdout), gzip -c (gzip de stdin à stdout ; -1 a -9 pour les niveaux de compression ; il en va de même pour bzip2 ) y gunzip -c (gunzip de stdin à stdout) - tout le reste est des pipes.

Pour tar et gzip :

$ tar c * | gzip -c > out.tar.gz

Pour dézipper et désarchiver

$ gunzip -c < out.tar.gz | tar x

Si vous voulez de jolies barres de progression, utilisez pv qui est similaire à cat mais affiche des barres de progression :

$ tar c * | bzip2 -c | pv > out.tar.gz
 22.6MiB 0:00:03 [3.64MiB/s] [  <=>                           ]
$ pv in.tar.gz | bunzip2 -c | tar x
   80MiB 0:00:00 [  58MiB/s] [===============================>] 100%

1voto

littledynamo Points 141

C reate Z ip à F ilename

tar -czf myfile.tar.gz myfile.sql

e X tractus Z ip avec F ilename

tar -xzf myfile.tar.gz

0voto

Je pense qu'il est facile de penser à ce que vous voulez et pas seulement à quelques lettres.

Pour illustrer mon propos, je vais utiliser un exemple d'extraction de fichier.tar.gz :

Comme il s'agit d'un fichier tar, vous devez utiliser le programme tar. Ensuite, il y a les options :

  1. x puisque vous voulez e x tract.
  2. z si le fichier se termine par .gz. (gz est après tar dans le nom du fichier) Cette option permet de compresser l'archive.
  3. f pour fichier suivi du nom de l'archive.

Ceci est démontré dans l'exemple ci-dessous :

tar xzf file.tar.gz

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X