4 façons d’utiliser la commande Linux tar

Lorsque vous avez beaucoup de fichiers liés, il est parfois plus facile de les traiter comme un seul objet plutôt que 3, 20 ou 100 fichiers uniques. Il y a moins de clics impliqués, par exemple, lorsque vous envoyez un e-mail une fichier par rapport au travail de la souris requis pour envoyer par courrier électronique 30 fichiers distincts. Ce dilemme a été résolu il y a des décennies lorsque les programmeurs ont inventé un moyen de créer un archiveet donc le tar
commande est née (le nom signifie archive sur bande car à l’époque, les fichiers étaient enregistrés sur bande magnétique.) Aujourd’hui tar
reste un moyen utile de regrouper des fichiers, que ce soit pour les compresser afin qu’ils occupent moins d’espace sur votre disque, pour faciliter le traitement de nombreux fichiers ou pour regrouper logiquement des fichiers par commodité.
J’ai demandé aux auteurs d’Opensource.com comment ils utilisaient tar
et des outils associés tels que zip
et gzip
, dans leur travail quotidien. Voici ce qu’ils ont dit.
Sauvegardes et journaux
j’utilise tar
et zip
chaque fois que j’ai besoin de faire une sauvegarde ou une archive d’une arborescence de répertoires entière. Par exemple, livrer un ensemble de fichiers à un client ou simplement effectuer une sauvegarde rapide de mon répertoire racine Web avant d’apporter une modification majeure au site Web. Si j’ai besoin de partager avec d’autres, je crée une archive ZIP avec zip -9r
où -9
utilise la meilleure compression possible, et -r
récurrencera dans les sous-répertoires. Par exemple, zip -9r client-delivery.zip client-dir
crée un fichier zip de mon travail, que je peux envoyer à un client.
Si la sauvegarde est juste pour moi, j’utilise probablement tar
Au lieu. Quand j’utilise tar
j’utilise habituellement gzip
pour compresser, et je fais tout sur une seule ligne de commande avec tar czf
où c
créera un nouveau fichier d’archive, z
le comprime avec gzip
et f
définit le nom du fichier d’archive. Par exemple, tar czf web-backup.tar.gz html
crée une sauvegarde compressée de mon html
annuaire.
J’ai également des applications Web qui créent des fichiers journaux. Et pour ne pas qu’ils prennent trop de place, je les compresse à l’aide de gzip
. La gzip
est un excellent moyen de compresser un un seul fichier. Il peut s’agir d’un fichier d’archive TAR ou de n’importe quel fichier normal, tel qu’un fichier journal. Pour rendre le fichier gzippé aussi petit que possible, je compresse le fichier avec gzip -9
où -9
utilise la meilleure compression possible.
L’avantage d’utiliser gzip
pour compresser des fichiers est que je peux utiliser des commandes comme zcat
et zless
pour les visualiser ultérieurement, sans avoir à les décompresser sur le disque. Donc, si je veux regarder mon fichier journal d’hier, je peux utiliser zless yesterday.log.gz
et le zless
la commande décompresse automatiquement les données avec gunzip
et l’envoyer au less
téléspectateur. Récemment, j’ai voulu voir combien d’entrées de journal j’avais par jour, et je l’ai exécuté avec un zcat
commande comme :
for f in *.log.gz; do echo -n "$f,"; zcat $f | wc -l; done
Cela génère une liste de fichiers journaux séparés par des virgules et un nombre de lignes, que je peux facilement importer dans une feuille de calcul pour analyse.
—Jim Hall
Zcat
j’ai introduit le zcat
commande dans mon article Premiers pas avec la commande cat. Peut-être que cela peut servir de stimulus pour une discussion plus approfondie de l’analyse des données compressées « sur place ».
—Alan Formy-Duval
Zless et lzop
j’adore avoir zless
pour parcourir les fichiers journaux et les archives. Cela aide vraiment à réduire le risque de laisser d’anciens fichiers journaux aléatoires que je n’ai pas nettoyés.
Lorsqu’il s’agit d’archives compressées, tar -zxf
et tar -zcf
sont géniaux, mais n’oubliez pas tar -j
pour ces fichiers bzip2, ou même tar -J
pour les fichiers xz hautement compressés.
Si vous avez affaire à une plate-forme avec des ressources CPU limitées, vous pouvez même envisager une solution à faible coût comme lzop
. Par exemple, sur l’ordinateur source :
tar --lzop -cf - source_directory | nc destination-host 9999
Sur l’ordinateur de destination :
nc -l 9999 | tar --lzop -xf -
J’ai souvent utilisé cela pour compresser des données entre des systèmes où nous avons des limites de bande passante et avons besoin d’une option à faible ressource.
— Steven Ellis
Arche
Je me suis retrouvé à utiliser l’application KDE Ark ces derniers temps. C’est une application graphique, mais elle s’intègre si bien avec le gestionnaire de fichiers Dolphin que j’ai pris l’habitude de simplement mettre à jour les fichiers directement dans une archive sans même prendre la peine de désarchiver le tout. Bien sûr, vous pouvez faire la même chose avec le tar
commande, mais si vous parcourez quand même des fichiers dans Dolphin, Ark permet d’interagir rapidement et facilement avec une archive sans interrompre votre flux de travail actuel.
(Seth Kenlon, CC BY-SA 4.0)
Les archives ressemblaient un peu à un coffre-fort interdit pour moi. Une fois que j’ai mis des fichiers dans une archive, ils étaient presque oubliés car il n’est tout simplement pas toujours pratique d’interagir avec une archive. Mais Ark vous permet de prévisualiser les fichiers sans les décompresser (techniquement, ils sont décompressés, mais cela ne “semble” pas comme ils le sont car tout se passe sur place), supprimer un fichier d’une archive, mettre à jour des fichiers, renommer des fichiers et beaucoup plus. C’est une façon très agréable et dynamique d’interagir avec les archives, ce qui m’encourage à les utiliser plus souvent.
—Seth Kenlon