Anzitutto bisogna distinguere tra archiviazione e compressione. L’archiviazione consente di raccogliere senza comprimerli tanti file in uno unico, in modo da consentire una trasportabilità più comoda e veloce (una cosa è trasportare diecimila file che pesano 5 mega e una cosa è trasportare un file che pesa 5 mega). La compressione, invece, rende addirittura più piccolo il file d’archivio e dunque assicura una velocità di trasferimento ancora maggiore.
Archiviare i file
Archiviare i file (mettere tanti file in un unico file) è un po’ come metterli in una cartella, col vantaggio però di avere come risultato un file singolo. Lo strumento usato su Linux per fare questa operazione è tar, un acronimo di “tape archive”. Un aspetto importante di tar è che con l’archiviazione non si perdono le informazioni dei file, come data e ora, utente, gruppo, permessi e struttura delle cartelle.
La sintassi per archiviare è la seguente:
tar -cf archivio.tar file1 file2 file3
con cui si riuniscono file1, file2 e file3 nell’unico file archivio.tar. La lettera c indica “crea”, mentre f sta per “file”.
Per archiviare un’intera cartella la sintassi è la stessa:
tar cf archivio.tar directory
Per estrarre i file la sintassi è:
tar xf archivio.tar
Comprimere i file
I file possono essere compressi in Linux con due strumenti: gzip e bzip2. La differenza tra i due è che bzip2 restituisce file più piccoli (e dunque richiede maggiore potenza di calcolo). La sintassi è la stessa per entrambi (cambiando ovviamente il comando):
gzip file1
che produce il file1.gz e
bzip2 file1
che produce il file1.bz2
Fate attenzione al fatto che questi due strumenti “trasformano” il file, nel senso che cancellano quello originale, lasciando solo la copia compressa.
La decompressione si effettua rispettivamente con
gunzip file1.gz
e
bunzip2 file1.bz2
eliminando anche qui il file compresso e lasciando solo quello originale.
Comprimere e decomprimere gli archivi
Anche gli archivi .tar possono essere a loro volta compressi come un qualunque altro normalissimo file. La sintassi è la stessa identica e quindi i passaggi sono due: archiviazione dei singoli file e successiva compressione dell’archivio.
tar cf archivio.tar file1 file2 file3
gzip archivio.tar
che restituisce il file archivio.tar.gz
oppure
bzip2 archivio.tar
che restituisce il file archivio.tar.bz2
Si possono anche dare i due comandi in un’unica riga:
tar cf - file1 file2 file3 | gzip -c > archivio.tar.gz
oppure più comodamente, per gzip:
tar czf archivio.tar.gz file1 file2 file3
per bzip2:
tar cjf archivio.tar.gz file1 file2 file3
Per la decompressione, però, è sufficiente un solo comando. Per il primo file:
tar zxf archivio.tar.gz
Per il secondo:
tar jxf archivio.tar.bz2
Le opzioni significano nell’ordine: z è un file compresso con gzip (j invece compresso con bzip2), x estrai, f indica il nome del file.
Si ponga attenzione al fatto che con gzip e bzip2 non è possibile comprimere più file in un’unico: ecco perché è necessario passare da tar prima di comprimere più file assieme.
Un’ultima nota sulle estensioni. Un file .tar.gz può presentarsi anche con l’estensione .tgz, mentre uno .tar.bz2 anche come.tbz2. Ma potrebbero anche non avere alcuna estensione! Se vi dovesse capitare un file compresso senza estensione, è sufficiente dare
file nome-file-misterioso
per capire di che tipo si tratti.
Nessun commento:
Posta un commento