TRANG CHỦ
CHUYÊN MỤC
HỌC HỎI
TAG
ABOUT
Tìm kiếm
Cách sử dụng Zip nén tệp và thư mục trong Linux
2023-10-21 09:54:42
Linux
System
181 lượt xem
0 bình luận
Zip là định dạng tệp lưu trữ được sử dụng rộng rãi nhất hỗ trợ nén dữ liệu mà không mất dữ liệu. Các tệp nén (.zip) ít chiếm dung lượng ổ đĩa hơn và có thể được chuyển từ máy này sang máy khác nhanh hơn các tệp không nén. Các tệp zip có thể được giải nén dễ dàng trong Windows, macOS và Linux bằng các tiện ích có sẵn cho tất cả các hệ điều hành. Hướng dẫn này sẽ chỉ cho bạn cách Zip (nén) các tệp và thư mục trong Linux bằng lệnh ```zip```. Lệnh ```zip``` có dạng cú pháp sau: ``` zip "-tùy chọn" "tên file.zip" "file/thư mục nén" ``` Để tạo kho lưu trữ Zip trong một thư mục cụ thể, người dùng cần có quyền ghi trên thư mục đó. Các tệp zip không hỗ trợ thông tin quyền sở hữu kiểu Linux. Các tệp được giải nén thuộc sở hữu của người dùng chạy lệnh. Để duy trì quyền sở hữu và quyền của tệp, hãy sử dụng lệnh ```tar```. Tiện ích ```zip``` này không được cài đặt theo mặc định trong hầu hết các bản phân phối Linux, nhưng bạn có thể dễ dàng cài đặt nó bằng trình quản lý gói phân phối của mình. Cài đặt ```zip``` trên Ubuntu và Debian ``` sudo apt install zip ``` Cài đặt ```zip``` trên CentOS và Fedora ``` sudo yum install zip ``` ### Cách ZIP tập tin và thư mục: Để nén một hoặc nhiều tệp, hãy chỉ định các tệp bạn muốn thêm vào kho lưu trữ, phân tách bằng dấu cách, như hiển thị bên dưới: ``` zip name.zip filename1 filename2 filename3 -- Output: adding: filename1 (deflated 63%) adding: filename2 (stored 0%) adding: filename3 (deflated 38%) ``` Theo mặc định, lệnh ```zip``` in tên của các tệp được thêm vào kho lưu trữ và phương pháp nén. Chúng tôi sẽ giải thích các phương pháp và mức độ nén sau trong hướng dẫn này. Nếu tên kho lưu trữ không kết thúc bằng ```.zip```, tiện ích mở rộng sẽ tự động được thêm vào trừ khi tên kho lưu trữ chứa dấu chấm ```.zip```. Để chặn đầu ra của ```zip``` lệnh, hãy sử dụng ```-q``` tùy chọn: ``` zip -q name.zip filename1 filename2 filename3 ``` Thông thường, bạn sẽ tạo một kho lưu trữ zip của một thư mục bao gồm nội dung của các thư mục con. Tùy chọn này ```-r```cho phép bạn duyệt qua toàn bộ cấu trúc thư mục theo cách đệ quy: ``` zip -r name.zip directory_name ``` Bạn cũng có thể thêm nhiều tệp và thư mục trong cùng một kho lưu trữ: ``` zip -r name.zip directory_name1 directory_name2 file1 file1 ``` ### Phương pháp và cấp độ nén Phương pháp nén mặc định của Zip là ```deflate```. Nếu ```zip``` xác định rằng một tệp không thể nén được, nó chỉ cần lưu tệp vào kho lưu trữ mà không nén bằng phương thức ```store``` . Trong hầu hết các bản phân phối Linux, ```zip``` cũng hỗ trợ phương pháp nén ```bzip2```. Để chỉ định phương pháp nén, hãy sử dụng tùy chọn ```-Z```. ``` zip -r -Z bzip2 name.zip directory_name -- Output: adding: sub_dir/ (stored 0%) adding: sub_dir/file1 (bzipped 52%) adding: sub_dir/file2 (bzipped 79%) ``` Lệnh này ```zip``` cho phép bạn chỉ định mức nén bằng cách sử dụng một số có dấu gạch ngang ở đầu từ 0 đến 9. Mức nén mặc định là -6. Khi sử dụng -0, tất cả các tập tin sẽ được lưu trữ mà không cần nén. -9 sẽ buộc ```zip``` lệnh sử dụng mức nén tối ưu cho tất cả các tệp. Ví dụ: để sử dụng mức nén -9, bạn sẽ gõ nội dung như thế này: ``` zip -9 -r name.zip directory_name ``` Mức độ nén càng cao thì quá trình nén càng tốn nhiều CPU và sẽ mất nhiều thời gian hơn để hoàn thành. ### Tạo tệp ZIP được bảo vệ bằng mật khẩu Nếu bạn có thông tin nhạy cảm cần được lưu trữ trong kho lưu trữ, bạn có thể mã hóa thông tin đó bằng tùy chọn ```-e```. ``` zip -e name.zip directory_name ``` Lệnh sẽ được nhắc nhập và xác minh mật khẩu lưu trữ: ``` Enter password: Verify password: ``` ### Tạo tập Zip nhiều phần Hãy tưởng tượng bạn muốn lưu trữ kho lưu trữ Zip trên dịch vụ lưu trữ tệp có giới hạn tải lên kích thước tệp là 1GB và tập Zip của bạn là 5GB. Bạn có thể tạo một tệp Zip nhiều phần mới bằng cách sử dụng ```-s``` tùy chọn theo sau là kích thước được chỉ định. Hệ số nhân có thể là k (kilobyte), m (megabyte), g (gigabyte) hoặc t (terabyte). ``` zip -s 1g -r name.zip directory_name ``` Lệnh trên sẽ tiếp tục tạo các kho lưu trữ mới trong một bộ sau khi đạt đến giới hạn kích thước đã chỉ định. ``` name.zip name.z01 name.z02 name.z03 name.z04 ```
Tag:
Linux
Gợi ý bài viết liên quan
Thiết lập IP động Dynamic DNS (DDNS) trên Cloudflare
Hướng dẫn cài đặt NodeJS trên Ubuntu 22.04
Làm cách nào để cài đặt PIP trên Windows?
Làm cách nào để cài đặt Python trên Windows?
Cách sử dụng Gzip nén tệp và thư mục trong Linux