Opcions de comparació de fitxers Linux i comparació

Linux File Compression Options



La compressió, en general, és un mètode útil que bàsicament codifica informació utilitzant menys dades que l’original. En el cas de Linux, hi ha diverses opcions de compressió, cadascuna amb els seus propis avantatges.

Una distribució genèrica de Linux ofereix accés a un grapat de mecanismes de compressió realment útils i senzills. Aquest article només se centrarà en ells.







Tipus de compressió

La compressió codifica i representa informació utilitzant menys bits del que era originalment. En el cas de la compressió de fitxers, un mètode de compressió utilitza el seu propi algorisme i càlcul matemàtic per generar una sortida generalment inferior a la mida del fitxer original. A causa del funcionament de les diferents compressions i de la naturalesa aleatòria dels fitxers, el quilometratge pot variar molt.



Hi ha 2 tipus de compressió.



  • Compressió amb pèrdua : Es tracta d’un tipus de compressió arriscada que no garanteix la integritat de les dades. Essencialment, un cop comprimit, hi ha el risc que el fitxer original no es pugui reconstruir mitjançant l’arxiu comprimit.
    Un exemple sòlid d’aquest tipus de compressió és el conegut format MP3. Quan es crea un MP3 a partir del fitxer d'àudio original, és significativament més petit que el fitxer de música d'origen original. Això provoca la pèrdua de certa qualitat d'àudio.
  • Compressió sense pèrdues : Aquest és el tipus de compressió més utilitzat. Mitjançant un mètode de compressió sense pèrdues, el fitxer original es pot reconstruir a partir del fitxer comprimit. Els mètodes de compressió que parlaré en aquest article són mètodes de compressió sense pèrdues.

Compressió Linux

La majoria dels mètodes de compressió estan disponibles a l'eina quitrà . Pel que fa a la compressió zip, utilitzarem el fitxer cremallera eina. Suposant que el vostre sistema ja té instal·lades aquestes eines, comencem.





Al principi, necessitem un fitxer de prova. Executeu l'ordre següent per crear-ne una.

$base64/dev/urandom| cap -c 20000000 >file.txt



Es crearà un fitxer de text de mida de 20 MB.

Ara, creem 10 còpies del fitxer. Junts, són 200 MB.

Cremallera per a compressió

Zip és força comú. Per crear un fitxer zip, l'eina zip requereix la següent estructura d'ordres.

$cremallera <sortida>.zip<entrada>

Per comprimir tots els fitxers del directori de prova en un sol fitxer zip, executeu aquesta ordre.

$cremalleratest.zip*

La mida de l'entrada era de 200 MB. Després de la compressió, ja són 152 MB.

Per defecte, l'eina zip aplicarà la compressió DEFLATE. Tot i això, també és capaç d’utilitzar la compressió bzip2. No només això, també podeu crear fitxers zip protegits amb contrasenya. Obteniu més informació sobre zip .

Tar per a la compressió a Linux

El quitrà no és un mètode de compressió. En canvi, s’utilitza més sovint per crear arxius. No obstant això, pot implementar diversos mètodes de compressió populars a l'arxiu.

Per gestionar l'arxiu tar (també conegut com tarball), hi ha l'eina tar. Obteniu més informació sobre quitrà. Generalment, l'eina tar utilitza la següent estructura d'ordres.

$quitrà <opcions> <fitxer_ sortida> <entrada>

Per afegir els fitxers de prova a un sol arxiu tar, executeu l'ordre següent.

$quitrà -cvftest.tar*

Aquí, la mida del fitxer continua sent la mateixa.

Gzip per a compressió a Linux

GNU Zip o gzip és un altre mètode de compressió popular que, al meu entendre, és millor que el zip tradicional per la seva millor compressió. És un producte de codi obert creat per Mark Adler i Jean-Loup Gailly que originalment estava destinat a substituir l’UNIX comprimir utilitat.

Per gestionar els arxius gzip, hi ha dues eines disponibles: tar i gzip. Vegem tots dos.

En primer lloc, l'eina gzip. A continuació s’explica l’estructura d’ordres gzip.

$gzip <opció> <entrada>

Per exemple, l'ordre següent substituirà test1.txt pel fitxer comprimit test1.txt.gz.

$gzip -vtest1.txt

Si voleu comprimir un directori sencer mitjançant gzip, executeu aquesta ordre. Aquí, el senyalador -r és per a la compressió recursiva. Gzip recorrerà totes les carpetes i comprimirà els fitxers individuals de cadascuna d'elles.

$gzip -r <ruta_cartera>

Gzip admet diversos valors de força de compressió, que comencen des de l’1 (mínima compressió, la més ràpida) fins al 9 (la millor compressió, la més lenta).

$gzip -v -9 <dossier>

Per a un millor control de la sortida i facilitat d'ús, tar és millor per a la tasca. Executeu l'ordre següent.

$quitrà -cvzftest.tar.gz*

El resultat és similar al zip amb DEFLATE, el que resulta en 152 MB després de la compressió.

Bzip2 per a compressió a Linux

Bzip2 és una eina gratuïta i de codi obert que utilitza l'algorisme de Burrows-Wheeler per a la compressió. Introduït per primera vegada el 1996, bzip2 s’utilitza molt com a alternativa a la compressió gzip.

Igual que gzip, hi ha 2 eines per treballar amb bzip2: tar i bzip2.

L'eina bzip2 funciona de manera similar a l'eina gzip. Només pot funcionar amb un sol fitxer alhora. Aquí teniu l’estructura d’ordres.

$bzip2 <opció> <entrada>

Comprimim el fitxer test1.txt. Aquí, el senyalador -v és per al mode detallat.

$bzip2 -vtest1.txt

De manera similar al gzip, bzip2 també admet diferents nivells de compressió, començant per 1 (per defecte, menys ús de memòria) fins a 9 (compressió extrema, alt ús de memòria).

$bzip2 -v -9 <dossier>

La millor manera d’utilitzar la compressió bzip2 és mitjançant tar. Utilitzeu l'ordre següent.

$quitrà -cvjftest.tar.bz2*

La compressió millora lleugerament que les anteriors. Ara, la mida del fitxer s’ha reduït a 151,7 MB.

XZ per a compressió a Linux

És relativament nou en el camp de la compressió. Publicat per primera vegada el 2009, ha experimentat un creixement constant de l’ús des de llavors.

L’eina de compressió xz utilitza l’algorisme LZMA2 conegut per tenir una relació de compressió més gran en comparació amb gzip i bzip2, cosa que la converteix en una opció fantàstica quan voleu estalviar la quantitat màxima d’espai en disc. Tanmateix, això comporta el cost de requeriments de memòria més elevats i de consum de temps.

El fitxer creat per l'eina de compressió XZ té l'extensió .xz. Per comprimir un sol fitxer, podeu trucar directament a l'eina XZ.

$xz<opció> <dossier>

Per exemple, executeu l'ordre següent per comprimir el fitxer test1.txt.

$xz-vtest1.txt

De manera similar a altres mètodes de compressió esmentats, xz també admet diversos intervals de força de compressió, començant per 1 (compressió més baixa, més ràpida) fins a 9 (millor compressió, més lenta). Si no teniu en compte el temps i només voleu estalviar espai, aneu a l’extrem.

$xz-v -9 <dossier>

Per crear un fitxer XZ comprimit a partir de tots els fitxers de prova, executeu aquesta ordre.

$quitrà -cvJftest.tar.xz*

Aquí, la mida del fitxer de sortida és de 153,7 MB.

Extracció d’arxius comprimits

Extreure els arxius que hem creat és més fàcil que crear-los. Per extreure un fitxer zip, utilitzeu l’estructura d’ordres següent.

$descomprimir <nom de l'arxiu>.zip-d <destí>

Per extreure l'arxiu zip que hem creat, executeu aquesta ordre. Això extreurà tots els continguts del mateix directori.

$descomprimirtest.zip

Per extreure arxius tar, tar.gz, tar.bz2 i tar.xz, hem d’utilitzar el fitxer quitrà eina. La següent ordre tar és aplicable per extreure-les totes.

$quitrà -xvf <nom_fitxer_arxiu>

Per exemple, extraiem tots els fitxers de l’arxiu comprimit bz2.

$quitrà -xvftest.tar.bz2

Per descomprimir un fitxer gzip (no tar.gz), executeu aquesta ordre.

$gzip -d <fitxer_zip>

De la mateixa manera, l'ordre següent descomprimirà l'arxiu bzip2.

$bzip2 -d <fitxer_zip2>

La mateixa estructura d’ordres s’aplica a l’arxiu xz.

$xz-d <fitxer_zz>

Pensaments finals

Amb sort, ara teniu prou coneixement per gestionar les tasques de compressió en diferents circumstàncies. Depenent del requisit específic, tots els mètodes de compressió ofereixen funcions molt atractives.

Una cosa important a tenir en compte és que el resultat de la compressió no serà el mateix sempre. Amb una entrada de dades diferent, la sortida serà diferent. Per exemple, en alguns casos, xz pot oferir un resultat de compressió insana, mentre que en aquest exemple no ho va fer. El mateix passa amb altres mètodes.

Per obtenir més informació sobre aquestes eines, consulteu la seva pàgina manual.

$home cremallera