web-dev-qa-db-fra.com

Zip tout dans le répertoire courant

Je voudrais compresser et empaqueter tout, y compris les fichiers et dossiers du répertoire actuel, dans un seul fichier Zip sur Ubuntu.

Quelle serait la commande la plus pratique pour cela (et le nom de l'outil à installer le cas échéant)?

Modifier: que faire si j'ai besoin d'exclure un dossier ou plusieurs fichiers?

96
Terry Li

Installez Zip et utilisez

Zip -r foo.Zip .

Vous pouvez utiliser les drapeaux -0 (aucun) à -9 (meilleur) pour modifier le taux de compression

L'exclusion de fichiers peut être effectuée via le -x drapeau. Depuis la page de manuel:

-x files
--exclude files
          Explicitly exclude the specified files, as in:

                 Zip -r foo foo -x \*.o

          which  will  include the contents of foo in foo.Zip while excluding all the files that end in .o.  The backslash avoids the Shell filename substitution, so that the name matching
          is performed by Zip at all directory levels.

          Also possible:

                 Zip -r foo foo [email protected]

          which will include the contents of foo in foo.Zip while excluding all the files that match the patterns in the file exclude.lst.

          The long option forms of the above are

                 Zip -r foo foo --exclude \*.o

          and

                 Zip -r foo foo --exclude @exclude.lst

          Multiple patterns can be specified, as in:

                 Zip -r foo foo -x \*.o \*.c

          If there is no space between -x and the pattern, just one value is assumed (no list):

                 Zip -r foo foo -x\*.o

          See -i for more on include and exclude.
118
SkaveRat

Je suppose que beaucoup de gens qui viennent via Google à cette question veulent dire "archiver et compresser" quand ils écrivent "Zip". Une alternative au format Zip est tar :

tar -czf copy.tar.gz whatever/

où le fichier d'archive compressé sera copy.tar.gz et le contenu sera tout dans le dossier.

 -c, --create
       create a new archive
 -z, --gzip, --gunzip --ungzip
 -f, --file ARCHIVE
       use archive file or device ARCHIVE
21
Martin Thoma