Tất cả bí mật của nén trong GNU / Linux

Ống nén

Chúng tôi quay trở lại vấn đề thông thường trở thành một lợi thế cho nhiều người người dùng GNU / Linux nâng cao và đó là số lượng lớn các lựa chọn hoặc khả năng thay thế có sẵn. Đây có thể là một vấn đề đối với những người thiếu kinh nghiệm nhất khi không biết nên chọn cái nào, nhưng như tôi đã nói, có nhiều khả năng hoặc sự linh hoạt không bao giờ là một điều xấu, hoàn toàn ngược lại. Trong trường hợp này, chúng ta sẽ nói về các thuật toán và thủ tục nén và giải nén tồn tại trên nền tảng yêu thích của chúng tôi để bạn có thể thấy chúng khác biệt và không phải là một mớ hỗn độn khi không biết đâu là lựa chọn tốt nhất trong trường hợp của bạn ...

Sự thật là không chỉ có các công cụ được sử dụng như tar mà chúng ta có thể tạo các gói mà còn có thể được thêm một số kiểu nén như chúng ta đã quen với tarballs nổi tiếng trong số đó chúng tôi đã nói chuyện LxA trong nhiều dịp. Chúng tôi cũng sẽ tìm thấy các biến thể của các công cụ tầm thường và thường xuyên như grep để tìm kiếm bên trong các tệp nén như bzfgrep, hoặc thậm chí các biến thể khác như ít hơn và nhiều hơn cũng có các biến thể của chúng cho các tệp nén như bzless và bzmore. Để xem tất cả chúng, chúng ta chỉ cần xem đầu ra của lệnh sau:

apropos compress

Các thuật toán và thử nghiệm:

Trong số tất cả thuật toán nén không mất dữ liệu có sẵn trong Linux để nén và giải nén dữ liệu chúng ta có rất nhiều lựa chọn. Để có bằng chứng về thời gian nén bằng một hoặc một thuật toán nén khác hoặc mất bao lâu để giải nén nó, tôi khuyên bạn nên tự mình thực hiện một số kiểm tra. Bạn có thể sử dụng lệnh time cho việc đó, lệnh này sẽ cung cấp cho bạn thời gian dành cho quá trình nén và giải nén. Ví dụ: nếu bạn định sử dụng công cụ zip để nén một tệp có tên là test:

time zip prueba.zip prueba

Điều đó sẽ làm mất đi thời gian đã sử dụng, nhưng nếu bạn muốn xem kích thước của tệp được tạoBạn có thể thử nén cùng một tệp bằng các thuật toán và công cụ nén khác nhau và khi bạn có tất cả các tệp đã nén trong một thư mục bằng một lệnh đơn giản để liệt kê, hãy kiểm tra kích thước của từng tệp:

ls -l

Nếu muốn, bạn cũng có thể sử dụng các công cụ khác để so sánh các tệp nén, chẳng hạn như với một số biến thể của công cụ khác biệt:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Nếu bạn muốn xem đồ thị về kích thước và tốc độ của các thuật toán, bạn có thể truy cập liên kết khác này.

Công cụ nén:

Về các công cụ có sẵn chúng tôi có nhiều trong số chúng, một số có giao diện đồ họa cho người mới và chúng tôi chỉ cần xử lý một GUI đơn giản và trực quan để thực hiện nén và giải nén như PeaZip hoặc 7zip, ... v.v. Cụ thể, đầu tiên có khả năng làm việc với nhiều định dạng khác nhau, cụ thể là hơn 180 định dạng trong số đó. Nhưng nếu bạn là một trong những người vẫn thích làm việc với thiết bị đầu cuối, thì bạn sẽ có một số lượng lớn các công cụ mà bạn chắc chắn biết:

  • zip và giải nén: đó là một lựa chọn tốt nếu những gì bạn muốn là các tệp có thể di động sang các hệ điều hành khác, vì bạn sẽ tìm thấy các công cụ để làm việc với các tệp này trên hệ thống Microsoft Windows và cả trên macOS cũng như các hệ điều hành khác. Ví dụ: để nén một tệp hoặc thư mục có tên test và sau đó giải nén nó:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: Sẽ là tốt nhất nếu điều bạn muốn là tính di động đơn giản giữa các hệ điều hành Unix / Linux. Có thể tốc độ nén gần giống với zip, có thể tốt hơn một chút, nhưng bạn sẽ không tìm thấy sự khác biệt nhiều về kích thước tệp dưới zip hoặc gzip. Để nén và giải nén bằng công cụ này, chúng ta có thể sử dụng hai tùy chọn trong trường hợp giải nén và chúng là tùy chọn -do, trực tiếp sử dụng bí danh gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Giống như phần trước, thuật toán này xuất hiện rất nhiều trong hệ điều hành Unix / Linux, mặc dù nó sẽ mất nhiều thời gian hơn trong quá trình nén và giải nén so với trường hợp của gzip. Trong trường hợp này, độ trễ sẽ không chuyển thành tốc độ nén cao hơn như trong trường hợp xz, vì các tệp được nén dưới bzip2 sẽ chiếm nhiều hơn một chút so với các tệp gzip. Đó là lý do tại sao bạn nên tránh bzip2 và chọn xz hoặc gzip. Mặc dù mọi thứ sẽ phụ thuộc một chút vào loại tệp bạn đang cố nén ... Ví dụ:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: Đây là định dạng ưa thích cho các kích thước tệp lớn, vì nó cung cấp tốc độ nén tốt nhất, nhưng cũng đúng là sẽ mất nhiều thời gian hơn để hoàn thành một quá trình nén hoặc giải nén. Nó khá mới hơn những cái trước, vì vậy bạn có thể thấy mình có những bản phân phối nguyên thủy hơn hoặc các hệ thống Unix cũ không có công cụ cho nó. Ví dụ:
xz prueba

xz -d prueba.xz

  • unrar và rar: Chúng tôi cũng có thể làm việc với các định dạng RAR trong Linux nhờ các công cụ này, mặc dù nó không phổ biến trong trường hợp hệ thống * nix như những công cụ trước đó ... Trong trường hợp này, chúng tôi có thể chọn:
rar a prueba.rar prueba

unrar e prueba.rar

  • nén và giải nén: và mặc dù việc sử dụng nén đang bị mất dần và không còn phổ biến như những công cụ trước đó, tôi cũng không muốn bỏ qua công cụ này. Nó được sử dụng để nén các tệp có phần mở rộng .Z và làm được như vậy nhờ vào thuật toán Lempel-Ziv đã được sửa đổi. Ví dụ:
compress -v prueba

uncompress prueba.Z

Nếu bạn muốn làm việc trực tiếp với công cụ hắc ínBạn cũng có thể đóng gói và nén các tệp cùng một lúc cũng như giải nén và giải nén chúng. Trong trường hợp này, chúng ta có thể chuyển các tùy chọn của loại thuật toán để sử dụng trực tiếp cho tar. Nhưng trước hết bạn nên biết rằng với tùy chọn c, chúng tôi tạo một gói và với tùy chọn x, chúng tôi giải nén nó. Ví dụ:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Như bạn có thể thấy, chúng tôi đã sử dụng các tùy chọn zvf để chỉ ra loại thuật toán nén z (trong trường hợp này là gzip), v cho chế độ chi tiết cung cấp thông tin về những gì nó đang làm và f để cho biết tệp sẽ hoạt động với ... Chà, nếu chúng ta thay đổi điều đó z bằng một chữ cái khác tương ứng với một loại thuật toán khác, chúng ta có thể thay đổi kiểu nén được áp dụng cho tarball:

Lựa chọn Thuật toán Gia hạn
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
lzip zip .tar.lz
lma lma .tar.lzma

* Tất nhiên tất cả các lệnh trước đây đều có các tùy chọn thú vị mà tôi mời bạn khám phá bằng cách sử dụng man, một số rất cần thiết như đệ quy, v.v.

Đừng quên để lại bình luận của bạn...


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Javier Martinez Echenique dijo

    Tôi đặc biệt sử dụng 7zip

  2.   Marcelo dijo

    Bạn đã bỏ lỡ 7zip. Một lựa chọn rất tốt và PHẦN MỀM MIỄN PHÍ.

  3.   Umberto dijo

    Thông tin tuyệt vời, mặc dù tôi đã bắt đầu bằng cách nói rằng nó cũng có thể được nén và giải nén bằng đồ họa mà không có vấn đề gì để bạn không thấy "hornet" đang làm nhiệm vụ nói rằng GNU / Linux là rất khó và mọi thứ phải được thực hiện trên Bàn điều khiển. KHÔNG, LÀ LỰA CHỌN KHÁC.