LINUX

Come gestire gli archivi con l’utility Atool in Linux

Gestisci gli archivi con Atool

Linux fornisce vari strumenti per l’archiviazione e la compressione di file come zip, bzip, gzip, tar, rar, ecc. Esistono diversi strumenti che non sono nativi di Linux, ma offrono buone capacità di archiviazione e compressione.

Con così tanti strumenti a portata di mano, a volte diventa difficile ricordare tutti i comandi. “Atool” ti consente di gestire questi diversi archivi di file con un solo comando.

Uno strumento

Atool è uno script perl che utilizza diversi strumenti o comandi dietro le quinte per diversi tipi di archivi. Atool viene fornito con una serie di comandi come aunpack, apack, als, acat, adiff e arepack. Questi eseguibili sono solo i collegamenti simbolici al comando atool. Atool può gestire vari archivi di file come zip, compress(.z), jar, rar, 7z, bzip, gzip, rpm, deb, cpio, tar, tar.gz. tar.bz, tar.bz2, tar.7z e altro ancora. Si basa sull’estensione del file per determinare il tipo di archivio. Se non è possibile identificare l’archivio con l’estensione del file, viene utilizzato il comando file.

I comandi disponibili con atool sono comandi semplici. Alcuni esempi di questi comandi sono:

1) disimballare

aunpack è usato per estrarre un archivio. È simile all’esecuzione di “atool -x” per estrarre un archivio.

$ aunpack file.tar.gz
file_feb
file_jan
file_mar
file.tar.gz: extracted to `file' (multiple files in root)

Utilizzando lo strumento:

$ atool -x file.tar.gz
file_feb
file_jan
file_mar
file.tar.gz: extracted to `file' (multiple files in root)

2) qui

Il comando acat o “atool -c” può essere utilizzato per visualizzare un file dall’archivio.

$ acat file.tar.gz file_jan
file_jan
January

3) altri

Per elencare il contenuto di un archivio, usa als o “atool -l”.

$ als file.tar.gz
-rw-r--r-- raghu/raghu 0 2012-08-20 12:29 file_mar
-rw-r--r-- raghu/raghu 9 2012-08-20 12:35 file_feb
-rw-r--r-- raghu/raghu 8 2012-08-20 12:36 file_jan

4) confezione

Questo comando crea l’archivio. Lo stesso può essere ottenuto con “atools -a”.

$ apack dir1.tar.gz dir1/
dir1/
dir1/file1_2
dir1/file1_3
dir1/file1_1
$ file dir1.tar.gz
dir1.tar.gz: gzip compressed data, from Unix, last modified: Mon Aug 20 12:44:11 2012

Il comando file nell’output sopra mostra che si tratta di dati compressi con gzip. Se vuoi creare l’archivio di un tipo diverso, basta fornire l’estensione appropriata.

5) un pacchetto

Riconfezionare l’archivio in un altro formato. Per fare ciò, prima estrai l’archivio in una directory temporanea e poi crea il nuovo archivio da questa directory temporanea. L’archivio originale non viene cancellato.

$ arepack dir1.tar.gz dir1.7z
dir1/
dir1/file1_2
dir1/file1_3
dir1/file1_1

7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning

Creating archive ../dir1.7z

Everything is Ok
dir1.7z: saved 18 bytes
$ file dir1.7z
dir1.7z: 7-zip archive data, version 0.3

6) adif

Il comando adiff mostra la differenza tra due archivi, come il comando diff. “atool -d” fa la stessa cosa.

$ adiff dir1.7z firstdir.7z

7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: dir1.7z

Extracting dir1/file1_1
Extracting dir1/file1_2
Extracting dir1/file1_3
Extracting dir1

Everything is Ok

Folders: 1
Files: 3
Size: 11
Compressed: 196

7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: firstdir.7z

Extracting dir1/file1_1
Extracting dir1/file1_2
Extracting dir1/file1_3
Extracting dir1

Everything is Ok

Folders: 1
Files: 3
Size: 0
Compressed: 144
diff -ru Unpack-0875/dir1/file1_1 Unpack-9252/dir1/file1_1
--- Unpack-0875/dir1/file1_1 2012-08-20 13:03:21.000000000 +0530
+++ Unpack-9252/dir1/file1_1 2012-08-20 12:42:11.000000000 +0530
@@ -1 +0,0 @@
-first file

Il comando atool ha diverse opzioni tranne questi comandi. È possibile fornire manualmente il formato del file con l’opzione -f.

Puoi anche vedere quali comandi sono in esecuzione in background quando usi il comando atool usando l’opzione -E o –explain. Per esempio,

$ als -E file.tar.gz
tar tvzf file.tar.gz
-rw-r--r-- raghu/raghu 0 2012-08-20 12:29 file_mar
-rw-r--r-- raghu/raghu 9 2012-08-20 12:35 file_feb
-rw-r--r-- raghu/raghu 8 2012-08-20 12:36 file_jan
$ acat -E file.tar.gz file_feb
tar xOvzf file.tar.gz file_feb
file_feb
february

L’opzione -S o –simulate esegue uno strumento in modalità simulazione. Questa opzione visualizza solo i comandi che verrebbero eseguiti, ma non vengono apportate modifiche al file system.

$ atool -x -S dir1.tar.gz
mkdir Unpack-1227
tar xvzf dir1.tar.gz -C Unpack-1227
$ adiff -S dir1.7z firstdir.7z
mkdir Unpack-6603
mkdir Unpack-6480
7z x -oUnpack-6603 dir1.7z
7z x -oUnpack-6480 firstdir.7z
diff -ru Unpack-6603 Unpack-6480
rm -r Unpack-6603
rm -r Unpack-6480

Fateci sapere i vostri pensieri e suggerimenti su questo articolo.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close