Wszystkie sekrety kompresji w systemie GNU / Linux

Rury kompresyjne

Wracamy do zwykłego problemu, który dla wielu staje się zaletą zaawansowani użytkownicy GNU / Linux i jest to duża liczba dostępnych alternatyw lub możliwości. Dla najbardziej niedoświadczonych może to stanowić problem, gdy nie wiedzą dobrze, który wybrać, ale jak mówię, posiadanie większych możliwości lub elastyczności nigdy nie jest złe, wręcz przeciwnie. W takim przypadku porozmawiamy o algorytmy i procedury kompresji i dekompresji które istnieją na naszej ulubionej platformie, abyś mógł je zobaczyć w inny sposób, a nie jako wielki bałagan, nie wiedząc, która opcja jest najlepsza w Twoim przypadku ...

Prawda jest taka, że ​​istnieją nie tylko narzędzia używane jako tar, za pomocą których możemy tworzyć pakiety, do których można również dodać pewien rodzaj kompresji, jak przyzwyczailiśmy się widzieć w słynne tarballe o których już mówiliśmy LxA przy wielu okazjach. Znajdziemy również warianty takich trywialnych i częstych narzędzi, takich jak grep do przeszukiwania skompresowanych plików, takich jak bzfgrep, lub nawet innych, takich jak less and more, które również mają swoje warianty dla plików skompresowanych, takich jak bzless i bzmore. Aby zobaczyć je wszystkie, wystarczy spojrzeć na dane wyjściowe następującego polecenia:

apropos compress

Algorytmy i testy:

Wśród wszystkich algorytmy Bezstratna kompresja dostępna w Linuksie do kompresji i dekompresji danych, mamy wiele opcji. Aby uzyskać dowód na to, ile czasu zajmuje kompresja za pomocą jednego lub innego algorytmu kompresji lub jak długo trwa dekompresja, sugeruję wykonanie kilku testów samodzielnie. Możesz użyć do tego polecenia time, które poda czas, który został wykorzystany na proces kompresji i dekompresji. Na przykład, jeśli zamierzasz użyć narzędzia zip do skompresowania pliku o nazwie test:

time zip prueba.zip prueba

To by straciło wykorzystany czas, ale jeśli chcesz to zobaczyć rozmiar wygenerowanego plikuMożesz spróbować skompresować ten sam plik za pomocą różnych algorytmów i narzędzi do kompresji, a po umieszczeniu wszystkich skompresowanych plików w katalogu za pomocą prostego polecenia do wyświetlenia, sprawdź rozmiar każdego z nich:

ls -l

Jeśli wolisz, możesz również skorzystać z innych narzędzi do porównania skompresowanych plików, na przykład z niektórymi wariantami narzędzia porównywania:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Jeśli chcesz zobaczyć wykresy dotyczące rozmiaru i szybkości algorytmów, możesz odwiedzić ten inny link.

Narzędzia do kompresji:

W sprawie dostępne narzędzia mamy ich wiele, niektóre z interfejsem graficznym dla początkujących i że będziemy musieli po prostu poradzić sobie z prostym i intuicyjnym GUI do wykonywania kompresji i dekompresji, takich jak PeaZip lub 7zip itp. W szczególności pierwszy jest w stanie pracować z różnymi formatami, a konkretnie z ponad 180 z nich. Ale jeśli jesteś jednym z tych, którzy nadal lubią pracować z terminalem, będziesz miał dużą liczbę narzędzi, które na pewno znasz:

  • zip i rozpakuj: jest to dobra opcja, jeśli chcesz mieć pliki przenośne na inne systemy operacyjne, ponieważ znajdziesz narzędzia do pracy z tymi plikami w systemach Microsoft Windows, a także na macOS i innych. Na przykład, aby skompresować plik lub katalog o nazwie test, a następnie go zdekompresować:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: Najlepiej, jeśli chcesz po prostu przenosić między systemami operacyjnymi Unix / Linux. Być może współczynnik kompresji jest prawie identyczny z zipem, może nieco lepszy, ale nie znajdziesz dużej różnicy w rozmiarze pliku pod zip lub gzip. Aby skompresować i zdekompresować za pomocą tego narzędzia, możemy użyć dwóch opcji w przypadku dekompresji i są to opcja -do, bezpośrednio przy użyciu aliasu gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Podobnie jak poprzedni, ten algorytm jest bardzo obecny w systemach operacyjnych Unix / Linux, chociaż proces kompresji i dekompresji potrwa trochę dłużej niż w przypadku gzip. W tym przypadku opóźnienie nie przełoży się na wyższy stopień kompresji, jak w przypadku xz, ponieważ pliki skompresowane w bzip2 zajmą trochę więcej niż pliki gzip. Dlatego zaleca się unikanie bzip2 i zamiast tego wybrać xz lub gzip. Chociaż wszystko będzie trochę zależało od typu pliku, który próbujesz skompresować ... Na przykład:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: Jest to preferowany format dla dużych plików, ponieważ oferuje najlepsze współczynniki kompresji, ale prawdą jest również, że kompresja lub dekompresja zajmie więcej czasu. Jest całkiem nowszy niż poprzednie, więc możesz znaleźć się w bardziej prymitywnych dystrybucjach lub starych systemach uniksowych, które nie mają narzędzia do tego. Przykłady:
xz prueba

xz -d prueba.xz

  • unrar i rar: Możemy również pracować z formatami RAR w Linuksie dzięki tym narzędziom, chociaż nie jest to tak popularne w przypadku systemów * nix jak poprzednie ... W tym przypadku możemy wybrać:
rar a prueba.rar prueba

unrar e prueba.rar

  • kompresować i dekompresować: i chociaż użycie kompresu jest tracone i nie jest tak popularne jak poprzednie, nie chciałbym również przeoczyć tego narzędzia. Służy do kompresji plików z rozszerzeniem .Z i robi to dzięki zmodyfikowanemu algorytmowi Lempel-Ziv. Na przykład:
compress -v prueba

uncompress prueba.Z

Jeśli chcesz pracować bezpośrednio z narzędzie smołaMożesz także jednocześnie pakować i kompresować pliki, a także rozpakowywać i dekompresować. W tym przypadku możemy przekazać opcje typu algorytmu, który ma być użyty bezpośrednio do tar. Ale przede wszystkim powinieneś wiedzieć, że opcją c tworzymy pakiet, a opcją x go wyodrębniamy. Na przykład:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Jak widać, użyliśmy opcje zvf, które mają wskazywać typ algorytmu kompresji z (w tym przypadku gzip), v dla trybu szczegółowego, który podaje informacje o tym, co robi, oraz f, aby wskazać plik do pracy ... Cóż, jeśli to zmienimy z inną literą odpowiadającą innemu typowi algorytmu możemy zmienić typ kompresji zastosowanej do tarballa:

Opcja algorytm Przedłużenie
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
zip zamek błyskawiczny .tar.lz
Izma Izma .tar.lzma

* Oczywiście wszystkie poprzednie polecenia mają ciekawe opcje, które zapraszam do odkrycia za pomocą man, niektóre bardzo potrzebne, takie jak rekursja itp.

Nie zapomnij zostaw swoje komentarze...


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Javier Martinez Echenique powiedział

    W szczególności używam 7zip

  2.   Marcelo powiedział

    Przegapiłeś 7zip. Bardzo dobra opcja i DARMOWE OPROGRAMOWANIE.

  3.   Umberto powiedział

    Doskonała informacja, chociaż zacząłbym od stwierdzenia, że ​​można go również bez problemu skompresować i zdekompresować graficznie, aby nie zobaczyć dyżurnego "szerszenia", który mówi, że GNU / Linux jest bardzo trudny i wszystko musi być zrobione na konsola. NIE, TO KOLEJNA OPCJA.