Cách sử dụng lệnh gzip trên Linux

Trong bài này chúng ta sẽ tìm hiểu cách sử dụng lệnh gzip trên Linux, đây là lệnh dùng để nén dữ liệu cực kì hữu ích, giúp giảm dung lượng lưu trữ trên ổ cứng.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép bạn giảm kích thước của file và giữ nguyên thông tin về dữ liệu, quyền sở hữu và timestamp của file gốc. Phần đuôi mở rộng của loại file này là .gz, bạn cũng có thể sử dụng lệnh gzip để giải nén sau khi nén nó.

1. Cú pháp lệnh gzip trong Linux

Dưới đây là cú pháp sử dụng lệnh gzip để nén file.

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

Trong đó OPTION là những tùy chọn mà chúng ta sẽ học ở phía dưới, còn FILE chính là đường dẫn đến file bạn cần nén.

Bài viết này được đăng tại [free tuts .net]

Gzip chỉ nén các file đơn lẻ và tạo ra một file nén khác có phần đuôi mở rộng là .gz hoặc .z.

Nếu bạn muốn nén nhiều file hoặc nhiều thư mục bằng gzip thì phải tạo một kho lưu trữ Tar chứa những file đó, sau đó nén tập tin .tar bằng gzip. Vì vậy, có những lúc bạn thấy file .tar.gz chính là do lệnh gzip đã nén một file .tar.

Gzip thường được sử dụng để nén các file văn bản, file lưu trữ Tar. Không sử dụng Gzip để nén hình ảnh, âm thanh, tài liệu PDF và các file nhị phân khác vì bản chất chúng đã được nén.

2. Nén file với lệnh gzip trong Linux

Để nén một file thì hãy gọi lệnh gzip và theo sau là tên của file cần nén đó:

gzip filename

Gzip sẽ tạo ra một file tên là filename.gz và xóa đi file gốc đó.

Theo mặc định thì lệnh gzip sẽ giữ nguyên thông tin về timestamp của file, mode, quyền sở hữu và tên của file gốc trong file nén.

Nếu bạn muốn sau khi nén và vẫn giữ nguyên file gốc thì hãy sử dụng tùy chọn -k.

gzip -k filename

Một cách khác để giữ file gốc là sử dụng tùy chọn -c, yêu cầu gzip chuyển hướng đầu ra là một file mới .gz.

gzip -c filename > filename.gz

Để xem thông tin chi tiết quá trình xử lý thì hãy sử dụng tùy chọn -v.

gzip -v filename 

Kết quả như sau:

filename:	  7.5% -- replaced with filename.gz

3. Nén nhiều file với lệnh gzip trong Linux

Bạn cũng có thể truyền vào nhiều file được ngăn cách nhau bởi khoảng trắng vào đằng sau lệnh gzip. Đây chính là cách viết tắt, thay vì viết mỗi file với mỗi lệnh gzip thì ta viết chung luôn.

Ví dụ: Nén 3 file dưới đây thành 3 file nén gzip mới.

gzip file1 file2 file3

Lệnh này sẽ tạo ra 3 file file1.gz, file2.gzfile3.gz. Đồng thời nó cũng xóa luôn 3 file gốc.

Nếu bạn muốn nén tất cả các file trong một thư mục thì sử dụng tùy chọn -r nhé.

gzip -r directory

gzip sẽ sử dụng thuật toán duyệt đệ quy để tìm tất cả các file và tạo file nén cho chúng.

4. Thay đổi mức nén của lệnh gzip

Gzip cho phép bạn chọn mức nén đối trong khoảng từ 1 đến 9.

  • -1 (--fast) là tốc độ nén nhanh nhất và tỉ lệ nén dung lượng tối thiểu nhất.
  • -9 (-best-) là tốc độ nén chậm nhất và tỉ lệ nén dung lượng tốt nhất.
  • Mặc định thì mức nén là -6.

Ví dụ dưới đây mình chọn mức nén là 9.

gzip -9 filename

Lưu ý rằng khi bạn chạy thuật toán nén gzip thì CPU hoạt động rất cao, vì vậy nếu chạy trên VPS yếu thì nguy cơ CPU quá tải là điều có thể xảy ra.

5. Dùng gzip để giải nén file trong Linux

Sau khi sử dụng gzip để nén file thì bạn hoàn toàn có thể sử dụng nó để giải nén, bởi chúng hiểu thuật tuán của nhau.

Để giải nén thì ta sử dụng tùy chọn -d.

gzip -d filename.gz

Có một lệnh khác cũng được dùng để giải nén file gzip đó là lệnh gunzip. Thực chất thì lệnh gunzip là một bí danh của lệnh gzip -d.

gunzip filename.gz

Khi bạn giải nén thì file nén sau khi được giải sẽ bị xóa mất. Nếu bạn muốn giữ lại file đó thì thêm tùy chọn -k nhé.

gzip -dk filename.gz

Nếu muốn giải nén nhiều file cùng lúc thì đặt chúng cách nhau bởi khoảng trắng.

gzip -d file1.gz file2.gz file3.gz

Để giải nén tất cả các file nén gzip nằm trong một thư mục nào đó thì sử dụng lệnh sau:

gzip -dr directory

6. Xem nội dung của file nén gzip

Sau khi nén file xong nếu bạn muốn xem thông tin của file đó thì hãy sử dụng tùy chọn -l.

gzip -l filename

Kết quả sẽ bao gồm tên file không nén, kích thước được nén, kích thước không được nén, tỷ lệ nén:

         compressed        uncompressed  ratio uncompressed_name
                130                 107   7.5% filename

Để xem thêm thông tin thì hãy sử dụng tùy chọn -v.

gzip -lv filename

Như vậy là mình đã hướng dẫn xong cách sử dụng lệnh gzip trong Linux, đây là lệnh dùng để nén file và giải nén file rất hũu ích trong Linux.

Cùng chuyên mục:

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top