Zip mọi thứ trong thư mục hiện tại


84

Tôi muốn nén và đóng gói mọi thứ, bao gồm các tệp và thư mục trong thư mục hiện tại, vào một tệp ZIP duy nhất trên Ubuntu.

Điều gì sẽ là lệnh thuận tiện nhất cho việc này (và tên của công cụ cần được cài đặt nếu có)?

Chỉnh sửa: Điều gì xảy ra nếu tôi cần loại trừ một thư mục hoặc một số tệp?

Câu trả lời:


103

Cài đặt zipvà sử dụng

zip -r foo.zip .

Bạn có thể sử dụng các cờ -0(không có) thành -9(tốt nhất) để thay đổi nén

Không bao gồm các tập tin có thể được thực hiện thông qua -xcờ. Từ trang con người:

-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 Nếu tôi muốn loại trừ một số thư mục hoặc tệp thì sao?
Terry Li

1
@TerryLiYifeng Tôi đã chỉnh sửa câu trả lời của mình với thông tin về điều đó
SkaveRat

18

Tôi đoán nhiều người thông qua Google cho câu hỏi này có nghĩa là "lưu trữ và nén" khi họ viết "zip". Một thay thế cho định dạng ziptar :

tar -czf copy.tar.gz whatever/

trong đó tệp lưu trữ nén sẽ là copy.tar.gz và nội dung sẽ là mọi thứ trong thư mục.

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

1
Đối với xz, tùy chọn là--J or --xz
Anwar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.