linux operazioni basilari "Archiviazione e compressione" | Linuxiano.it
Privacy Policy

linux operazioni basilari “Archiviazione e compressione”

Linux operazioni basilari “Archiviazione e compressione”

linux-archiviazione-compressione

linux-archiviazione-compressione

Quando si utilizza Linux, spesso è necessario installare nuovo software, uno script o numerosi file di grandi dimensioni. Per semplificarci, questi file sono generalmente compressi e combinati insieme in un unico file con estensione .tar, che li rende più facili da scaricare, poiché si tratta di un file più piccolo.

Come utente Linux, dobbiamo capire come decomprimere i file .tar ed estrarre ciò che è contenuto in essi, come comprimere e combinare questi file in un .tar quando abbiamo bisogno di inviare file.

Quelli tra voi che vengono dal mondo Windows, hanno probabilmente familiarità con il formato .zip. L’utilità .zip integrata in Windows ti consente di prendere diversi file e combinarli in una singola cartella, quindi comprimerla per renderla più piccola per il trasferimento su Internet o per l’archiviazione rimovibile. Il processo che stiamo affrontando qui in questo tutorial è l’equivalente di zipping e decompressione nel mondo Windows.

Cos’è la compressione?

La compressione è un argomento interessante che dovrò approfondire in un altro tutorial in un secondo momento. Fondamentalmente, ci sono almeno due categorie di compressione: lossy e lossless.

La perdita di compressione perde l’integrità delle informazioni. In altre parole, il file compresso / decompresso non è esattamente uguale all’originale. Funziona alla grande per i file grafici, video e audio in cui una differenza minore nel file è appena notato (.mp3 e .jpg sono entrambi algoritmi di compressione con perdita).

Quando si inviano file o software, la compressione con perdita non è accettabile. Dobbiamo avere integrità con il file originale quando viene decompresso. Questo è il tipo di compressione di cui stiamo discutendo qui (senza perdita di dati) ed è disponibile da una serie di diverse utility e algoritmi.

(Altro su tutto questo in un tutorial successivo.)

Raggruppare tutti i file insieme

Nella maggior parte dei casi, durante l’archiviazione o la combinazione di file, il comando tar viene utilizzato in Linux / Unix. Tar sta per archivio su nastro, un riferimento ai tempi preistorici dell’informatica quando i sistemi utilizzavano il nastro per archiviare i dati. Tar è usato per creare un singolo file da molti file. Questi vengono quindi spesso definiti archivi, tar o tarball.

Ad esempio, supponiamo di avere tre file, nullbyte1, nullbyte2 e nullbyte3. Possiamo vederli chiaramente sotto quando facciamo una lunga lista.

Terminale

ls -l

Diciamo che vogliamo inviare tutti e tre questi file ad un amico. Possiamo combinarli insieme e creare un singolo file di archivio usando il seguente comando:

tar -cvf NB.tar prova1 prova2 prova3

Analizziamo il comando per capire meglio:

  • tar è il comando di archiviazione
  • -c significa creare
  • -v significa verboso (facoltativo)
  • -f scrivere o leggere dal seguente file
  • -NB.tar è il nuovo nome di file che vogliamo

Questo prenderà tutti e tre i file e creerà un singolo file, NB.tar, come visto sotto, quando facciamo un lungo elenco della directory.

Si prega di notare le dimensioni del tarball. Quando i tre file vengono archiviati, tar utilizza un overhead significativo per farlo. La somma dei tre file prima dell’archiviazione era di 72 byte. Dopo l’archiviazione, il tarball è cresciuto fino a 10.240 byte. Il processo di archiviazione ha aggiunto oltre 1.000 byte. Sebbene questo overhead possa essere significativo con file di piccole dimensioni, questo overhead diventa sempre meno significativo con file sempre più grandi.

Possiamo quindi visualizzare quei file dal tarball usando il comando tar, quindi l’opzione -t per visualizzare i file, come mostrato di seguito.

Terminale

-tvf NB.tar

Possiamo quindi estrarre quei file dal tarball usando il comando tar e poi l’opzione -x per estrarre i file, come visto sopra.

Terminale

tar -xvf NB.tar

Infine, se vogliamo estrarre i file e farlo in modo ‘silenzioso’, possiamo rimuovere l’opzione -v e tar estrae i file senza mostrarci alcun output.

Terminale

tar -xf NB.tar

La compressione dei file

Tar è in grado di acquisire molti file e di trasformarli in un unico file archiviato, ma cosa succede se vuoi comprimere anche questi file? Abbiamo tre comandi in Linux in grado di creare file compressi:

  • gzip (.tar.gz o .tgz)
  • bzip2 (tar.bz2)
  • compress (.tar.Z)

Sono tutti in grado di comprimere i nostri file, ma usano diversi algoritmi di compressione e hanno diversi rapporti di compressione (la quantità che possono comprimere i file).

Usando Gzip

Proviamo prima gzip (GNU zip), poiché è l’utility di compressione più comunemente usata in Linux. Possiamo comprimere il nostro file NB.tar digitando:

Terminale

gzip NB. *

Si noti che ho usato la wild card (*) per la mia estensione di file, il che significa che il comando dovrebbe applicarsi a qualsiasi file che inizi con ‘NB’ con qualsiasi estensione di file. Userò la notazione simile per i seguenti esempi. Quando facciamo una lunga lista sulla directory, possiamo vedere che ha cambiato l’estensione del file in .tar.gz, e la dimensione del file è stata compressa a soli 231 byte!

Possiamo quindi decomprimere lo stesso file usando il comando gunzip (GNU unzip).

Terminale

gunzip NB. *

Quando lo facciamo, il file non viene più salvato con l’estensione .tar.gz e ora è tornato alla sua dimensione originale di 10.240 byte.

Utilizzo di Bzip2

Una delle altre utilità di compressione ampiamente utilizzate in Linux è bzip2. Funziona in modo simile a gzip, ma con rapporti di compressione migliori. Possiamo comprimere il nostro file NB.tar digitando:

Terminale

bzip2 NB. *

Come puoi vedere nello screenshot qui sopra, bzip2 ha compresso il file a soli 222 byte! Si noti inoltre che l’estensione del file ora è .tar.bz2.

Per decomprimere il file compresso, utilizzare bunzip2 (b decomprimere 2).

Terminale

bunzip2 NB. *

Quando lo facciamo, il file ritorna alle sue dimensioni originali e la sua estensione di file ritorna a .tar.

Usando Compress

Finalmente, possiamo usare il comando compress per comprimere il file. Questa è probabilmente l’utilità di compressione meno utilizzata, ma è facile da ricordare.

Terminale

comprimere NB. *

Nota nello screenshot sopra che l’utilità di compressione ha ridotto la dimensione del file a 395 byte, quasi il doppio della dimensione di bzip2. Si noti inoltre che l’estensione del file è ora .tar.Z (con una Z maiuscola).

Per decomprimere lo stesso file, usare uncompress o il comando gunzip.

Terminale

uncompress NB. *

Utilizzare e decomprimere con strumenti  VMware

Ora che abbiamo una conoscenza di base di questi strumenti, usiamoli in un esempio reale. Molti di voi, me compreso, utilizzano VMware Workstation come sistema di virtualizzazione. Ti consente di eseguire molti sistemi operativi su una singola macchina fisica. Nessuno lo fa meglio di VMWare.

Se si utilizza VMware Workstation, probabilmente si sa che VMware ti incoraggia a scaricare e installare i suoi strumenti VMware. Quando si installano gli strumenti VMware, il sistema operativo guest si integra molto meglio nel sistema operativo host, che include, tra le altre cose, migliori prestazioni grafiche, funzionalità drag-and-drop, cartelle condivise e migliori prestazioni del mouse.

Ora che abbiamo scaricato gli strumenti VMware, puoi vedere che si tratta di un tarball e compresso con gzip. Lo sappiamo perché ha estensione del file .tar.gz. Quindi, per decomprimerlo e separare ciascuno dei file in modo che possiamo usarli, possiamo usare il seguente comando:

tar -xvzf VMwareTools-.9.6.2-1688356.tar.gz

Analizziamo che comando per capire meglio:

  • tar è il comando di archiviazione
  • -x significa estratto
  • -v significa output verboso
  • -z è usato per decomprimere
  • -f indirizza il comando al file che segue

Quando premiamo Invio, il tarball compresso viene decompresso ed estratto. Centinaia di file vengono estratti e decompressi da questo archivio di VMware. Ora, dobbiamo solo eseguire lo script per installare questi strumenti.

L’archiviazione e la compressione sono competenze chiave di Linux che qualsiasi hacker / amministratore deve capire quando usa Linux. Continueremo ad esplorare le basi di Linux in questa serie, quindi continua a tornare, i miei aspiranti hacker!

Se avete consigli o domande non esitate a scrivermi