Duplicate possible:
remplir un ensemble de répertoires et créer un fichier compressé au format tar
Cet article décrit comment gzip chaque fichier individuellement dans une structure de répertoires. Cependant, je dois faire quelque chose de légèrement différent. J'ai besoin de produire un gros fichier gzip pour tous les fichiers d'un répertoire donné. Je dois également pouvoir spécifier le nom du fichier de sortie pour le fichier compressé (par exemple, fichiers.gz) et écraser l'ancien fichier compressé s'il en existe déjà un.
tar -zcvf compressFileName.tar.gz folderToCompress
tout dans folderToCompress ira à compressFileName
Edit: Après avoir passé en revue et commenté, j'ai compris que compressFileName pouvait être confondu sans extension. Si vous le souhaitez, vous pouvez utiliser l’extension .tar.gz (comme suggéré) avec compressFileName.
il y a beaucoup de méthodes de compression qui fonctionnent de manière récursive en ligne de commande et il est bon de savoir qui est le public final.
c'est-à-dire que s'il doit être envoyé à quelqu'un qui exécute Windows, alors Zip serait probablement le meilleur:
Zip -r file.Zip folder_to_Zip
unzip filenname.Zip
pour d'autres utilisateurs de linux ou votre propre goudron est génial
tar -cvzf filename.tar.gz folder
tar -cvjf filename.tar.bz2 folder # even more compression
#change the -c to -x to above to extract
Il faut faire attention avec le goudron et la façon dont les choses sont goudronnées/extraites, par exemple si je cours
cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd
pwd
/ home/myusername
tar -xvzf passwd.tar.gz
cela créera/home/myusername/etc/passwd
je ne sais pas si toutes les versions de tar le font:
Removing leading `/' from member names
Le post de @amitchhajer fonctionne pour GNU tar. Si une personne trouve cette publication et en a besoin pour fonctionner sur un système NON GNU
, elle peut le faire:
tar cvf - folderToCompress | gzip > compressFileName
Pour développer l'archive:
zcat compressFileName | tar xvf -