Lệnh pbzip2 trong Linux

Đa số các máy tính ngày nay được trang bị các CPU có nhiều nhân – với người dùng nó gần như có nghĩa là chúng ta có nhiều CPU 1 nhân trong hệ thống của chúng ta. Tuy nhiên, có 1 CPU nhiều nhân không có nghĩa là chương trình của chúng ta sẽ chạy nhanh hơn, điều quan trọng là chính các chương trình phải được thiết kế để chạy nhanh hơn trên các bộ xử lý đa nhân.

Phần lớn các lệnh nén mà chúng ta đã đề cập cho đến bây giờ sẽ chỉ sử dụng 1 CPU, chính xác hơn là sử dụng 1 nhân của CPU, do đó sẽ không quá nhanh. pbzip2 có thể sử dụng nhiều nhân của CPU, do đó giảm đi thời gian cần để nén các tập tin của chúng ta.

pbzip2 thường không được cài trước trên các bảng phân phối Linux, chúng ta sẽ phải sử dụng trình quản lý gói của mình để cài đặt nó.

1. Nén 1 tập tin hoặc thư mục

Để nén tập tin với pbzip2, chúng ta sử dụng lệnh sau:

$ pbzip2 myfile

pbzip2 sẽ tự động nhận diện số nhân của CPU trên hệ thống của chúng ta và nén tập tin myfile thành myfile.bz2

2. Nén nhiều tập tin

Để nén và lưu trữ nhiều tập tin hoặc thư mục, chúng ta sử dụng pbzip2 kết hợp với tar như sau:

$ tar –cf myfile.tar.bz2 –use-compress-prog=pbzip2 dir_to_compress/

Hoặc

$ tar –c directory_to_compress/ | pbzip2 –c > myfile.tar.bz2

3. Giải nén tập tin pbzip2

Để giải nén và lấy ra nội dung của tập tin pbzip2, chúng ta sử dụng cú pháp sau:

$ pbzip2 –d myfile.bz2

Nếu đó là 1 tập tin tar.bz2, chúng ta có thể thực hiện việc giải nén và trích xuất nội dung trong 1 bước như sau:

$ pbzip2 –dc myfile.tar.bz2 | tar -x

Bên trong pbzip2 sử dụng những giải thuật nén tương tự như bzip2, nhưng nó nén các gói dữ liệu riêng biệt 1 cách đồng thời  sử dụng pthreads – 1 thư viện về luồng. Tuy nhiên, điều này hoàn toàn vô hình với người dùng và những gì diễn ra là việc nén nhanh hơn.

Giống như gzip hay bzip2, pbzip2 tự nó không tạo ra các tập tin lưu trữ, nó chỉ có thể làm việc với 1 tập tin. Vì vậy, để nén nhiều tập tin và thư mục, chúng ta sử dụng nó kết hợp với tar.

4. Khai báo thủ công số lượng CPU

Sử dụng tùy chọn –p với pbzip2 để chỉ ra số lượng nhân CPU 1 cách thủ công. Việc này hữu dụng nếu việc nhận diện tự động thất bại hoặc chúng ta muốn sử dụng 1 vài nhân CPU cho những việc khác.

$ pbzip2 –p4 myfile.tar

Trong lệnh trên, pbzip2 sẽ sử dụng 4 CPU, hay chính xác hơn là 4 nhân của CPU.

5. Chỉ định tỉ lệ nén

Giống như các công cụ nén khác, chúng ta có thể sử dụng các tùy chọn từ 1 đến 9 để chỉ rõ tỉ lệ nén nhanh nhất hay tốt nhất.

$ pbzip2 -5 myfile

Chúng ta kết thúc bài tìm hiểu về cách lưu trữ và nén dữ liệu với lệnh pbzip2 trong Linux tại đây. Chúc các bạn thành công!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.