Connect with us

Linux

Come comprimere l’intera directory usando xz e tar


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:

  1. -C : Crea un nuovo archivio tar
  2. -v : Output dettagliato
  3. -J : usa la compressione xz chiamando il comando xz
  4. -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!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
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.
Close Popup
Privacy Settings saved!
Impostazioni

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.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi