Come usare 7-Zip da riga di comando

Come usare 7-Zip da riga di comando

Come usare 7-Zip da riga di comando

7-Zip è uno degli archivi open source più diffusi al mondo, apprezzato per il suo elevato tasso di compressione e per la leggerezza del software. Sebbene esista un’interfaccia grafica intuitiva, la vera potenza dello strumento si esprime attraverso la riga di comando. Utilizzare 7-Zip da terminale permette di automatizzare processi di backup, integrare operazioni di compressione in script batch o gestire file su server senza interfaccia desktop. Questa guida ti condurrà passo dopo passo nella comprensione e nell’utilizzo efficace dei comandi 7-Zip.

Installazione e configurazione iniziale

Prima di poter utilizzare 7-Zip da riga di comando, è necessario installarlo sul proprio sistema. Il software è disponibile gratuitamente per Windows, Linux e macOS. Per gli utenti Windows, il download ufficiale si trova sul sito sito ufficiale di 7-Zip. Durante l’installazione, fai attenzione a selezionare l’opzione che aggiunge la cartella di installazione al percorso del sistema (PATH), in modo da poter invocare il comando “7z” da qualsiasi directory senza dover specificare il percorso completo.

Su sistemi Linux, 7-Zip è disponibile nei repository delle principali distribuzioni. Puoi installarlo utilizzando il gestore pacchetti della tua distribuzione:

  • Per Debian, Ubuntu e derivate: esegui il comando apt install p7zip-full
  • Per Fedora e derivate: utilizza dnf install p7zip p7zip-plugins
  • Per Arch Linux: applica pacman -S p7zip

Su macOS, puoi installare 7-Zip tramite Homebrew digitando brew install p7zip nel terminale.

Comandi di base per la compressione

Creare un archivio compresso in formato 7z

Il comando principale di 7-Zip è “7z”. Per creare un nuovo archivio, si utilizza il parametro “a” (add, aggiungi). La sintassi generale è la seguente: 7z a nome_archivio.7z file_o_cartella_da_comprimere.

Ecco alcuni esempi pratici:

  • Per comprimere un singolo file: digita 7z a backup.7z documento.pdf
  • Per comprimere una cartella intera: inserisci 7z a archivio_cartella.7z percorso/della/cartella
  • Per comprimere più file specificati separatamente: usa 7z a multipli.7z file1.txt file2.txt file3.docx

Il formato nativo 7z offre il miglior tasso di compressione, ma richiede più tempo per la creazione e la decompressione rispetto ad altri formati.

Comprimere con altri formati supportati

7-Zip supporta numerosi formati di archiviazione. Per specificare un formato diverso da 7z, si utilizza il parametro “t” (type). Ad esempio:

  • Per creare un archivio ZIP: 7z a nome_archivo.zip file_da_comprimere
  • Per creare un archivio TAR: 7z a nome_archivo.tar cartella_intera
  • Per creare un archivio GZIP: 7z a nome_archivo.gz file_da_comprimere
  • Per creare un archivio RAR: 7z a nome_archivo.rar file_da_comprimere

È importante notare che la creazione di archivi RAR è supportata solo in lettura. Per creare archivi RAR compatibili, si consiglia l’utilizzo del software proprietario WinRAR.

Parametri avanzati per la compressione

Impostare il livello di compressione

Il parametro “mx” controlla la velocità di compressione. I valori vanno da 0 a 5:

  • mx=0: nessuna compressione (solo archiviazione)
  • mx=1: compressione veloce, minima riduzione delle dimensioni
  • mx=3: compressione normale, bilanciamento ottimale tra velocità e dimensione
  • mx=5: compressione massima, tempi più lunghi ma file più piccoli

Esempio di utilizzo: 7z a -mx5 archivio_massimo.7z cartella_da_comprimere.

Scegliere il metodo di compressione e la dimensione del dizionario

Il parametro “m0” permette di selezionare il metodo di compressione interno. I valori possibili includono LZMA, LZMA2, DEFLATE e altri. Per impostazione predefinita, 7-Zip utilizza LZMA2 per il formato 7z.

Il parametro “ms” definisce la dimensione del dizionario in megabyte. Valori più elevati migliorano la compressione ma richiedono più memoria RAM. Un esempio avanzato:

  • 7z a -mx=5 -m0=lzma2 -ms=64 archivio_optimizado.7z cartella_da_compressare

In questo caso, LZMA2 viene utilizzato come metodo con compressione massima e un dizionario di 64 megabyte.

Aggiungere una password di protezione

Per proteggere i contenuti dell’archivio con una password, si utilizza il parametro “p”. Attenzione: la password verrà visualizzata nel terminale durante l’esecuzione. Per evitarlo, 7-Zip rileva automaticamente se lo standard input è un terminale e chiede la password in modo interattivo.

  • Per attivare la richiesta interattiva della password: 7z a -p archivio_protetto.7z file_sensibile.txt
  • Per impostare una password direttamente nel comando (sconsigliato per sicurezza): 7z a -pLaMiaPassword archivio_protetto.7z file_sensibile.txt

Comandi di decompressione ed estrazione

Estrarre un archivio completo

Il parametro “e” (extract) estrae tutti i file dell’archivio nella directory corrente, ignorando la struttura delle cartelle interne. La sintassi è: 7z e nome_archivo.

  • Per estrarre tutto nella directory corrente: 7z e archivio_da_aprire.7z
  • Per specificare una directory di destinazione: 7z e archivio.7z -o/percorso/di/destinazione

Estrarre mantenendo la struttura delle cartelle

Il parametro “x” (extract with eXclude paths) estrae i file mantenendo la struttura originale delle directory all’interno dell’archivio. Questo è il metodo consigliato per preservare l’organizzazione dei file.

  • Per estrarre con la struttura originale: 7z x archivio_da_aprire.7z
  • Con destinazione specifica: 7z x archivio.7z -o/percorso/di/destinazione

Estrarre solo file specifici o di un certo tipo

È possibile filtrare i file da estrarre utilizzando espressioni regolari o nomi di file. Per estrarre solo i file con estensione specifica:

  • Estrarre tutti i file PDF: 7z x archivio.7z *.pdf
  • Estrarre solo i file di una cartella interna: 7z x archivio.7z documenti/fatture/*
  • Estrarre file che corrispondono a un pattern: 7z x archivio.7z report_2024*

Estrarre senza conferme e con password

Per automatizzare l’estrazione, si possono utilizzare parametri aggiuntivi:

  • Per non chiedere conferma: 7z x archivio.7z -y
  • Per fornire la password in automatico: 7z x archivio_protetto.7z -pLaMiaPassword

Gestione degli archivi esistenti

Aggiungere file a un archivio esistente

Il parametro “a” aggiunge automaticamente i nuovi file all’archivio senza ricrearlo da zero. Questo è molto più veloce rispetto alla creazione di un nuovo archivio.

  • Per aggiungere un file: 7z a archivio_esistente.7z nuovo_file.txt
  • Per aggiungere una cartella: 7z a archivio_esistente.7z nuova_cartella/

Rimuovere file da un archivio

Il parametro “d” (delete) permette di rimuovere file specifici da un archivio senza doverlo ricreare completamente.

  • Per rimuovere un file: 7z d archivio.7z file_da_rimuovere.txt
  • Per rimuovere tutti i file con una certa estensione: 7z d archivio.7z *.tmp
  • Per rimuovere una cartella interna: 7z d archivio.7z cartella_interna/

Modificare le informazioni dell’archivio

Il parametro “u” (update) aggiorna i file nell’archivio, aggiungendo quelli nuovi e aggiornando quelli modificati rispetto all’ultima versione.

  • Per aggiornare l’archivio con file modificati: 7z u archivio.7z cartella_da_controllare/

Informazioni e verifica degli archivi

Visualizzare il contenuto di un archivio

Il parametro “l” (list) elenca il contenuto di un archivio senza estrarlo. Questo è utile per verificare cosa contiene un file compresso prima di procedere con l’estrazione.

  • Per elencare i file: 7z l archivio_da_esaminare.7z
  • Per visualizzare dettagli completi: 7z l -slt archivio_da_esaminare.7z
  • Per ordinare per nome: 7z l archivio.7z | sort

Verificare l’integrità di un archivio

Il parametro “t” (test) verifica che i file all’interno dell’archivio siano integri e non corrotti. Questo è fondamentale dopo il download o la copia di un archivio.

  • Per testare l’integrità: 7z t archivio_da_verificare.7z

Se il test supera tutte le verifiche, 7-Zip restituirà un messaggio di conferma. In caso di errori, verranno indicati i file corrotti.

Visualizzare le informazioni dettagliate dell’archivio

Il parametro “i” (info) mostra informazioni tecniche sull’archivio, come il formato utilizzato, la dimensione originale e compressa, e il metodo di compressione applicato.

  • Per informazioni complete: 7z i archivio_da_analizzare.7z

Automazione con script batch

Script per backup giornalieri su Windows

È possibile creare file batch (.bat) per automatizzare il processo di compressione. Ecco un esempio di struttura:

  • Apri un editor di testo e scrivi: @echo off
  • Aggiungi la riga: 7z a backup_%date%.7z cartella_da_backupare/ -mx=3
  • Aggiungi: echo Backup completato con successo
  • Salva il file con estensione .bat e eseguilo quando necessario

Script per Linux e macOS

Su sistemi Unix-like, puoi creare script shell per automatizzare le operazioni:

  • Crea un file con estensione .sh contenente: #!/bin/bash
  • Aggiungi la riga: 7z a backup_$(date +%Y%m%d).7z /percorso/cartella_da_backupare/ -mx=3
  • Rendi il file eseguibile con: chmod +x nome_script.sh
  • Esegui lo script quando necessario

Confronto tra formati e consigli pratici

Scegliere il formato giusto dipende dalle tue esigenze specifiche. Ecco una panoramica delle situazioni d’uso più comuni:

  • Per la massima compressione: utilizza il formato 7z con LZMA2 e un dizionario ampio. Ideale per archivi di dati che non devono essere scambiati frequentemente
  • Per la compatibilità universale: scegli il formato ZIP. Quasi tutti i sistemi operativi lo supportano nativamente senza software aggiuntivo
  • Per lo scambio di file su internet: il formato TAR.GZ offre un buon compromesso tra compressione e velocità, ed è ampiamente supportato su Linux e macOS
  • Per l’archiviazione a lungo termine: 7z con password offre la migliore protezione e compressione per dati sensibili che devono essere conservati per anni

Risoluzione dei problemi comuni

Di seguito vengono riportate le soluzioni ai problemi più frequenti riscontrati durante l’utilizzo da riga di comando:

  • Se ricevi un errore “comando non trovato”, verifica che 7-Zip sia stato installato correttamente e che la cartella di installazione sia nel PATH del sistema
  • Per errori di permessi negati, esegui il terminale come amministratore o con i privilegi sudo su sistemi Unix
  • Se l’archivio risulta corrotto dopo l’estrazione, utilizza il comando “t” per verificare l’integrità e rigenera l’archivio se necessario
  • Per problemi con percorsi contenenti spazi, racchiudi sempre i percorsi tra virgolette doppie: 7z a “C:/Percorso con spazi/archivio.7z” “C:/Percorso con sorgenti/file.txt”
  • Se la compressione fallisce per file di grandi dimensioni, verifica di avere spazio sufficiente sul disco di destinazione e considera l’uso del parametro -ms=off per disabilitare il riferimento incrociato tra file

Conclusioni

La riga di comando di 7-Zip rappresenta uno strumento potente per chi deve gestire archivi in modo efficiente e automatizzato. Con i comandi descritti in questa guida, puoi comprimere, decomprimere, verificare e modificare archivi con precisione. La combinazione dei vari parametri permette di personalizzare ogni operazione in base alle proprie esigenze specifiche, bilanciando velocità, dimensione del file e sicurezza. Per ulteriori informazioni ufficiali sui parametri disponibili, consulta la documentazione completa disponibile sul sito ufficiale di 7-Zip.