Linux: Arhivarea și comprimarea fișierelor (#27)

0

Bine ați revenit, dragii mei greenhorn hackers!

Când folosim Linux, suntem de multe ori nevoiți să instalăm un software nou, un script sau numeroase fișiere de mari dimensiuni. Pentru a face lucrurile mai ușoare, aceste fișiere sunt de obicei comprimate și combinate într-un singur fișier cu extensia .tar, ceea ce le face mai ușor de descărcat, deoarece se află într-un fișier mai mic.

Ca utilizator Linux, trebuie să înțelegem cum să decomprimăm fișierele cu extensia .tar și să extragem ceea ce se află în ele. În același timp, trebuie să înțelegem cum să comprimăm și să combinăm aceste fișiere într-un fișier .tar când trebuie să trimitem fișiere. Cei care au folosit până acum Windows (cei mai mulți dintre voi), sunt probabil familiarizați cu formatul .zip.



Utilitarul .zip încorporat în Windows vă permite să preluați mai multe fișiere și să le combinați într-un singur folder, apoi comprimați acel director pentru a-l face mai mic pentru transferul pe internet sau într-un anuit spațiu de stocare. Procesul pe care îl folosim aici, în acest tutorial, este echivalentul arhivării și dezarhivării din Windows.

Ce este comprimarea?

Comprimarea este un subiect interesant pe care trebuie să-l extind într-un alt articol pe blog, mai târziu. Practic, există cel puțin două categorii de comprimare: cu pierderi și fără pierderi.

Primul tip pierde integritatea informațiilor. Cu alte cuvinte, fișierul comprimat / decomprimat nu este exact ca originalul. Acest tip de comprimare funcționează excelent pentru fișierele grafice, video și audio, unde o diferență mai mică în fișier este greu de observat (.mp3 și .jpg sunt algoritmi de comprimare cu pierderi).

La trimiterea fișierelor sau a software-ului, comprimarea pierduta nu este acceptabilă. Trebuie să avem integritate cu fișierul original atunci când este decomprimat. Acesta este tipul de comprimare pe care îl discutăm aici (fără pierderi) și este disponibil dintr-un număr de utilități și algoritmi diferiți.


Pasul 1: Arhivarea fișierelor

În cele mai multe cazuri, atunci când se arhivează sau combină fișiere, comanda tar este folosită în Linux / Unix. Tar vine de la tape archive, o referire la zilele preistorice ale computerelor, atunci când sistemele au folosit bandă pentru a stoca date. Tar este folosit pentru a crea un singur fișier din mai multe fișiere. Aceste fișiere sunt adesea denumite arhive, fișier tar sau tarball.

De exemplu, spunem că avem trei fișiere, blackweb12, blackweb34 și blackweb45. Putem să le vedem în mod clar mai jos atunci când facem o listare.

kali > ls -l

Să presupunem că dorim să trimitem toate cele trei fișiere unui prieten. Le putem combina împreună și putem crea un singur fișier de arhivare utilizând următoarea comandă:

kali > tar -cvf Blackweb.tar blackweb12 blackweb34 blackweb45

Să aruncăm o privire pe această comandă pentru a o înțelege mai bine:


  • tar este comanda de arhivare
  • -c vine de la create
  • -v vine de la verbose (opțional)
  • -f scrie sau citește de la următorul fișier
  • Blackweb.tar este noul fișier pe care-l dorim

Această comandă va lua toate cele trei fișiere și va crea un singur fișier, Blackweb.tar, după cum se vede mai jos, când vom face o altă listare directorului.

Reținem mărimea tarball. Atunci când cele trei fișiere sunt arhivate, tar utilizează un spațiu semnificativ pentru a face acest lucru. Suma celor trei fișiere înainte de arhivare a fost de 436 de biți. După arhivare, tarballul a crescut la 10.240 biți. Procesul de arhivare a adăugat în jur de 9600 de biți. Deși acest spațiu poate fi semnificativ cu fișierele mici, acesta devine din ce în ce mai puțin semnificativ cu fișiere mai mari.




Apoi putem afișa aceste fișiere din tarball folosind comanda tar, apoi comutatorul -t pentru a afișa fișierele, după cum se vede mai jos.

kali > tar -tvf Blackweb.tar

Putem extrage aceste fișiere din tarball folosind comanda tar și apoi comutatorul -x pentru a extrage fișierele, așa cum se vede mai sus.

kali > tar -xvf Blackweb.tar

În cele din urmă, dacă dorim să extragem fișierele și să facem acest lucru într-un mod cât mai silențios, putem elimina comutatorul -v, iar tarul extrage fișierele fără să ne arate vreo ieșire.

kali > tar -xf Blackweb.tar

Pasul 2: Comprimarea fișierelor

Tar este capabil să ia mai multe fișiere și să le transforme într-un singur fișier arhivat. Totuși, ce facem dacă dorim să comprimăm aceste fișiere? Avem trei comenzi în Linux capabile să creeze fișiere comprimate:

Toate sunt capabile să comprime fișierele noastre, dar folosesc algoritmi de comprimare diferiți și au rapoarte de comprimare diferite (cantitatea pe care o poate comprima fișierele).

Utilizarea Gzip

Să încercăm mai întâi gzip (GNU zip), deoarece este cel mai frecvent folosit utilitar de comprimare din Linux. Putem comprima fișierul BlackWeb.tar tastând:

kali > gzip Blackweb.*

Observăm că am folosit wildcardul (*) pentru extensia de fișiere, ceea ce înseamnă că această comandă ar trebui să se aplice oricărui fișier care începe cu “Blackweb” cu orice extensie de fișier. Voi folosi o notație similară pentru următoarele exemple. Când facem o listare în director, putem vedea că a schimbat extensia fișierului în .tar.gz, iar dimensiunea fișierului a fost comprimată la doar 438 biți!


Putem apoi decomprima același fisier folosind comanda gunzip (GNU unzip).

kali > gunzip Blackweb.*

Când facem asta, fișierul nu mai este salvat cu extensia .tar.gz și a revenit la dimensiunea originală de 10,240 biți.

Utilizarea Bzip2

Una dintre utilitățile de comprimare folosite pe scară largă în Linux este bzip2. Funcționează similar cu gzip, dar cu rapoarte de comprimare mai bune. Putem comprima fișierul BlackWeb.tar tastând:

kali > bzip2 BlackWeb.*

După cum putem vedea în captura de ecran de mai sus, bzip2 a comprimat fișierul la 511 biți! De asemenea, reținem că extensia de fișier este acum .tar.bz2.



Pentru a decomprima fișierul comprimat, utilizăm bunzip2 (b unzip 2).

kali > bunzip2 BlackWeb.*

Când facem asta, fișierul revine la dimensiunea originală, iar extensia sa de fișier revine la .tar.

Utilizăm Compress

În cele din urmă, putem folosi comenda compress pentru a comprima fișierul. Acesta este probabil cel mai puțin folosit utilitar de comprimare, dar și cel mai ușor de reținut.

kali > compress Blackweb.*

Observăm în captura de ecran de mai sus că utilitarul de comprimare a redus dimensiunea fișierului la 591 biți. De asemenea, reținem că extensia fișierului este acum .tar.Z.



Pentru a decomprima același fișier, utilizăm uncompress sau comanda gunzip.

kali > uncompress BlackWeb.*

Continuați să reveniți pe Blackweb, dragii mei greenhorn hackers, pentru mai multe tutoriale despre hacking și despre elementele de bază ale Linux-ului, ce ar fi bine să le cunoașteți, în drumul vostru de a deveni niște hackeri talentați.

Până data viitoare, să ne citim cu bine! 🙂

Choose your Reaction!
Leave a Comment

Your email address will not be published.

Opțiunea copy-paste a fost dezactivată pentru acest site.