GNU/Linux >> Linux Esercitazione >  >> Linux

Scopri come comprimere e decomprimere file in Linux ed essere uno Zip Master

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?


Linux
  1. Come comprimere file e directory su Linux (con esempi)

  2. Come archiviare file e directory in Linux [Parte 2]

  3. Come archiviare e comprimere file su Linux

  4. Come comprimere più file su Linux

  5. Lavora con i file ZIP in Linux

Come decomprimere i file zip in Linux

Come comprimere file e cartelle in Linux [Suggerimento per principianti]

Come installare zip e decomprimere su Linux

Come comprimere e decomprimere file su Ubuntu Linux:una guida definitiva

Come comprimere file e cartelle in Linux

Come comprimere un file in Linux