Skip to main content

Bunzip2 - Linux Command

Linux - Podstawowe operacje na archiwach tar.gz (Czerwiec 2026)

Linux - Podstawowe operacje na archiwach tar.gz (Czerwiec 2026)
Anonim

IMIĘ

bzip2, bunzip2 - kompresor plików sortujących klocki, v1.0.2bzcat - dekompresuje pliki do stdoutbzip2recover - odzyskuje dane z uszkodzonych plików bzip2

STRESZCZENIE

bzip2 -cdfkqstvzVL123456789 nazwy plików … bunzip2 -fkvsVL nazwy plików … bzcat -s nazwy plików … bzip2recover Nazwa pliku

OPIS

bzip2 kompresuje pliki za pomocą algorytmu kompresji tekstu Burrows-Wheeler i kodowania Huffmana. Kompresja jest zasadniczo znacznie lepsza niż w przypadku bardziej konwencjonalnych sprężarek opartych na LZ77 / LZ78 i zbliża się do wydajności sprężarek statycznych z rodziny PPM.

Opcje wiersza polecenia są celowo bardzo podobne do opcji GNU gzip, ale nie są identyczne.

bzip2 spodziewa się listy nazw plików, które będą towarzyszyć flagom wiersza poleceń. Każdy plik jest zastępowany przez jego skompresowaną wersję o nazwie "original_name.bz2". Każdy skompresowany plik ma tę samą datę modyfikacji, uprawnienia i, jeśli to możliwe, prawo własności jako odpowiadający oryginał, aby te właściwości mogły być poprawnie przywrócone w czasie dekompresji. Obsługa nazw plików jest naiwna w tym sensie, że nie ma mechanizmu zachowywania oryginalnych nazw plików, uprawnień, właścicieli lub dat w systemach plików, które nie mają tych pojęć lub mają poważne ograniczenia dotyczące długości nazw plików, takie jak MS-DOS.

bzip2 i bunzip2 domyślnie nie zastąpi istniejących plików. Jeśli chcesz, aby tak się stało, określ opcję -f.

Jeśli nie podano nazw plików, bzip2 kompresuje ze standardowego wejścia na standardowe wyjście. W tym przypadku, bzip2 odmówi zapisania skompresowanego wyjścia do terminala, ponieważ byłoby to całkowicie niezrozumiałe, a zatem bezcelowe.

bunzip2 (lub bzip2 -d) dekompresuje wszystkie określone pliki. Pliki, które nie zostały utworzone przez bzip2 zostanie wykryty i zignorowany oraz wydane ostrzeżenie. bzip2 próbuje odgadnąć nazwę pliku dla rozpakowanego pliku pliku skompresowanego w następujący sposób:

filename.bz2 staje się nazwą pliku filename.bz staje się nazwą pliku filename.tbz2 staje się filename.tar filename.tbz staje się filename.tar anyothername staje się anyothername.out

Jeśli plik nie kończy się na jednym z rozpoznanych zakończeń, .bz2, .bz, .tbz2 lub .tbz, bzip2 narzeka, że ​​nie może odgadnąć nazwy oryginalnego pliku i używa oryginalnej nazwy .na zewnątrz dołączone.

Podobnie jak w przypadku kompresji, brak nazwy pliku powoduje dekompresję ze standardowego wejścia na standardowe wyjście.

bunzip2 poprawnie zdekompresuje plik będący połączeniem dwóch lub więcej skompresowanych plików. Rezultatem jest łączenie odpowiednich nieskompresowanych plików. Obsługiwane jest również testowanie integralności (-t) połączonych skompresowanych plików.

Możesz także kompresować lub dekompresować pliki na standardowe wyjście, podając opcję -c. Wiele plików może być skompresowanych i zdekompresowanych w ten sposób. Wynikowe wyniki są podawane sekwencyjnie na standardowe wyjście. Kompresja wielu plików w ten sposób generuje strumień zawierający wiele skompresowanych reprezentacji plików. Taki strumień może zostać zdekompresowany poprawnie tylko przez bzip2 wersja 0.9.0 lub nowsza. Wcześniejsze wersje bzip2 zatrzyma się po rozpakowaniu pierwszego pliku w strumieniu.

bzcat (lub bzip2 -dc) dekompresuje wszystkie określone pliki na standardowe wyjście.

bzip2 odczyta argumenty ze zmiennych środowiskowych BZIP2 i BZIP, w tej kolejności i przetwarza je przed odczytaniem jakichkolwiek argumentów z linii poleceń. Daje to wygodny sposób dostarczania domyślnych argumentów.

Kompresja jest zawsze wykonywana, nawet jeśli skompresowany plik jest nieco większy niż oryginał. Pliki o rozmiarze mniejszym niż około 100 bajtów mają tendencję do powiększania, ponieważ mechanizm kompresji ma stały narzut w obszarze 50 bajtów. Dane losowe (w tym dane wyjściowe większości kompresorów plików) są kodowane z szybkością około 8,05 bitów na bajt, co daje wzrost o około 0,5%.

Jako samodzielna kontrola dla twojej ochrony, bzip2 używa 32-bitowych CRC, aby upewnić się, że zdekompresowana wersja pliku jest identyczna z oryginałem. Chroni to przed uszkodzeniem skompresowanych danych i przed nie wykrytymi błędami bzip2 (mam nadzieję, że bardzo mało prawdopodobne). Szanse na niezauważone uszkodzenie danych są mikroskopijne, jedna szansa na cztery miliardy na każdy przetworzony plik. Należy jednak pamiętać, że kontrola następuje po dekompresji, więc może tylko powiedzieć, że coś jest nie tak. Nie może pomóc w odzyskaniu oryginalnych nieskompresowanych danych. Możesz użyć bzip2recover aby spróbować odzyskać dane z uszkodzonych plików.

Zwracane wartości: 0 dla normalnego wyjścia, 1 dla problemów środowiskowych (nie znaleziono pliku, nieprawidłowe flagi, błędy we / wy, & c), 2 dla wskazania uszkodzonego skompresowanego pliku, 3 dla wewnętrznego błędu zgodności (np. Błąd), który spowodował bzip2 panikować.

OPCJE

-c --stdout

Kompresuj lub dekompresuj na standardowe wyjście.

-d --decompress

Wymuś dekompresję. bzip2, bunzip2 i bzcat to naprawdę ten sam program, a decyzja o tym, jakie działania podjąć, jest podejmowana na podstawie tego, która nazwa jest używana. Ta flaga zastępuje ten mechanizm i wymusza bzip2 dekompresować.

-z --compress

Uzupełnienie opcji -d: wymusza kompresję, niezależnie od nazwy wywołania.

-t --test

Sprawdź integralność podanych plików, ale nie rozpakowuj ich. To naprawdę wykonuje próbną dekompresję i wyrzuca wynik.

-f - siła

Wymuś nadpisanie plików wyjściowych. Normalnie bzip2 nie zastąpi istniejących plików wyjściowych. Także siły bzip2 łamać twarde linki do plików, których inaczej by nie zrobił.

bzip2 zwykle odmawia dekompresji plików, które nie mają właściwych magicznych bajtów nagłówka. Jeśli jednak wymusi (-f), przekaże takie pliki przez niezmodyfikowane. Tak zachowuje się GNU gzip.

-k --keep

Zachowaj (nie usuwaj) pliki wejściowe podczas kompresji lub dekompresji.

-s - małe

Zmniejsz zużycie pamięci, kompresję, dekompresję i testowanie. Pliki są dekompresowane i testowane przy użyciu zmodyfikowanego algorytmu, który wymaga tylko 2,5 bajta na bajt blokowy. Oznacza to, że dowolny plik może zostać zdekompresowany w 2300 tys. Pamięci, aczkolwiek przy około połowie normalnej prędkości.

Podczas kompresji, -s wybiera rozmiar bloku 200k, co ogranicza użycie pamięci do około tej samej liczby, kosztem współczynnika kompresji. Krótko mówiąc, jeśli twoja pamięć ma mało pamięci (8 megabajtów lub mniej), użyj -s do wszystkiego. Zobacz poniżej ZARZĄDZANIE PAMIĘCIĄ.

-q --quiet

Ukryj nieistotne komunikaty ostrzegawcze. Komunikaty dotyczące błędów we / wy i innych krytycznych zdarzeń nie będą tłumione.

-v --verbose

Tryb szczegółowy - pokazuje współczynnik kompresji dla każdego przetwarzanego pliku. Dalej -v zwiększa poziom gadatliwości, wypluwając wiele informacji, które są szczególnie interesujące dla celów diagnostycznych.

-L --license -V - wersja

Wyświetl wersję oprogramowania, warunki licencji.

-1 (lub --fast) do -9 (lub --best)

Ustaw rozmiar bloku na 100 k, 200 k. 900 k podczas kompresji. Nie ma wpływu podczas dekompresji. Zobacz poniżej ZARZĄDZANIE PAMIĘCIĄ. The --fast i --best aliasy są przede wszystkim kompatybilne z GNU gzip. W szczególności, - fast nie robi rzeczy znacznie szybciej. I --best tylko wybiera domyślne zachowanie.

Traktuje wszystkie kolejne argumenty jako nazwy plików, nawet jeśli zaczynają się od kreski. Dzięki temu możesz obsługiwać pliki o nazwach zaczynających się od myślnika, na przykład: bzip2 - -mojej nazwa pliku.

--repetitive-fast --repetitive-best

Te flagi są zbędne w wersjach od 0.9.5 i wyższych. Zapewniały one niewielką kontrolę nad zachowaniem algorytmu sortowania we wcześniejszych wersjach, co czasem było przydatne. 0.9.5 i wyższe mają udoskonalony algorytm, który czyni te flagi nieistotnymi.

Ważny: Użyj mężczyzna dowództwo ( % mężczyzna ), aby zobaczyć, jak polecenie jest używane na danym komputerze.

Powiązane artykuły

  • Linux Command: compress
  • Przykładowe zastosowania polecenia powłoki Linux "bzip2"