Vorrei comprimere i compiti dell'anno scorso. Come posso tarare e comprimere l'intera cartella dalla riga di comando di Ubuntu (non ho la GUI).
Vorrei comprimere i compiti dell'anno scorso. Come posso tarare e comprimere l'intera cartella dalla riga di comando di Ubuntu (non ho la GUI).
Risposte:
Leggi man tar
. Offre:
-a, --auto-compress
use archive suffix to determine the compression program
-j, --bzip2
--lzip
--lzma
--lzop
-z, --gzip, --gunzip --ungzip
-Z, --compress, --uncompress
Oppure, se nessuno di questi è giusto per te e hai un programma di compressione che legge stdin
, potresti:
tar cf- $HOME | my_compression_program >/tmp/compressed.output
Si noti che sto scrivendo l'output in un posto diverso da $HOME
(il backup in una directory di cui si esegue il backup porta a una crescita dei file senza vincoli).
Oppure, potresti leggere man 7z
- sembra che potresti fare
dir="directory to save"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/archive.7z $dir
E ' non è una buona idea comprimere direttamente con 7z spcially su Unix / Linux Sistemi: 7z non conserva le autorizzazioni e informazioni o utente / gruppo . Quindi: prima tar, quindi comprimere.
Come riportato sulla pagina wiki di 7zip su http://en.wikipedia.org/wiki/7z#Limitations :
limitazioni
Il formato 7z non memorizza le autorizzazioni del filesystem (come le autorizzazioni UNIX proprietario / gruppo o ACL NTFS), e quindi può essere inappropriato per scopi di backup / archiviazione. Una soluzione alternativa a sistemi simili a UNIX per questo consiste nel convertire i dati in un bit bitstream tar prima di comprimere con 7z.
Suggerirei di usare:
tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z
per un notevole aumento della velocità.
Ha il vantaggio di usare lzma2 ( -m0=lzma2
) (che utilizza il numero massimo di core disponibili sul sistema e il preset "Compressione rapida" ( -mx=3
), che è sostanzialmente veloce e abbastanza buono. Nota che LZMA2 non utilizza solo tutti i core in compressione, ma anche su decompressione.
man 7z
.