NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
06/11/2024
Lượt xem

Cách sử dụng lệnh gzip trong Linux để nén và giải nén file nhanh chóng

06/11/2024
15 phút đọc
Lượt xem

Đánh giá

Lệnh gzip là một trong những lệnh nén file hữu ích nhất trên Linux. Lệnh này sử dụng thuật toán Lempel-Ziv coding (LZ77) để giảm kích thước file. gzip có thể nén các file chưa được nén và giải nén các file đã nén. Trong bài viết này chúng ta sẽ cùng tìm hiểu chi tiết hơn về lệnh gzip qua các ví dụ cụ thể.

Những điểm chính

Dưới đây là những nội dung chính trong bài viết mà bạn cần nắm để hiểu rõ về lệnh gzip trong Linux và biết cách sử dụng hiệu quả:

  • Lệnh gzip trong Linux là gì: Giới thiệu khái quát về lệnh gzip và cú pháp của lệnh, giúp bạn biết cách khai thác toàn bộ các tính năng.
  • Các tùy chọn: Bạn được cung cấp 5 tùy chọn cơ bản lệnh cùng các mô tả kèm theo một cách chi tiết giúp bạn biết cách sử dụng lệnh để nén và giải nén file linh hoạt theo nhu cầu.
  • Ví dụ về gzip trong Linux: Bạn hướng dẫn sử lệnh một cách cụ thể thông qua 9 ví dụ thực tế được sử dụng thông dụng nhất.
  • Vietnix – Nhà cung cấp dịch vụ Hosting, VPS, Server uy tín hàng đầu

Lệnh gzip trong Linux là gì?

Lệnh gzip trên Linux được sử dụng để nén và giải nén file. Việc nén file giúp giảm kích thước mà không làm mất dữ liệu. Lệnh này cũng có thể được dùng để kiểm tra tính toàn vẹn của file nén. Giống như một số lệnh nén khác, gzip sẽ thay thế file gốc trong quá trình nén.

Định nghĩa lệnh gzip trong Linux
Định nghĩa lệnh gzip trong Linux

Cú pháp

Lệnh gzip trong Linux có cú pháp khá đơn giản như sau:

gzip [OPTION]... [FILE]...

Trong đó: OPTION nằm trong ngoặc vuông và theo sau là ba dấu chấm, nghĩa là bạn có thể dùng nhiều tùy chọn cùng lúc. Ba dấu chấm sau FILE cũng vậy, bạn có thể chỉ định nhiều file cùng lúc.

​​Các tùy chọn của lệnh gzip

Lệnh gzip có nhiều tùy chọn. Dưới đây là bảng tóm tắt một số tùy chọn thường được sử dụng nhất.

​​Tùy chọnMô tả
-fNén file và xóa file gốc.
-kNén file nhưng không xóa file gốc.
-rNén tất cả các file trong một folder được chỉ định.
-vHiển thị tên file và tỷ lệ phần trăm giảm kích thước sau khi nén.
-dGiải nén file đã được nén.
-L hoặc -VHiển thị giấy phép và phiên bản của gzip.
Bảng mô tả các tùy chọn của lệnh gzip trong Linux

iconLưu ý

  • Các tùy chọn trong giao diện dòng lệnh (CLI) của Linux phân biệt chữ hoa chữ thường, vì vậy hãy cẩn thận khi sử dụng.
  • Để biết thêm chi tiết về tất cả các tùy chọn của lệnh gzip, bạn có thể sử dụng lệnh: man gzip.

Ví dụ 1: Nén file bằng lệnh gzip

Để nén file, bạn có thể sử dụng lệnh gzip kèm theo tùy chọn -f. Tùy chọn -f sẽ buộc nén file và xóa file gốc. Trong ví dụ này, chúng ta sẽ nén file có tên file1.txt. Bạn có thể làm theo các bước sau:

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file hiện có:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để nén file có tên file1.txt:

gzip -f word_count.sh

Bạn hãy thay file1.txt bằng tên file mà bạn muốn nén.

Bước 4: Chạy lệnh ls một lần nữa để kiểm tra kết quả.

Kết quả: Như bạn thấy trong hình, file đã được nén và file gốc không còn tồn tại.

Nén file bằng lệnh gzip
Nén file bằng lệnh gzip

Ví dụ 2: Nén nhiều file cùng lúc bằng lệnh gzip trong Linux

Trong ví dụ này, chúng ta sẽ sử dụng lệnh gzip kèm tùy chọn -f để nén nhiều file cùng lúc, cụ thể là file1.txt và file2.txt. Tùy chọn -f sẽ buộc nén file và thay thế file gốc.

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file chưa nén:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để nén 2 file cùng lúc:

gzip -f leap_year.sh week_check.sh

Bạn hãy thay leap_year.shweek_check.sh bằng tên các file mà bạn muốn nén.

Bước 4: Chạy lệnh ls một lần nữa để kiểm tra kết quả. Lúc này, bạn sẽ thấy hiển thị các file nén.

Kết quả: Sau khi thực hiện các bước trên, bạn sẽ thấy file1.txt và file2.txt đã được nén thành file1.txt.gz và file2.txt.gz, trong khi các file gốc không còn tồn tại.

Nén nhiều file cùng lúc bằng lệnh gzip trong Linux
Nén nhiều file cùng lúc bằng lệnh gzip trong Linux

Ví dụ 3: Nén file mà không xóa file gốc

Để nén file mà không xóa file gốc, bạn sử dụng tùy chọn -k với lệnh gzip. Các bước thực hiện như sau:

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file chưa nén:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để nén 2 file cùng lúc:

gzip -k program1.c program2.c

Bạn hãy thay program1.cprogram2.c bằng tên các file mà bạn muốn nén.

Bước 4: Chạy lệnh ls một lần nữa để kiểm tra kết quả. 

Kết quả: Bạn sẽ thấy cả file gốc (file1.txt, file2.txt) và file nén (file1.txt.gz, file2.txt.gz) cùng tồn tại.

Nén file mà không xóa file gốc
Nén file mà không xóa file gốc

Ví dụ 4: Giải nén file bằng lệnh gzip trong Linux

Để giải nén các file file1.txt.gz và file2.txt.gz, ta sử dụng lệnh gzip kèm theo tùy chọn -d. để giải nén file và thay thế file nén ban đầu. Bạn thực hiện theo các bước sau:

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file đã nén:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để giải nén 2 file cùng lúc:

gzip -d leap_year.sh.gz week_check.sh.gz

Bạn hãy thay leap_year.sh.gzweek_check.sh.gz bằng tên các file nén mà bạn muốn giải nén.

Bước 4: ​​Gõ lệnh ls và nhấn Enter một lần nữa để kiểm tra kết quả.

Kết quả: Như bạn thấy trong kết quả, các file đã được giải nén và file nén ban đầu đã bị xóa.

Giải nén file bằng lệnh gzip trong Linux
Giải nén file bằng lệnh gzip trong Linux

Ví dụ 5: Nén tất cả file trong một folder cụ thể bằng lệnh gzip

Để nén các file file1.txt và file2.txt trong folder MyFolder, ta sử dụng lệnh gzip kèm theo tùy chọn -r. Các bước thực hiện như sau:

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file đã giải nén:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để di chuyển đến folder chứa folder có các file mà bạn muốn nén.

cd ..

iconLưu ý

Để nén tất cả file trong một thư mục, bạn cần chạy lệnh từ folder chứa folder đó. Ví dụ, nếu MyFolder nằm trong /home/user/Documents, bạn cần cd đến /home/user/Documents trước khi chạy lệnh gzip.

Bước 4: Gõ lệnh sau và nhấn Enter để nén tất cả file trong folder MyFolder.

gzip -r file\ simple\ code/

Bước 5: Liệt kê lại các file bằng lệnh ls để kiểm tra kết quả.

Kết quả: Như bạn thấy, tất cả các file trong folder MyFolder đã được nén và các file gốc đã bị xóa.

Nén tất cả file trong một folder cụ thể bằng lệnh gzip
Nén tất cả file trong một folder cụ thể bằng lệnh gzip

Ví dụ 6: Giải nén tất cả file trong một folder cụ thể

Để giải nén các file file1.txt.gz và file2.txt.gz trong folder MyFolder, bạn có thể sử dụng lệnh gzip với tùy chọn -d (giải nén, tương đương gunzip) và -r (đệ quy, áp dụng cho tất cả file trong thư mục).

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file nén:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để di chuyển đến folder chứa folder MyFolder.

cd ..

iconLưu ý

Lệnh cd .. sẽ đưa bạn đến folder home vì folder MyFolder  được đặt trong folder home. Để nén tất cả các file trong folder mong muốn, bạn cần chắc chắn rằng mình đang ở trong folder chứa folder đó trước khi chạy lệnh.

Bước 4: Gõ lệnh sau và nhấn Enter để giải nén tất cả file trong folder MyFolder.

gzip -dr file\ simple\ code/

Bước 5: Liệt kê lại các file bằng lệnh ls để kiểm tra kết quả.

Kết quả: Bạn sẽ thấy tất cả các file trong folder MyFolder đã được giải nén và các file nén gốc (.gz) đã bị xóa.

Giải nén tất cả file trong một folder cụ thể
Giải nén tất cả file trong một folder cụ thể

Ví dụ 7: Kiểm tra tính toàn vẹn của file nén

Bạn có thể sử dụng lệnh gzip với tùy chọn -t để kiểm tra tính toàn vẹn của file nén. Các bước thực hiện như sau:

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để liệt kê các file nén hiện có:

ls

Bước 3: Gõ lệnh sau và nhấn Enter để kiểm tra tính toàn vẹn của file1.txt.gz.

gzip -t program1.gz

iconLưu ý

File không bị lỗi nên lệnh sẽ không hiển thị gì. Nếu file bị lỗi, lệnh sẽ hiển thị thông báo lỗi.

Bước 4: Gõ lệnh sau và nhấn Enter để kiểm tra tính toàn vẹn của program.tar.gz.

gzip -t program.tar.gz

Kết quả: Hình minh hoạ cho thấy kết quả của lệnh trên là thông báo lỗi “gzip: newzip.txt.gz: unexpected end of file”. Điều này có nghĩa là file newzip.txt.gz bị lỗi, không phải là một file nén hợp lệ, mặc dù nó có đuôi .gz. Trong khi đó, file1.txt.gz không hiển thị lỗi, chứng tỏ đây là một file nén hợp lệ.

Kiểm tra tính toàn vẹn của file nén
Kiểm tra tính toàn vẹn của file nén

Ví dụ 8: Xem tỷ lệ nén và thông tin của file được chỉ định

Để hiển thị tỷ lệ nén và thống kê của một file, bạn sử dụng lệnh gzip với tùy chọn -l. Thông tin này cần cho việc chẩn đoán.

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để hiển thị tỷ lệ nén và thông tin của check_file_format.gz.

gzip -l check_file_format.sh.gz

Bạn có thể thay check_file_format.gz bằng tên file nén mà bạn muốn kiểm tra.

Kết quả: Lệnh sẽ hiển thị tỷ lệ nén và thông tin chi tiết về file nén.

Giải thích kết quả:

  • compressed: Kích thước của file sau khi nén (tính bằng byte). Trong ví dụ này là 54 byte.
  • uncompressed: Kích thước của file trước khi nén (tính bằng byte). Trong ví dụ này là 24 byte.
  • ratio: Tỷ lệ nén. Giá trị âm -8.3% trong trường hợp này cho thấy file thực tế đã tăng kích thước sau khi nén. Điều này có thể xảy ra với các file nhỏ, vì thông tin bổ sung được thêm vào file nén để quản lý quá trình giải nén.
  • uncompressed_name: Tên của file gốc trước khi nén. Trong ví dụ này là file1.txt.
Xem tỷ lệ nén và thông tin của file được chỉ định
Xem tỷ lệ nén và thông tin của file được chỉ định

Ví dụ 9: Xem giấy phép và phiên bản của gzip

Bạn có thể dùng lệnh gzip -V hoặc gzip -L để xem thông tin giấy phép và phiên bản của lệnh gzip.

Bước 1: Mở Terminal trong Ubuntu.

Bước 2: Gõ 1 trong 2 lệnh sau và nhấn Enter để hiển thị giấy phép và phiên bản của gzip:

gzip -V

Hoặc

gzip -L

Kết quả: Kết quả hiển thị trên terminal sẽ là giấy phép và phiên bản của gzip.

Xem giấy phép và phiên bản của gzip
Xem giấy phép và phiên bản của gzip

Vietnix – Nhà cung cấp dịch vụ Hosting, VPS, Server uy tín hàng đầu

Trải qua hơn 12 năm hoạt động trên thị trường, Vietnix đã mang đến các nền tảng công nghệ hiện đại, tiên tiến, được hơn 80.000 khách hàng tin tưởng lựa chọn và đạt chứng nhận ISO 27001, ISO 9001. Trong đó, Vietnix nổi bật với các dịch vụ Hosting, VPS, Server đáp ứng mọi quy mô doanh nghiệp, cung cấp hiệu năng vượt trội và độ bảo mật cao. Hãy trải nghiệm sự khác biệt với Vietnix ngay hôm nay!

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Websitehttps://vietnix.vn/

Bài viết đã cung cấp cho bạn những thông tin chi tiết về lệnh gzip trong Linux cũng như cách sử dụng để nén và giải nén file. Hy vọng những kiến thức này sẽ hữu ích cho bạn trong việc quản lý hệ thống Linux và tối ưu hóa hiệu suất lưu trữ dữ liệu của mình! Nếu bạn muốn tìm hiểu thêm về các lệnh khác trong Linux, bạn hãy tham khảo các bài viết dưới đây:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG