Ti sei mai chiesto come decomprimere i file in Linux? O come creare ed estrarre un archivio zip? Allora questo tutorial è tutto ciò di cui hai bisogno per gestire i tuoi file zip in modo efficace.
La compressione è una delle tecniche migliori e popolari per comprimere i file riducendone le dimensioni senza perdere la qualità. E in questo tutorial imparerai come comprimere e decomprimere i file zip in Linux, insieme ad altri suggerimenti e trucchi. Pronto?
Immergiti e diventerai uno "zip master" alla fine di questo tutorial!
Prerequisiti
Se sei un professionista IT alle prese con troppe richieste di reimpostazione della password in Active Directory, dai un'occhiata a Specops uReset, una soluzione SSPR sicura.
Le dimostrazioni in questo tutorial sono state fatte in Kali Linux 2021.2. Tuttavia, potresti anche lavorare con altre distribuzioni Linux, come basate su Debian (come Unbuntu o Kali Linux), CentOS o Fedora.
Installazione dei pacchetti Zip e Unzip
Per comprimere e decomprimere in file ZIP con Linux, avrai bisogno di un paio di pacchetti chiamati zip e unzip. Vediamo ora come installare questi pacchetti con il gestore di pacchetti apt.
Per installare i pacchetti zip e unzip, avvia prima il terminale sul desktop ed esegui i comandi seguenti a seconda delle distribuzioni Linux su cui stai lavorando.
Ciascuno dei comandi seguenti inizia con sudo
comando per gestire autorizzazioni elevate.
Per Debian
I comandi seguenti usano il apt
gestore pacchetti su install
il zip
e unzip
pacchetti.
sudo apt install zip # Installs the zip package
sudo apt install unzip # Installs the unzip package
Per Fedora e CentOS
I comandi seguenti usano il yum
strumento di gestione dei pacchetti su install
il zip
e unzip
pacchetti.
sudo yum install zip # Installs the zip package
sudo yum install unzip # Installs the unzip package
Compressione di file con il pacchetto zip
Ora che hai installato tutti i pacchetti necessari, è tempo di imparare a comprimere i file. Per farlo, esegui zip
comando, che consente di comprimere i file in pacchetti ZIP, sia tramite la riga di comando che tramite la GUI. Esaminiamo ogni metodo!
Comprimere file tramite riga di comando
In Linux, in genere utilizzerai un po' la riga di comando, quindi vediamo prima come comprimere i file tramite la riga di comando.
Notare la sintassi del comando di seguito. Lo vedrai dopo il zip
comando, outpufile
rappresenta il nome del file zip. Quindi seguito dal nome dei file e della cartella (file1 file2 folder
) da includere nel file zip.
zip [option] outputfile file1 file2 folder
Per mostrare come zippare i file sulla riga di comando, apri prima un terminale e crea una directory chiamata ~/mydir . Quindi crea due file e una cartella denominata test1, test2 e myfolder all'interno di ~/mydir .
1. Esegui mkdir
comando seguente per creare il mydir
directory.
mkdir mydir
2. I comandi seguenti creano (touch
) il test1.txt
e test2.txt
File. Quindi crea (mkdir
) il myfolder
directory.
touch ~/mydir/test1.txt
touch ~/mydir/test2.txt
mkdir myfolder
3. Esegui il comando seguente per elencare (ls
) il contenuto della directory di lavoro (~/mydir ), come mostrato di seguito.
Ora che hai creato i file e le cartelle, comprimi la ~/mydir cartella eseguendo il comando seguente.
Il zip
il comando seguente è ricorsivamente (-r
) cercando attraverso il mydir
directory per tutti i file e le sottodirectory. Al termine, comprime tutti quei file in un file ZIP chiamato newdir.zip
.
zip -r newdir.zip mydir
Forse hai intenzione di comprimere solo ~/mydir/test1.txt, ~/mydir/test2.txt e ~/mydir/myfolder directory. Per farlo, esegui il comando seguente.
Il zip
il comando seguente è ricorsivamente (-r
) cercando tutti i file e le cartelle nella directory di lavoro (mydir
) chiamato test1.txt
, test2.txt
e myfolder
e creando un file ZIP chiamato newfiles.zip
.
cd mydir
zip -r newfiles test1.txt test2.txt myfolder
L'aggiunta dell'estensione .zip per il file zip è facoltativa in quanto viene aggiunta automaticamente al termine della compressione. Nell'esempio sopra, il comando zip creerà un file ZIP chiamato newfiles.zip invece dei soli newfiles.
Eliminazione del file originale dopo l'archiviazione
Nella sezione precedente, hai imparato come comprimere i file in un file ZIP, ma avresti notato che i file originali non sono stati rimossi dopo averlo fatto. Aggiungi il -m
opzione nel comando zip per rimuovere i file originali, come mostrato di seguito.
Dopo aver creato il file ZIP, avviare un terminale, quindi eseguire il comando seguente per eliminare automaticamente i file originali. Il zip
il comando seguente comprime i file e la cartella chiamati test1.txt
, test2.txt
e myfolder
al newsfiles.zip
ZIP, quindi elimina (-m
) i file originali.
Dopo aver eseguito il comando, noterai che il comando zip rimuove i file originali.
zip -m -r newfiles.zip test1.txt test2.txt myfolder
Aggiunta di nuovi file a un file zip esistente
Forse hai dimenticato di includere un file durante la compressione dei file in un file ZIP. Come aggiungeresti un nuovo file a un file zip esistente? Potresti eliminare il file zip e crearne un altro, ma c'è un modo migliore.
Per aggiungere un nuovo file al file ZIP esistente (newfiles.zip ), eseguire il comando seguente. Il comando seguente aggiorna (-u
) il pacchetto di file ZIP esistente (newfiles.zip
) ricorsivamente (-r
) cercando in tutti i file nella ~/mydir directory, quindi aggiungerli al pacchetto ZIP.
zip -u -r newfiles.zip test3
Eliminazione di file da un file zip
In precedenza hai imparato come aggiungere file a file compressi esistenti. Ma cosa succede se hai aggiunto un file involontariamente a un file zip? Ovviamente vorresti rimuovere quel file dal file zip e aggiungere il -d
opzione al zip
il comando farebbe il trucco.
Per eliminare un file dal file ZIP, esegui zip
eliminazione del comando (-d
) il test3
file dal file (newfiles.zip
) File ZIP.
zip -d newfiles.zip test3
Comprimere file tramite GUI
A questo punto, hai imparato come comprimere i file usando la riga di comando. Ma se ti senti più a tuo agio a lavorare con un'interfaccia grafica, sei fortunato. L'ambiente GNU Network Object Model Environment (GNOME) consente di creare un archivio zip con pochi clic. GNOME è una GUI desktop in cima al tuo sistema operativo. Allora, cominciamo!
1. Passa all'ambiente GNOME, quindi apri il file manager.
2. Cerca i file da comprimere navigando all'interno di ~/mydir directory.
3. Per creare il pacchetto ZIP, seleziona tutti i file da comprimere, quindi fai clic con il pulsante destro del mouse su uno qualsiasi dei file e scegli Comprimi dal menu contestuale.
Ora scegli il formato per il file compresso nella finestra pop-up sottostante. Si noti che ci sono tre opzioni di formato, .zip, .tar.xz e .7z. Questi formati sono tutti formati di compressione.
Poiché stai creando un file zip, seleziona .zip opzione. Quindi crea il file zip assegnandogli un nome (newfiles ) e fai clic su Crea .
Il file zip viene creato automaticamente all'interno della cartella ~/mydir, dove si trovano i file che stai comprimendo.
Noterai di seguito che Linux crea un file chiamato newfiles.zip tra quelli che hai selezionato.
Decompressione dei file con il pacchetto Unzip
Negli esempi precedenti, hai imparato come comprimere i file. Ma forse è necessario estrarre o decomprimere il contenuto del file zip. Come lo faresti?
Simile alla compressione dei file, ottieni due metodi per decomprimere i file, tramite riga di comando e GUI. Entrambi i metodi sfruttano il pacchetto di decompressione precedentemente installato per decomprimere i file ZIP.
Decompressione di file tramite riga di comando
Poiché durante questo tutorial continuerai a eseguire comandi in un ambiente a riga di comando, iniziamo a decomprimere i file tramite il metodo a riga di comando.
Per decomprimere un file ZIP, avvia il terminale ed esegui il comando seguente. Nota che il comando seguente unzip
il contenuto del file (newdir.zip
) File zip. Per impostazione predefinita, i contenuti vengono estratti nella stessa directory (~/mydir ) del (newdir.zip
) ZIP.
Se desideri decomprimere il contenuto di un file ZIP in una directory diversa da quella di lavoro, specifica il
-d
seguito dalla directory per estrarre il contenuto del file ZIP in come:unzip
newdir.zip-d
un'altra dir.
unzip newdir.zip
Decompressione di file tramite GUI
Se decomprimere i file tramite la riga di comando sembra molto faticoso, prova a decomprimere i file in pochi clic con il metodo GUI. E simile al metodo della riga di comando, puoi anche scegliere dove estrarre i file.
Per decomprimere i file, apri File Manager, come spiegato in Zippare file tramite GUI sezione. Fai clic con il pulsante destro del mouse sul pacchetto ZIP che desideri estrarre e seleziona Estrai qui , come mostrato di seguito.
Dopo aver fatto clic su Estrai qui , Linux estrarrà tutti i file nel pacchetto ZIP nella directory di lavoro.
Se preferisci estrarre tutti i file in un'altra directory, scegli Estrai in opzione dal menu contestuale.
Verifica dell'integrità del file zip
In alcuni casi, i file ZIP possono danneggiarsi, come il download del file ZIP da Internet. O quando il file ZIP è stato trasferito su un dispositivo di archiviazione danneggiato. Potresti non sapere che sono danneggiati in superficie, quindi è importante verificarne l'integrità.
Per verificare l'integrità del file zip, eseguire il comando seguente. Il zip
comando di seguito in modo ricorsivo (-r
) cerca nella directory di lavoro il file (newfiles.zip
) zip, quindi verifica (-T
) se è in buone condizioni.
Il comando seguente verifica solo l'integrità del file ZIP, ma non i file e le sottodirectory al suo interno.
zip -r -T newfiles
Come mostrato di seguito, vedrai un'indicazione che il test ha avuto successo.
Test dei file compressi prima dell'estrazione
L'estrazione di un file ZIP con file danneggiati farebbe solo perdere tempo e produrrebbe errori, soprattutto quando si ha a che fare con un file zip di grandi dimensioni con più file. Quindi, è una buona idea testare i file compressi nel file ZIP prima di estrarli.
Testare i file compressi è simile alla verifica dell'integrità del file ZIP, ma questa volta stai testando ogni file all'interno del file ZIP e non solo il file ZIP stesso.
Ora esegui unzip
comando per testare (-t
) lo stato di ogni file all'interno di (newdir.zip
) file zip.
unzip -t newdir.zip
Come puoi vedere nell'immagine qui sotto, il pacchetto unzip non ha riscontrato errori.
Visualizzare il contenuto del file zip senza estrarre
Forse preferisci semplicemente vedere cosa c'è all'interno del file ZIP piuttosto che estrarre effettivamente i file. Fortunatamente per te, il unzip
il comando ha il -l
opzione che mostra il contenuto di un file zip senza estrarlo.
Per visualizzare il contenuto di un file ZIP, esegui unzip
comando per elencare (-l
) il file zip (newdir.zip
) contenuti senza estrarli.
unzip -l newdir.zip
Si noti lo screenshot qui sotto che mostra un elenco di tabelle dei contenuti all'interno di (newdir.zip
) File ZIP.
Comprimere file con la stessa estensione di file
Per dimostrare come eseguire lo script di alcuni casi d'uso comuni con l'utilità zip, forse hai una directory con molti file diversi ma devi solo comprimere quelli che corrispondono a un'estensione specifica. Per fare ciò, è necessario uno script che cercherà ripetutamente tutti i file con la stessa estensione. Una volta trovato, li aggiunge a un file zip.
Esaminiamo cosa fa lo script di seguito e come eseguirlo.
Lo script seguente dichiara una variabile (files
) per mantenere il valore dell'estensione del file (*.txt
), quindi un'altra variabile (targetDir
) per la directory di destinazione (anotherDir
).
Lo script esegue quindi un for
funzione loop per cercare tutti i file con .txt (files
) estensione all'interno della directory di destinazione (anotherDir
). Quando un .txt viene trovato il file zip
comando aggiunge (-u
) quel file in (mynewfiles.zip
) File zip. Pronto per automatizzare la compressione dei file?
1. Apri un editor di testo e salva lo script con .sh estensione (es:script.sh ), che è l'estensione per i file scritti con il linguaggio di programmazione della shell.
files=*.txt # Declare variable to hold the .txt extension
targetDir=anotherDir # Declare variable to hold the target directory
for file in $files; do # Searches all files with .txt extension
zip -u $targetDir/mynewfiles $file # Adds found .txt files to mynewfiles.zip file
done
2. Assicurarsi di poter eseguire lo script modificandone l'autorizzazione. Per farlo, esegui chmod
comando da modificare (+x
) lo script (script.sh
) eseguire il permesso.
chmod +x script.sh
3. Ora esegui lo script eseguendo il comando seguente. Il comando seguente esegue lo script (script.sh ) purché lo script si trovi all'interno della directory di lavoro corrente.
./script.sh
Come hai notato, c'è un messaggio di avviso che ti dice che ~/mynewfiles.zip non esiste. Ma non preoccuparti, poiché lo script creerà automaticamente il file zip.
Conclusione
Se sei un professionista IT alle prese con troppe richieste di reimpostazione della password in Active Directory, dai un'occhiata a Specops uReset, una soluzione SSPR sicura.
Durante questo tutorial, hai imparato come gestire i file zip (comprimi e decomprimi) e un esempio pratico di come automatizzare il processo di compressione dei file. Come promesso, ora sei uno "zip master"!
Ora, la prossima volta che esegui lo zipping, vorresti passare a processi manuali o automatizzati?