Trong bài trước, chúng ta chi tiết cách dùng lệnh tar tạo archive. Mặc dù tar rất phổ biến nén Linux, nó không phổ biến như Windows và Mac OS X, nơi hầu hết archive dùng định dạng zip.
Dễ dàng dùng Zip (tạo) và Unzip (giải nén) archive trên Linux. Thực tế, hầu hết chương trình quản lý archive GUI (như Ark, File Roller, Xarchiver) hoạt động như frontend cho hầu như mọi chương trình nén dòng lệnh bạn có, Zip không ngoại lệ. Tất nhiên, cũng dùng Zip từ Terminal. Đây là cách.
Bước đầu, mở Terminal.
Tiếp, gõ " sudo apt-get install zip unzip " (không dấu ngoặc), đảm bảo zip và unzip đã cài.
Lưu ý: nếu hai chương trình đã cài, bạn nhận thông báo xác nhận, như hình trên.
Sau khi cài, dùng zip tạo archive (hoặc sửa archive có), unzip giải nén về gốc. Cho bài này, tạo thư mục mới Desktop tên Stuff. Trong Terminal, làm bằng lệnh đơn mkdir /home/username/Desktop/Stuff (thay "username" bằng username bạn, như hình, nếu đã có Stuff, đổi tên).
Bây giờ dùng lệnh 'cd' làm Stuff thư mục làm việc hiện tại.
cd /home/username/Desktop/Stuff
Gõ touch doc1.txt doc2.txt doc3.txt && mkdir Files tạo thư mục Files, và ba tài liệu doc1.txt, doc2.txt, doc3.txt trong Stuff.
Một lệnh nữa 'cd' vào Files mới tạo (cd Files), vì muốn tài liệu khác bên trong.
cd Files
Cuối, gõ touch doc4.txt doc5.txt doc6.txt tạo ba tài liệu mới.
Bây giờ gõ cd ../.. quay lại Desktop làm thư mục làm việc.
Bước gần cuối trước tạo file zip: tạo hai tài liệu "extra" trên Desktop trùng tên file vừa tạo, gõ touch doc2.txt doc3.txt.
Cuối, mở hai file text "extra" thêm text. Không cần ý nghĩa (hay dài), chỉ để thấy file này khác file gốc trong Stuff và Files.
Khi xong, bắt đầu tạo file zip. Cách đơn giản dùng zip: nói tên archive muốn tạo, rồi liệt kê rõ từng file vào. Giả sử thư mục làm việc là Desktop, gõ zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt tạo archive test.zip (không cần extension ".zip" trong lệnh, tự thêm), chứa doc1.txt, doc2.txt, doc3.txt trong Stuff.
Bạn thấy output báo ba tài liệu thêm vào archive.
Test bằng double-click archive trên Desktop. Sẽ mở trong chương trình archive chuẩn (Ark KDE, File Roller GNOME, Xarchiver Xfce).
Còn thư mục Files? Muốn thêm tài liệu bên trong vào archive, dùng lệnh như trên thêm Stuff/Files/* cuối lệnh.
Dấu sao nghĩa là bao gồm mọi thứ trong thư mục. Nếu có thư mục khác trong Files, cũng thêm. Nhưng nếu thư mục đó có item bên trong, không bao gồm. Để làm vậy, thêm -r (đệ quy).
Lưu ý hai lệnh trên không thiết kế "thêm" file vào zip; chúng tạo mới. Tuy nhiên, vì archive đã tồn tại, lệnh chỉ thêm file mới vào archive có sẵn. Nếu muốn tạo archive toàn bộ một lần (thay vì ba bước thêm dần để demo), gõ zip -r test Stuff/* tạo cùng archive.
Bạn thấy từ lệnh và output ba file trong Stuff và ba tài liệu trong Files đều bao gồm, mọi thứ xong trong lệnh đơn giản.
Còn hai tài liệu "extra" trên Desktop? Cách zip hoạt động: nếu thêm file vào archive đã tồn tại trong archive, file mới ghi đè cũ. Vì tài liệu Desktop (doc2.txt, doc3.txt) có nội dung (thêm "hello world!" vào doc2.txt, "yay" vào doc3.txt), thêm chúng và test. Kéo hai tài liệu "extra" vào Stuff.
Bạn có thể bị hỏi ghi đè file hiện có (trong thư mục, nhớ, không phải archive zip), cho phép.
Bây giờ thêm vào archive gõ zip test Stuff/doc2.txt Stuff/doc3.txt
Lệnh trên giờ hiển thị file được updated thay vì added. Kiểm tra archive, file giống nhau, nhưng mở doc2.txt, doc3.txt thấy có nội dung thay vì trống như file gốc.
Đôi khi Linux ẩn file bằng thêm dấu chấm (".") đầu tên. Phổ biến cho file cấu hình, cần tồn tại nhưng không hiển thị (giảm rối và giảm xóa nhầm). Thêm file này vào zip dễ dàng. Giả sử muốn tạo zip backup từ mọi file trong thư mục. Gõ zip backup * vào Terminal.
Lệnh này thêm tất cả file và thư mục, tuy nhiên item trong thư mục không bao gồm. Để thêm, thêm -r, zip -r backup *.
Gần xong. Để đệ quy thêm thư mục, file, và file ẩn, lệnh thật đơn giản: zip -r backup .
Bây giờ unzip khá dễ. Trước làm gì, xóa tài liệu Desktop (doc2.txt, doc3.txt) và thư mục Stuff. Khi xong, gõ unzip test.zip giải nén nội dung archive gốc vào thư mục hiện tại.
Lưu ý: Nếu không xóa tài liệu, bạn giải nén vào file tồn tại, sẽ hỏi replace từng file.
Và xong! Zip và Unzip tác vụ phổ biến, và dù có GUI, với thực hành bạn thấy làm từ Terminal không khó.