Jai généralement supposé que tar
était un utilitaire de compression, mais je ne suis pas sûr quil comprime réellement les fichiers, ou est-ce juste comme un fichier ISO, un fichier pour contenir des fichiers?
Commentaires
- Aussi sur SuperUser .
Réponse
Tar est un outil darchivage (Tape ARchive), il ne collecte que les fichiers et leurs métadonnées ensemble et produit un fichier. Si vous souhaitez compresser ce fichier ultérieurement, vous pouvez utiliser gzip / bzip2 / xz. Pour plus de commodité, tar fournit des arguments pour compresser larchive automatiquement pour vous. Consultez la page de manuel de tar pour plus de détails.
Commentaires
- Un léger clarification sur la réponse. Cest GNU tar qui fournit ces arguments de compression supplémentaires. Par exemple, Solaris tar ne fournit pas darguments pour la compression.
- oooh, cest ' pourquoi je continue de voir
thing.tar.7z
- BSD tar fournit également un argument pour la compression, bien quil naccepte que
z
et détermine la méthode de compression basée sur lextension, alors que GNU tar a unzZjJ
arguments pour les différentes méthodes de compression. - Il suffit de lire la page de manuel BSD tar, et il savère que je me suis trompé, BSD tar utilise des pour la compression, tout comme GNU tar. Cependant, il détecte automatiquement la compression lors de la décompression, alors que GNU tar attend
zZjJ
alors aussi. - @wingedsubmariner: non; les versions modernes de GNU
tar
se décompressent automatiquement sans avoir besoin des options-zZjJ
.
Answer
tar
produit des archives; la compression est une fonctionnalité distincte. Cependant tar
peut à lui seul réduire lutilisation de lespace lorsquil est utilisé sur un grand nombre de petits fichiers qui sont plus petits que la taille du cluster du système de fichiers. Si un système de fichiers utilise 1 Ko clusters, même un fichier qui contient un seul octet consommera 1 Ko (plus un inode). Une archive tar
na pas cette surcharge.
BTW, un ISO file nest pas vraiment « un fichier pour contenir des fichiers » – cest en fait une image de tout un système de fichiers (conçu à lorigine pour être utilisé sur des CD) et sa structure est donc considérablement plus complexe.
Commentaires
- En fait, un fichier vide ne consommera pas 1 Ko. Un fichier de 1 à 1023 octets.
- @psusi donc pour un fichier de 1 à 1023 octets, 1 024 consommera toujours, ce qui entraîne un gaspillage de 1023 à 1 octets.
Réponse
La commande tar UNIX dorigine na pas compressé les archives. Comme mentionné dans un commentaire, Solaris tar ne se compresse pas. HP-UX, ni AIX, FWIW non plus. Par convention, les archives non compressées se terminent par .tar
.
Avec GNU / Linux, vous obtenez GNU tar. (Vous pouvez installer GNU tar sur dautres systèmes UNIX.) Par défaut, il ne compresse pas; cependant, il compresse larchive résultante avec gzip (également en GNU) si vous fournissez -z
. Le suffixe conventionnel pour les fichiers gzippés est .gz
, donc vous « verrez souvent des tarballs (argot pour un tar archive, ce qui implique généralement quelle a été compressée) qui se terminent par .tar.gz
. Cette fin implique que tar a été exécuté, suivi de gzip, par exemple tar cf - .|gzip -9v > archive.tar.gz
. Vous trouverez également des archives se terminant par .tgz
, par exemple tar czf archive.tgz .
.
Modifier: www.linfo.org/tar.html ma rappelé que GNU tar supportait bien plus de fonctionnalités que la simple compression avec gzip, et cela ma rappelé que les suffixes sont plus que de simples conventions. Ils ont une sémantique intégrée. Il prend également en charge bzip2 (-j
pour .bz2
) et lancienne compression (-Z
pour .Z
). Ensuite, jai regardé la page de manuel et on ma rappelé que -a
mappe automatiquement votre méthode de compression souhaitée en fonction du suffixe.
Un autre nit. Comme le dit la page de manuel de Linux tar, GNU produit des pages dinformations, pas des pages de manuel, donc pour tout savoir sur GNU tar, exécutez info tar
.
Commentaires
- Le tar GNU ne gère toujours ' les compressions par lui-même, il ne fait que diriger vers / depuis gzip, bzip2, compress et autres.
- Jai jeté un œil à la source . GNU tar gère la compression! Limplémentation tire parti de la réutilisation du code et des principes architecturaux de lespace utilisateur UNIX. " Just pipes " sous-estime la manière dont la compression est étroitement intégrée dans loutil.Le fait quil arrive à fork des programmes dassistance est une technicité. Si vous voulez défendre " juste des tuyaux, " puis citez les noms de fichiers et les numéros de ligne et laissez ' voit de quel côté la communauté prend.
- Il me faut quelques jours avant que je puisse vérifier cette source.
Réponse
Lutilitaire tar ne compresse pas tant que vous navez pas donné dargument pour le faire [nom de fichier tar -z].