Masukkan semua yang ada di direktori saat ini

84

Saya ingin mengompres dan mengemas semuanya, termasuk file dan folder di direktori saat ini, menjadi satu file ZIP di Ubuntu.

Apa yang akan menjadi perintah paling nyaman untuk ini (dan nama alat yang perlu dipasang jika ada)?

Sunting: Bagaimana jika saya perlu mengecualikan satu folder atau beberapa file?

Terry Li
sumber

Jawaban:

103

Instal zipdan gunakan

zip -r foo.zip .

Anda dapat menggunakan flag -0(tidak ada) ke -9(terbaik) untuk mengubah kompresi

File yang dikecualikan dapat dilakukan melalui -xflag. Dari halaman manual:

-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.
SkaveRat
sumber
+1 Bagaimana jika saya ingin mengecualikan beberapa folder atau file?
Terry Li
1
@TerryLiYifeng Saya mengedit jawaban saya dengan info tentang itu
SkaveRat
18

Saya kira banyak orang yang datang melalui Google ke pertanyaan ini berarti "arsipkan dan kompres" ketika mereka menulis "zip". Alternatif untuk format zip adalah tar :

tar -czf copy.tar.gz whatever/

di mana file arsip terkompresi akan menjadi copy.tar.gz dan konten akan menjadi segalanya di folder apa pun.

 -c, --create
       create a new archive
 -z, --gzip, --gunzip --ungzip
 -f, --file ARCHIVE
       use archive file or device ARCHIVE
Martin Thoma
sumber
1
Untuk xz, opsinya adalah--J or --xz
Anwar