web-dev-qa-db-fra.com

Comment créer un fichier tar.7z à partir de la ligne de commande?

Je voudrais faire mes devoirs de l'année dernière. Comment tar et compresser le dossier entier à partir de la ligne de commande Ubuntu (je n'ai pas d'interface graphique).

20
alphanumerical74

Utilisez le one-liner suivant:

tar cf - <source folder> | 7z a -si <Destination archive>.tar.7z
25
ortang

Lisez man tar. CA offre:

     -a, --auto-compress
       use archive suffix to determine the compression program
     -j, --bzip2
     --lzip
     --lzma
     --lzop
     -z, --gzip, --gunzip --ungzip
     -Z, --compress, --uncompress

Ou, si rien de tout cela ne vous convient et que vous avez un programme de compression qui se lit stdinname__, vous pouvez:

tar cf- $HOME | my_compression_program >/tmp/compressed.output

Notez que j'écris la sortie ailleurs que $HOME (la sauvegarde dans un répertoire que vous sauvegardez entraîne une croissance de fichier non contrainte).

Ou, vous pourriez lire man 7z - il semblerait que vous puissiez le faire

dir="directory to save"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/archive.7z $dir 
9
waltinator

C’est pas une bonne idée de compresser directement avec 7z spécialement sur les systèmes unix/linux: 7z ne conserve pas les permissions et ou informations utilisateur/groupe . Donc: d'abord goudron, puis compresse.

Comme indiqué sur la page de wiki 7Zip à l'adresse http://en.wikipedia.org/wiki/7z#Limitations :

Limites

Le format 7z ne stocke pas les autorisations du système de fichiers (telles que les autorisations de propriétaire/groupe d'UNIX ou les ACL NTFS) et peut donc être inapproprié à des fins de sauvegarde/archivage. Une solution de contournement sur les systèmes de type UNIX consiste à convertir les données en un flux binaire tar avant la compression avec 7z.

7
Giuseppe Curto

Je suggérerais que vous utilisiez:

tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z

pour augmentation spectaculaire d'accélération.

Il présente l’avantage d’utiliser lzma2 (-m0=lzma2) (qui utilise le maximum de cœurs disponibles sur votre système et le préréglage "Compression rapide" (-mx=3), ce qui est fondamentalement rapide et satisfaisant. Notez que LZMA2 n’utilise pas uniquement tous les cœurs lors de la compression, mais aussi sur décompression.

3
vordhosbn

Vous devriez utiliser tar -Jchf <Filename>.tar.xz <Files to compress>

Le -J utilise l'algorithme de compression XZ, identique à 7Zip

-c crée un nouveau fichier -h conserve les liens simulés -f définit le nom du fichier

0
Christian