Comprimi tutto nella directory corrente


84

Mi piacerebbe comprimere e impacchettare tutto, inclusi file e cartelle nella directory corrente, in un singolo file ZIP su Ubuntu.

Quale sarebbe il comando più conveniente per questo (e il nome dello strumento doveva essere installato se presente)?

Modifica: cosa succede se devo escludere una cartella o più file?

Risposte:


103

Installa zipe usa

zip -r foo.zip .

È possibile utilizzare i flag -0(nessuno) per -9(migliore) per modificare la frequenza di compressione

L'esclusione dei file può essere eseguita tramite il -xflag. Dalla pagina man:

-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 Cosa succede se desidero escludere una cartella o un file?
Terry Li,

1
@TerryLiYifeng Ho modificato la mia risposta con informazioni al riguardo
SkaveRat,

18

Immagino che molte persone che arrivano tramite Google a questa domanda significino "archivia e comprimi" quando scrivono "zip". Un'alternativa al formato zip è tar :

tar -czf copy.tar.gz whatever/

dove il file di archivio compresso sarà copy.tar.gz e il contenuto sarà tutto nella cartella qualunque.

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

1
Per xz, l'opzione è--J or --xz
Anwar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.