Được viết bởi Mark Adler, Pigz là từ viết tắt của Parallel Implementation của GZip. Đó là một công cụ nén tiện lợi giúp bạn nén các tệp với tốc độ cực nhanh. Là một cải tiến của tiện ích gzip cũ tốt, nó sử dụng nhiều lõi và bộ xử lý để nén dữ liệu.

Hướng dẫn này chiếu nhiều ánh sáng hơn Pigz và hướng dẫn bạn cách sử dụng tiện ích để nén tệp trong hệ thống Linux.

Cài đặt Pigz trên hệ thống Linux

Đang cài đặt Pigz là một cuộc đi bộ trong công viên bởi vì Pigz được chứa trong kho lưu trữ chính thức cho các bản phân phối chính như DebianCentOS.

Bạn có thể cài đặt Pigz trong một lệnh duy nhất trong các bản phân phối khác nhau bằng cách sử dụng trình quản lý gói tương ứng của chúng như sau.

$ sudo apt install pigz  [On Debian/Ubuntu]
$ sudo dnf install pigz  [On CentOS/RHEL/Fedora]
$ sudo pacman -S pigz    [On Arch/Manjaro Linux] 
OR
$ yay -S pigz

Cách nén tệp bằng Pigz

Để nén một tệp thành định dạng zip, hãy sử dụng cú pháp.

$ pigz filename

Trong hướng dẫn này, chúng tôi sẽ sử dụng tệp ubuntu-20.04-beta-desktop-amd64.iso cho mục đích trình diễn. Để nén tệp, hãy thực thi:

$ pigz ubuntu-20.04-beta-desktop-amd64.iso
Nén tệp trong Linux

Tuy nhiên, lệnh xóa tệp gốc khi nén như bạn có thể nhận thấy. Để giữ lại tệp gốc sau khi nén, hãy chạy bằng cách sử dụng -k như hình.

$ pigz -k ubuntu-20.04-beta-desktop-amd64.iso
Nén tệp mà không cần xóa
Nén tệp mà không cần xóa

Từ kết quả đầu ra, chúng ta có thể thấy rõ rằng tệp gốc đã được giữ lại ngay cả sau khi nén.

Kiểm tra nội dung của tệp nén trong Linux

Để kiểm tra nội dung của tệp nén, bao gồm cả số liệu thống kê về tỷ lệ nén đạt được, hãy sử dụng -l pigz:

$ pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz
Xem nội dung của tệp nén trong Linux
Xem nội dung của tệp nén trong Linux

Từ đầu ra, bạn không chỉ xem được nội dung của tệp nén mà còn cả phần trăm nén trong trường hợp này là 1.9%.

Ngoài ra, bạn có thể sử dụng các cấp độ nén khác nhau tồn tại từ 1 đến 9. Các mức nén sau được hỗ trợ:

  • 6 – Nén mặc định.
  • 1 – Nhanh nhất nhưng cung cấp ít nén nhất.
  • 9 – Nén chậm nhất nhưng tốt nhất.
  • 0 – Không nén.

Ví dụ: để nén tệp với mức nén tốt nhất, hãy thực thi:

$ pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

Cách nén thư mục với Pigz

Bởi bản thân, Pigz không có tùy chọn để nén một thư mục, nó chỉ nén các tệp đơn lẻ. Như một giải pháp thay thế, pigz được sử dụng cùng với lệnh tar để nén các thư mục.

Để nén một thư mục, hãy sử dụng –use-compress-program đối số như được hiển thị:

$ tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1
Nén thư mục trong Linux
Nén thư mục trong Linux

Làm thế nào để giới hạn số lượng bộ xử lý trong khi nén

Chúng tôi đã đề cập trước đó rằng pigz sử dụng nhiều lõi & bộ xử lý khi nén tệp. Bạn có thể chỉ định số lõi sẽ được sử dụng bằng cách sử dụng -p.

Trong ví dụ này, bên dưới, chúng tôi đã sử dụng cách nén tốt nhất (biểu thị bằng -9) với 4 bộ xử lý (-p4) trong khi vẫn giữ lại tệp gốc (-k).

$ pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

Cách giải nén tệp bằng Pigz

Để giải nén một tệp hoặc thư mục bằng pigz, hãy sử dụng -d hoặc là unpigz.

Sử dụng tệp ISO nén của chúng tôi, lệnh sẽ là:

$ pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
$ unpigz dir1.tar.gz
Giải nén tệp trong Linux
Giải nén tệp trong Linux

So sánh giữa Pigz và Gzip

Chúng tôi đã đi xa hơn một chút và đọ sức Pigzst Gzip.

Đây là kết quả:

Nén Gzip

$ time gzip ubuntu-20.04-beta-desktop-amd64.iso
Kiểm tra thời gian nén Gzip
Kiểm tra thời gian nén Gzip

Nén Pigz

$ time pigz ubuntu-20.04-beta-desktop-amd64.iso
Kiểm tra thời gian nén Pigz
Kiểm tra thời gian nén Pigz

Giải nén Gzip

$ time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz
Kiểm tra thời gian giải nén Gzip
Kiểm tra thời gian giải nén Gzip

Giải nén Pigz

$ time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz
Kiểm tra thời gian giải nén Pigz
Kiểm tra thời gian giải nén Pigz

Từ so sánh, chúng ta có thể thấy rõ rằng thời gian nén và giải nén cho Pigz ngắn hơn nhiều so với Gzip. Điều này ngụ ý rằng công cụ dòng lệnh Pigz nhanh hơn nhiều so với công cụ Gzip

Để biết thêm chi tiết về việc sử dụng pigzhãy truy cập các trang người đàn ông.

$ man pigz

Hơn nữa, hãy chạy lệnh bên dưới để xem tất cả các tùy chọn có sẵn để sử dụng với pigz.

$ pigz --help
Lệnh trợ giúp của Pigz
Lệnh trợ giúp của Pigz

Và bạn có nó rồi đấy! Chúng tôi đã bao gồm pigzcông cụ -line và chỉ cho bạn cách bạn có thể nén và giải nén các tệp. Chúng tôi đã đi xa hơn và so sánh Pigz Gzip và phát hiện ra rằng Pigz là tốt hơn cả hai về tốc độ nén và giải nén. Chúng tôi mời bạn thử và cho chúng tôi biết nó đã diễn ra như thế nào.