Zip tout dans le répertoire courant


84

J'aimerais compresser et emballer tout, y compris les fichiers et les dossiers du répertoire courant, dans un fichier ZIP unique sous Ubuntu.

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

Edit: Et si je dois exclure un dossier ou plusieurs fichiers?

Réponses:


103

Installer zipet utiliser

zip -r foo.zip .

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

L'exclusion de fichiers peut être effectuée via le -xdrapeau. De 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 -x@exclude.lst

          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.

+1 Et si je veux exclure un dossier ou un fichier?
Terry Li

1
@TerryLiYifeng J'ai modifié ma réponse avec des informations à ce sujet
SkaveRat

18

Je suppose que beaucoup de gens qui répondent à cette question via Google veulent dire "archiver et compresser" quand ils écrivent "zip". Tar est une alternative au format zip :

tar -czf copy.tar.gz whatever/

où le fichier d'archive compressé sera copy.tar.gz et où 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

1
Pour xz, l'option est--J or --xz
Anwar
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.