TIl comando xz su Linux, macOS, *BSD e sistemi simili a Unix offre un’eccellente compressione. Supererà zip e altri formati quando usiamo xz con tar per la massima riduzione delle dimensioni. Ad esempio, ho compresso una directory con dimensioni 37M utilizzando sia xz che zip. La dimensione del file zip era 31M, mentre il file xz era 16M dopo la compressione. Abbastanza impressionante, non è vero? Vediamo come comprimere l’intera directory usando xz e tar.
Come ho affermato, il precedente xz per la compressione e la decompressione dei file dalla riga di comando di Unix e Linux fornisce un eccellente rapporto di compressione. Di conseguenza, ho ottenuto archivi molto più piccoli rispetto alla compressione dei file con i comandi zip/gzip. Usiamo i comandi xz e tar per comprimere la directory while su Linux e Unix.
Dettagli tutorial
Livello di difficoltà
Facile
Privilegi di root
No
Requisiti
xz e tar
Est. momento della lettura
4 minuti
Usare xz per un singolo file
La sintassi è piuttosto semplice xz filename xz [option] filename In questo esempio, comprimerò un singolo file chiamato firc.pdf: firc.img Verificalo usando il comando ls: ls -l firc.pdf* Passa il -v opzione per vedere i progressi: xz -v filename xz -v resume.doc
Selezione di un livello di compressione preimpostato
Possiamo indicare i livelli di compressione tra 0 e 9 usando il numero: xz -{LEVEL} filename xz -{LEVEL} {options} filename Il livello predefinito è -6. Ma posso usare -9 come segue: xz -9 filename xz -9 -v filename Le impostazioni di compressione selezionate determinano i requisiti di memoria del decompressore. Pertanto, l’utilizzo di un livello preimpostato troppo alto potrebbe rendere doloroso decomprimere il file su un vecchio sistema con poca RAM.
Guide solo per i sostenitori di Patreon ????
Nessuna pubblicità e tracciamento
Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:
Aderire Patreon ?
Tabella 1: livello preimpostato di compressione XZ
Livello
Descrizione
da -0 a -3
-0 a volte è più veloce di gzip mentre comprime molto meglio.
da -4 a -6
Compressione da buona a molto buona mantenendo l’utilizzo della memoria del decompressore ragionevole anche per il vecchio sistema
da -7 a -9
Questi sono come -6 ma con requisiti di memoria più elevati per il compressore e il decompressore. Questi sono utili solo quando si comprime file più grandi di 8 MiB, 16 MiB e 32 MiB, rispettivamente.
Decomprimere un file
Per decomprimere passare le seguenti opzioni: xz -d file.xz xz --decompress resume.doc.xz xz --uncompress cake_php.music_raw.xz xz -d -v firc.pdf.xz
Comprimere l’intera directory usando xz e tar
Per impostazione predefinita, xz comprime solo un singolo file. Quindi, come spremere l’intera directory usando xz? Non aver paura. Dobbiamo usare una combinazione di comandi tar e xz. La sintassi dipende da quanto deve essere portabile il comando.
Come xz una directory con tar usando la massima compressione
La sintassi più semplice è: tar -cJf archive.tar.xz dir1 tar -cvJf archive.tar.xz /path/to/appdir1/ # state compression level to 9 # XZ_OPT='-9' tar -cvJf mywebsite.backup.tar.xz /var/www/html/ Puoi anche usare la sintassi dettagliata per indicare l’opzione -v e -9 come segue: tar cf cyberciti.biz_blog_source.tar.xz --use-compress-program='xz -9v' ~/projects/wp/cbz_blog/ Dove le opzioni tar sono le seguenti:
-C : Crea un nuovo archivio tar
-v : Output dettagliato
-J : usa la compressione xz chiamando il comando xz
-F : Nome archivio
Utilizzo di tar con xz per più file e directory
La versione portatile è la seguente: tar -cf - /path/to/dir | xz -9ze -T0 >output.tar.xz Ad esempio, comprimiamo la directory SalesData nella posizione corrente. Ma prima scopri la dimensione della cartella usando il comando du: $ du -csh SalesData/ 37M SalesData/ 37M total
tar -cf - SalesData | xz -9ze -T0 >SalesData.txz ## OR ## tar -cf - SalesData | xz -9ze -T0 >SalesData.tar.xz Verifichiamo la dimensione del file: ls -lh SalesData.tar.xz
Riassumendo
Ho spiegato come usare il comando xz per comprimere e decomprimere singoli file. Poi ho spiegato come usare tar con xz per più file e directory. La sintassi portatile è la migliore per varie varianti di Linux, macOS e Unix per comprimere l’intera directory. Controlla la documentazione del comando xz online o al prompt della shell locale usando il comando xz: man xz man tar
Comando da ricordare quando vuoi comprimere l’intera directory con xz
Un piccolo foglietto per te:
Compito
Esempio
Comprimi un file nel formato file xz
xz nomefile
Comprimi un file, ma non eliminare l’originale
xz -k nomefile
Decomprimere un file xz
xz -d nomefile.xz
Sii prolisso. Mostra i progressi e altre informazioni.
xz -v -d nomefile.xz
Decomprimi un file e scrivi su stdout
xz -dc nomefile.xz
Comprimi un file utilizzando la compressione più veloce
xz -0 nome file
Specificare il numero di thread di lavoro da utilizzare. L’impostazione dei thread su un valore speciale 0 fa sì che xz utilizzi tanti thread quanti sono i core della CPU nel sistema.
xz -v -T0 -9 nomefile
Comprimi un file utilizzando la migliore compressione
xz -9 nome file
Vuoi comprimere un’intera directory?
tar -cf - Dir1 | xz -9ze -T0 >Dir1.txz
Utilizzo di tar con xz per comprimere l’intera directory con xz e tar
tar cJvf archivio.tar.xz Dir1
ANNUNCIO
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.