Thứ Sáu, 28 tháng 7, 2023

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.

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ó.

Mục lục

  • 1. Cú pháp lệnh gzip trong Linux
  • 2. Nén file với lệnh gzip trong Linux
  • 3. Nén nhiều file với lệnh gzip trong Linux
  • 4. Thay đổi mức nén của lệnh gzip
  • 5. Dùng gzip để giải nén file trong Linux
  • 6. Xem nội dung của file nén gzip

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.

1
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 [tranvanbinh.vn]

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 đó:

1
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.

1
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.

1
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.

1
gzip -v filename

Kết quả như sau:

1
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.

1
gzip file1 file2 file3

Lệnh này sẽ tạo ra 3 file file1.gzfile2.gz và file3.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é.

1
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.

1
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.

1
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.

1
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é.

1
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.

1
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:

1
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.

1
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:

1
2
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.

1
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master