Bunzip2 - Lệnh Linux - Lệnh Unix

TÊN

bzip2, bunzip2 - máy nén tệp phân loại khối, v1.0.2
bzcat - giải nén tập tin để stdout
bzip2recover - khôi phục dữ liệu từ các tệp bzip2 bị hỏng

TÓM TẮC

bzip2 [ -cdfkqstvzVL123456789 ] [ tên tệp ... ]
bunzip2 [ -fkvsVL ] [ tên tập tin ... ]
bzcat [ -s ] [ tên tập tin ... ]
tên tệp bzip2recover

SỰ MIÊU TẢ

bzip2 nén các tệp bằng cách sử dụng thuật toán nén văn bản phân loại khối Burrows-Wheeler và mã hóa Huffman. Nén nói chung là tốt hơn đáng kể so với đạt được bằng máy nén LZ77 / LZ78 thông thường hơn và tiếp cận hiệu suất của dòng máy nén thống kê PPM.

Các tùy chọn dòng lệnh cố ý rất giống với các tùy chọn của GNU gzip, nhưng chúng không giống nhau.

bzip2 mong đợi một danh sách các tên tập tin đi kèm với các cờ dòng lệnh. Mỗi tệp được thay thế bằng phiên bản nén của chính nó, với tên "original_name.bz2". Mỗi tệp nén có cùng ngày sửa đổi, quyền và, khi có thể, quyền sở hữu làm bản gốc tương ứng, để các thuộc tính này có thể được khôi phục chính xác vào thời gian giải nén. Xử lý tên tệp là ngây thơ theo nghĩa là không có cơ chế để giữ nguyên tên tệp gốc, quyền, quyền sở hữu hoặc ngày trong hệ thống tệp thiếu các khái niệm này hoặc có giới hạn độ dài tên tệp nghiêm trọng, chẳng hạn như MS-DOS.

bzip2bunzip2 theo mặc định sẽ không ghi đè lên các tệp hiện có . Nếu bạn muốn điều này xảy ra, hãy chỉ định cờ -f.

Nếu không có tên tệp nào được chỉ định, bzip2 sẽ nén từ đầu vào chuẩn thành đầu ra tiêu chuẩn. Trong trường hợp này, bzip2 sẽ từ chối ghi kết quả nén vào một thiết bị đầu cuối, vì điều này sẽ hoàn toàn không thể hiểu được và do đó vô nghĩa.

bunzip2 (hoặc bzip2 -d) giải nén tất cả các tệp được chỉ định. Các tệp không được tạo bởi bzip2 sẽ được phát hiện và bỏ qua và một cảnh báo đã được phát hành. bzip2 cố gắng đoán tên tập tin cho tập tin giải nén từ tập tin nén như sau:


filename.bz2 trở thành tên tệp
filename.bz trở thành tên tệp
filename.tbz2 trở thành filename.tar
filename.tbz trở thành filename.tar
anyothername trở thành anyothername.out

Nếu tệp không kết thúc bằng một trong các kết thúc được công nhận, .bz2, .bz, .tbz2 hoặc .tbz, bzip2 sẽ phàn nàn rằng nó không thể đoán tên của tệp gốc và sử dụng tên gốc có đuôi .out được nối thêm.

Như với nén, cung cấp không có tên tập tin gây ra giải nén từ đầu vào tiêu chuẩn để đầu ra tiêu chuẩn.

bunzip2 sẽ giải nén chính xác một tập tin mà là nối của hai hoặc nhiều tập tin nén. Kết quả là ghép nối các tệp không nén tương ứng. Kiểm tra tính toàn vẹn (-t) của các tệp nén được ghép nối cũng được hỗ trợ.

Bạn cũng có thể nén hoặc giải nén các tệp thành đầu ra tiêu chuẩn bằng cách cung cấp cờ c. Nhiều tệp có thể được nén và giải nén như thế này. Các kết quả đầu ra được cung cấp tuần tự cho stdout. Nén nhiều tệp theo cách này tạo ra một luồng chứa nhiều biểu diễn tệp được nén. Một luồng như vậy có thể được giải nén một cách chính xác chỉ bằng bzip2 phiên bản 0.9.0 hoặc mới hơn. Các phiên bản trước của bzip2 sẽ dừng sau khi giải nén tập tin đầu tiên trong luồng.

bzcat (hoặc bzip2 -dc) giải nén tất cả các tệp được chỉ định thành đầu ra tiêu chuẩn.

bzip2 sẽ đọc các đối số từ các biến môi trường BZIP2BZIP, theo thứ tự đó và sẽ xử lý chúng trước khi bất kỳ đối số nào đọc từ dòng lệnh. Điều này mang lại một cách thuận tiện để cung cấp các đối số mặc định.

Nén luôn được thực hiện, ngay cả khi tệp nén lớn hơn một chút so với tệp gốc. Các tệp có kích thước nhỏ hơn một trăm byte có xu hướng lớn hơn, vì cơ chế nén có phí trên không liên tục trong vùng là 50 byte. Dữ liệu ngẫu nhiên (bao gồm cả đầu ra của hầu hết các máy nén tập tin) được mã hóa ở khoảng 8.05 bit mỗi byte, cho phép mở rộng khoảng 0.5%.

Để tự kiểm tra bảo vệ của mình, bzip2 sử dụng CRC 32 bit để đảm bảo rằng phiên bản giải nén của tệp giống hệt với tệp gốc. Vệ sĩ này chống lại tham nhũng của dữ liệu nén và chống lại các lỗi không được phát hiện trong bzip2 (hy vọng rất khó xảy ra). Cơ hội tham nhũng dữ liệu không bị phát hiện là vi mô, khoảng một cơ hội trong bốn tỷ cho mỗi tập tin được xử lý. Tuy nhiên, hãy lưu ý rằng việc kiểm tra xảy ra khi giải nén, vì vậy nó chỉ có thể cho bạn biết rằng có điều gì đó không ổn. Nó không thể giúp bạn khôi phục dữ liệu chưa nén ban đầu. Bạn có thể sử dụng bzip2recover để cố khôi phục dữ liệu từ các tệp bị hỏng.

Trả về giá trị: 0 cho một lối thoát bình thường, 1 cho các vấn đề môi trường (không tìm thấy tập tin, cờ không hợp lệ, lỗi I / O, & c), 2 để chỉ ra tệp nén bị hỏng, 3 cho lỗi thống nhất nội bộ (ví dụ: lỗi) bzip2 hoảng sợ.

TÙY CHỌN

-c --stdout

Nén hoặc giải nén thành đầu ra tiêu chuẩn.

-d --dpresspress

Buộc giải nén. bzip2, bunzip2bzcat thực sự là cùng một chương trình, và quyết định về những hành động cần thực hiện được thực hiện trên cơ sở tên được sử dụng. Cờ này ghi đè cơ chế đó và buộc bzip2 giải nén.

-z --compress

Bổ sung cho d: lực nén, bất kể tên gọi.

-t --test

Kiểm tra tính toàn vẹn của (các) tệp đã chỉ định, nhưng không giải nén chúng. Điều này thực sự thực hiện một giải nén thử nghiệm và ném đi kết quả.

-f --force

Bắt buộc ghi đè các tệp đầu ra. Thông thường, bzip2 sẽ không ghi đè lên các tệp đầu ra hiện có. Đồng thời buộc bzip2 phá vỡ các liên kết cứng tới các tệp, nếu không nó sẽ không hoạt động.

bzip2 thường từ chối giải nén các tệp không có byte tiêu đề ma thuật chính xác. Nếu buộc (-f), tuy nhiên, nó sẽ vượt qua các tập tin như vậy thông qua chưa sửa đổi. Đây là cách GNU gzip hoạt động.

-k -keep

Giữ (không xóa) các tập tin đầu vào trong khi nén hoặc giải nén.

-s - nhỏ

Giảm mức sử dụng bộ nhớ, để nén, giải nén và thử nghiệm. Các tập tin được giải nén và thử nghiệm bằng cách sử dụng một thuật toán sửa đổi mà chỉ yêu cầu 2,5 byte cho mỗi byte khối. Điều này có nghĩa là bất kỳ tập tin nào cũng có thể được giải nén trong 2300k bộ nhớ, mặc dù chỉ bằng một nửa tốc độ bình thường.

Trong quá trình nén, -s chọn kích thước khối là 200k, giới hạn mức sử dụng bộ nhớ xung quanh cùng một hình, với chi phí của tỷ lệ nén của bạn. Tóm lại, nếu máy của bạn có bộ nhớ thấp (8 megabyte trở xuống), hãy sử dụng -s cho mọi thứ. Xem QUẢN LÝ NHỚ bên dưới.

-q --quiet

Loại bỏ các thông báo cảnh báo không cần thiết. Các thông điệp liên quan đến lỗi I / O và các sự kiện quan trọng khác sẽ không bị chặn.

-v - tiết

Chế độ chi tiết - hiển thị tỷ lệ nén cho mỗi tệp được xử lý. Thêm -v làm tăng mức độ chi tiết, phun ra rất nhiều thông tin mà chủ yếu là quan tâm cho mục đích chẩn đoán.

-L --license -V --version

Hiển thị phiên bản phần mềm, điều khoản và điều kiện cấp phép.

-1 (hoặc - nhanh) đến -9 (hoặc - tốt nhất)

Đặt kích thước khối thành 100 k, 200 k .. 900 k khi nén. Không có tác dụng khi giải nén. Xem QUẢN LÝ NHỚ bên dưới. Các bí danh --fast và --best chủ yếu cho tương thích GNU gzip. Đặc biệt, - nhanh không làm cho mọi thứ nhanh hơn đáng kể. Và --best chỉ chọn hành vi mặc định.

Xử lý tất cả các đối số tiếp theo dưới dạng tên tệp, ngay cả khi chúng bắt đầu bằng dấu gạch ngang. Điều này là để bạn có thể xử lý các tệp có tên bắt đầu bằng dấu gạch ngang, ví dụ: bzip2 - -myfilename.

- nhanh chóng - nhanh chóng - tốt nhất

Những lá cờ này thừa trong các phiên bản 0.9.5 trở lên. Họ cung cấp một số kiểm soát thô đối với hành vi của thuật toán sắp xếp trong các phiên bản trước đó, đôi khi hữu ích. 0.9.5 và ở trên có một thuật toán cải tiến mà làm cho những lá cờ này không liên quan.

Quan trọng: Sử dụng lệnh man ( % man ) để xem cách một lệnh được sử dụng trên máy tính cụ thể của bạn.

Những bài viết liên quan