Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử dụng lệnh zip trong Linux chi tiết

    Nguyễn Hưng

    Ngày đăng:

    04/02/2026

    Cập nhật lần cuối:

    04/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    04/02/2026

    Cập nhật lần cuối:

    04/02/2026

    Mục lục

    Lệnh zip trong Linux là công cụ dòng lệnh phổ biến dùng để nén tệp và thư mục thành định dạng .zip nhằm tiết kiệm dung lượng lưu trữ và hỗ trợ việc sao lưu, chia sẻ dữ liệu hiệu quả hơn. Nhờ khả năng tương thích cao với nhiều hệ điều hành như Windows và macOS, file .zip giúp việc trao đổi dữ liệu giữa các nền tảng trở nên dễ dàng. Bài viết sau sẽ hướng dẫn chi tiết cách sử dụng lệnh zip trong Linux từ cơ bản đến nâng cao.

    Những điểm chính

    • Định nghĩa lệnh zip trong Linux: Hiểu rõ zip là công cụ dòng lệnh dùng để nén file/thư mục thành định dạng .zip, giúp tối ưu lưu trữ và dễ dàng chia sẻ.
    • Lợi ích khi sử dụng: Nắm được các lợi ích chính như tối ưu hóa dung lượng, tiết kiệm băng thông, tính tương thích đa nền tảng và khả năng đóng gói cấu trúc thư mục.
    • Hướng dẫn cài đặt: Biết cách cài đặt zip nhanh chóng trên các bản phân phối Linux phổ biến như Ubuntu/Debian và CentOS/RHEL.
    • Các trường hợp sử dụng thực tế: Thành thạo các lệnh zip thực tế để nén nhiều file, nén thư mục, kiểm tra, xóa và cập nhật nội dung file nén.
    • Tổng hợp các tùy chọn quan trọng: Có được một bảng tra cứu nhanh các tùy chọn quan trọng, giúp bạn tùy chỉnh việc nén file một cách linh hoạt.
    • Những lưu ý khi sử dụng: Nắm được các lưu ý quan trọng để sử dụng zip một cách an toàn và hiệu quả, từ hạn chế về quyền hạn đến các rủi ro bảo mật và giới hạn dung lượng.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các câu hỏi thực tế về cách đặt mật khẩu, chọn mức độ nén và cách nén rồi xóa file gốc.

    Lệnh zip trong Linux là gì?

    Lệnh zip là công cụ nén file sử dụng dòng lệnh trong Linux, cho phép nén một hoặc nhiều file và thư mục thành một file lưu trữ duy nhất với định dạng .zip. Công cụ này giúp giảm dung lượng lưu trữ, tạo điều kiện thuận lợi cho việc truyền, lưu trữ và gửi dữ liệu qua email nhanh hơn và hiệu quả hơn.

    Lệnh zip là công cụ nén file sử dụng dòng lệnh trong Linux
    Lệnh zip là công cụ nén file sử dụng dòng lệnh trong Linux

    Cú pháp tạo file nén bằng lệnh zip như sau:

    zip [option] archive_name.zip file1 file2

    Giải thích:

    • zip: Lệnh dùng để nén dữ liệu.
    • archive_name.zip: Tên file .zip sẽ được tạo sau khi nén.
    • file1 file2: Các file nguồn cần nén.

    Để giải nén các file được tạo từ lệnh zip, bạn sử dụng lệnh unzip với cú pháp như sau::

    unzip file_name.zip

    Giải thích:

    • unzip: Lệnh dùng để giải nén file.
    • file_name.zip: Tên file nén cần được giải nén.

    Lợi ích khi sử dụng lệnh zip trong Linux

    Dưới đây là những lợi ích quan trọng khi sử dụng lệnh zip trong Linux:

    • Tối ưu hóa dung lượng lưu trữ: Lệnh zip giúp nén các file có kích thước lớn để giải phóng không gian ổ đĩa trên máy chủ.
    • Tiết kiệm băng thông mạng: Các file sau khi được nén sẽ giảm kích thước dữ liệu trước khi thực hiện truyền tải qua đường truyền mạng, giúp tăng tốc độ gửi file qua Email, FTP hoặc SCP.
    • Đảm bảo tính tương thích đa nền tảng: Lệnh zip ra các file nén tiêu chuẩn có thể giải nén và sử dụng ngay lập tức trên các hệ điều hành khác như Windows và macOS mà không cần cài đặt thêm phần mềm chuyên biệt.
    • Đóng gói cấu trúc thư mục: Lệnh zip gom nhóm hàng loạt file và giữ nguyên cấu trúc thư mục phân cấp vào một file duy nhất để phục vụ quá trình sao lưu hoặc di chuyển source code.
    • Quản lý sao lưu linh hoạt: Cho phép quản trị viên thiết lập quy tắc lọc chi tiết để chỉ sao lưu những dữ liệu quan trọng và loại bỏ các file tạm hoặc cache không cần thiết.
    • Bảo mật dữ liệu cơ bản: Lệnh zip sẽ thiết lập lớp bảo vệ bằng mật khẩu cho file nén để hạn chế truy cập trái phép khi chia sẻ dữ liệu qua môi trường Internet. 
    Lợi ích khi sử dụng lệnh zip trong Linux
    Lợi ích khi sử dụng lệnh zip trong Linux

    Hướng dẫn cài đặt lệnh zip trong Linux

    Nếu hệ thống chưa tích hợp sẵn gói tiện ích này, bạn có thể cài đặt thông qua trình quản lý gói tương ứng:

    • Đối với Ubuntu/Debian:
    sudo apt install zip
    • Đối với CentOS/RHEL:
    sudo yum install zip

    Dưới đây là các ví dụ cụ thể về cách vận dụng lệnh zip trong quản lý file.

    1. Nén nhiều file

    Để gộp nhiều file riêng lẻ một file nén duy nhất, bạn thực hiện lệnh sau:

    zip name.zip file1 file2

    Kết quả: Tạo ra tệp name.zip chứa cả file1 và file2.

    Nén nhiều file riêng lẻ
    Nén nhiều file riêng lẻ

    2. Nén thư mục

    Khi cần nén toàn bộ một thư mục bao gồm cả các thư mục con bên trong, bạn sử dụng tùy chọn -r:

    zip -r name.zip path_dir

    Kết quả: Toàn bộ cấu trúc cây thư mục của path_dir sẽ được nén vào name.zip.

    Nén toàn bộ một thư mục
    Nén toàn bộ một thư mục

    3. Kiểm tra nội dung file nén

    Để liệt kê danh sách các file bên trong file zip mà không cần thực hiện giải nén, bạn sử dụng tùy chọn -l với lệnh unzip như sau:

    unzip -l archive_name.zip

    Kết quả: Hiển thị danh sách file, kích thước và thời gian tạo mà không cần giải nén file.

    Liệt kê danh sách các file bên trong file zip
    Liệt kê danh sách các file bên trong file zip

    4. Xóa file khỏi file nén

    Bạn sử dụng tùy chọn -d để loại bỏ một file cụ thể khỏi file zip đã tồn tại mà không cần giải nén và nén lại bằng lệnh sau:

    zip -d archive_name.zip file_name

    Kết quả: Tệp file_name sẽ bị loại bỏ trực tiếp khỏi archive_name.zip.

    Xóa file khỏi file nén
    Xóa file khỏi file nén

    5. Cập nhật nội dung file nén

    Sử dụng tùy chọn -u cho phép bạn cập nhật file mới vào file zip hoặc thay thế file cũ nếu file nguồn có sự thay đổi:

    zip -u [archive_name.zip] file_name_new

    Kết quả: Hệ thống sẽ bổ sung hoặc thay thế file_name_new vào file nén hiện tại.

    Cập nhật nội dung file nén
    Cập nhật nội dung file nén

    6. Loại trừ file khi nén

    Trong quá trình nén thư mục, nếu cần bỏ qua một số file cụ thể, bạn hãy sử dụng tùy chọn -x:

    zip -r archive_name.zip directory -x file_name

    Kết quả: Nén toàn bộ thư mục nhưng sẽ loại trừ đúng file file_name đã chỉ định.

    Bỏ qua một số file cụ thể
    Bỏ qua một số file cụ thể

    7. Hiển thị chi tiết tiến trình

    Để theo dõi chi tiết các bước mà lệnh đang thực thi, bạn sử dụng tùy chọn -v với cú pháp sau:

    zip -v [file_name.zip] [file_name]

    Kết quả: Hiển thị chi tiết từng bước nén, tỷ lệ nén của mỗi file trên màn hình terminal.

    theo dõi chi tiết các bước mà lệnh đang thực thi
    Theo dõi chi tiết các bước mà lệnh đang thực thi

    Tổng hợp các tùy chọn quan trọng của lệnh zip

    Bảng dưới đây tóm tắt các cờ (flags) thường được sử dụng để kiểm soát lệnh zip:

    Tùy chọnChức năngVí dụ thực tế
    -dDelete: Xóa file chỉ định khỏi file zip hiện có.zip -d myfiles.zip notes.txt
    -uUpdate: Chỉ thêm file mới hoặc cập nhật file đã bị sửa đổi.zip -u myfiles.zip report.txt
    -mMove: Di chuyển file vào zip và xóa file gốc khỏi hệ thống (lưu ý khi dùng).zip -m myfiles.zip backup.txt
    -rRecursive: Duyệt đệ quy, nén toàn bộ cấu trúc thư mục.zip -r myproject.zip myfolder/
    -xExclude: Loại trừ các file hoặc định dạng file nhất định.zip -r myfiles.zip * -x *.log
    -vVerbose: Chế độ hiển thị thông tin chi tiết khi chạy lệnh.zip -v myfiles.zip sample.txt

    Những lưu ý khi sử dụng lệnh zip

    Dưới đây là các lưu ý quan trọng giúp đảm bảo an toàn dữ liệu và tối ưu quy trình nén/giải nén trên Linux:

    • Hạn chế về quyền hạn: Lệnh zip không lưu trữ đầy đủ thuộc tính quyền truy cập của Linux và không khôi phục owner/group ban đầu khi giải nén. Do đó nếu cần bảo toàn tuyệt đối quyền hạn hệ thống, bạn hãy ưu tiên dùng lệnh tar.
    • Rủi ro bảo mật và Metadata: Lệnh zip có mã hóa mặc định với độ bảo mật thấp và không mã hóa tên file nên với dữ liệu quan trọng, bạn nên sử dụng gpg hoặc các giải pháp mã hóa chuyên dụng khác.
    • Quản lý tài nguyên hệ thống: Mức nén tối đa (-9) của lệnh zip tiêu tốn nhiều CPU và giữ dữ liệu trong RAM, có thể gây lỗi “Out of Memory” với các file kích thước lớn.
    • Vấn đề tương thích bảng mã: Tên file chứa ký tự Unicode có thể dễ bị lỗi hiển thị khi chuyển đổi giữa các OS khác nhau. Do đó bạn nên tuân thủ quy tắc đặt tên file bằng ký tự ASCII chuẩn.
    • Giới hạn dung lượng file: Định dạng Zip truyền thống gặp lỗi với file lớn hơn 4GB (32-bit limit). Với dữ liệu lớn, bạn hãy chia nhỏ file bằng zipsplit hoặc chuyển sang định dạng tar.gz / 7z.
    • Cú pháp loại trừ: Khi sử dụng tùy chọn -x, các ký tự đại diện phải được đặt trong dấu ngoặc kép để tránh Shell mở rộng sai quy cách.
    • Cẩn trọng với chế độ Im lặng: Tùy chọn -q sẽ ẩn toàn bộ thông báo lỗi, gây khó khăn cho việc debug. Do đó bạn chỉ nên dùng chế độ này khi script đã ổn định.
    Lưu ý về rủi ro bảo mật và Metadata
    Lưu ý về rủi ro bảo mật và Metadata (Nguồn: Internet)

    Câu hỏi thường gặp

    Làm sao đặt mật khẩu cho file zip trong Linux?

    Bạn có thể dùng tùy chọn -e để bật chế độ mã hóa có mật khẩu, lệnh sẽ hỏi bạn nhập password khi chạy:
    zip -e secure.zip file1 file2.​​
    Lưu ý: Mã hóa của zip dạng truyền thống (ZipCrypto) chỉ ở mức cơ bản, nếu cần bảo mật mạnh hơn, bạn nên cân nhắc dùng 7z (AES‑256) hoặc gpg thay vì chỉ dựa vào zip.​​

    Có thể chọn mức độ nén với zip không?

    Câu trả lời là có, zip hỗ trợ mức nén từ -0 (không nén) đến -9 (nén mạnh nhất). Mặc định zip dùng mức -6, thường cân bằng tốt giữa tốc độ và dung lượng; -1 phù hợp khi ưu tiên tốc độ, -9 phù hợp khi ưu tiên tiết kiệm dung lượng nhưng sẽ tốn thời gian CPU hơn.​

    Có cách nén rồi xóa file gốc không?

    Câu trả lời là có, bạn có thể sử dụng dùng tùy chọn -m với cú pháp lệnh như sau:
    zip -m backup.zip file1 file2.​
    Sau khi nén thành công, zip sẽ xóa các file nguồn, vì vậy nên thử trước trên dữ liệu không quan trọng hoặc kết hợp với backup/snapshot để tránh mất dữ liệu ngoài ý muốn.

    Với khả năng tương thích rộng rãi và các tùy chọn mạnh mẽ kiểm soát luồng dữ liệu, việc thành thạo lệnh zip trong Linux sẽ giúp quá trình quản lý, sao lưu và phân phối dữ liệu của bạn trở nên chuyên nghiệp và an toàn hơn. Chúc bạn thao tác thành công và mời bạn tham khảo thêm các bài viết thuộc chủ đề Linux của mình bên dưới đây:

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Tổng quan về lệnh Sdiff Linux – Công cụ so sánh và hợp nhất tệp tin
    Tổng quan về lệnh Sdiff Linux – Công cụ so sánh và hợp nhất tệp tin

    Lệnh sdiff trên Linux là một tiện ích dòng lệnh dùng để so sánh sự khác biệt giữa hai file và hiển thị kết quả theo dạng song song, giúp bạn dễ quan sát các thay đổi giữa hai phiên bản file. Trong bài viết này, mình sẽ cung cấp một cái nhìn toàn diện…

    04/02/2026

    Tìm hiểu cách sử dụng I/O Redirection và Pipes hiệu quả trong Linux
    Tìm hiểu cách sử dụng I/O Redirection và Pipes hiệu quả trong Linux

    Trong Linux, I/O Redirection và đặc biệt là Pipe (|) là những kỹ thuật quan trọng giúp dòng lệnh trở nên mạnh mẽ và linh hoạt hơn trong việc xử lý dữ liệu. Thông qua cơ chế điều hướng đầu vào/đầu ra và kết hợp các lệnh với nhau, người dùng có thể xây dựng…

    04/02/2026

    Hướng dẫn sử lệnh split trong Linux chi tiết kèm ví dụ thực tế
    Hướng dẫn sử lệnh split trong Linux chi tiết kèm ví dụ thực tế

    Lệnh split Linux được dùng để chia các file dung lượng lớn thành nhiều phần nhỏ hơn, giúp việc lưu trữ và xử lý dữ liệu trở nên nhẹ nhàng và linh hoạt. Bài viết này sẽ giới thiệu khái niệm, cú pháp cơ bản, các tùy chọn quan trọng và ví dụ thực tế…

    04/02/2026

    Hướng dẫn chi tiết cách khởi chạy file sh trong Linux
    Hướng dẫn chi tiết cách khởi chạy file sh trong Linux

    File .sh là script shell dùng để tự động hóa các lệnh và tác vụ trong hệ điều hành Linux thông qua dòng lệnh. Việc chạy file .sh giúp bạn tiết kiệm thời gian, giảm thao tác lặp lại và hạn chế lỗi khi thực thi nhiều lệnh thủ công. Trong bài viết này, mình…

    23/01/2026

    linux

    lenh

    text