Я хотел бы застегнуть домашнюю работу с прошлого года. Как мне распаковать и сжать всю папку из командной строки Ubuntu (у меня нет GUI).
Я хотел бы застегнуть домашнюю работу с прошлого года. Как мне распаковать и сжать всю папку из командной строки Ubuntu (у меня нет GUI).
Ответы:
Читать man tar
. Это предлагает:
-a, --auto-compress
use archive suffix to determine the compression program
-j, --bzip2
--lzip
--lzma
--lzop
-z, --gzip, --gunzip --ungzip
-Z, --compress, --uncompress
Или, если ни один из них не подходит вам, и у вас есть программа сжатия, которая читает stdin
, вы можете:
tar cf- $HOME | my_compression_program >/tmp/compressed.output
Обратите внимание, что я записываю выходные данные где-то кроме $HOME
(резервное копирование в каталог, который вы резервируете, приводит к неограниченному росту файлов).
Или вы могли бы читать man 7z
- похоже, что вы могли бы сделать
dir="directory to save"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/archive.7z $dir
Это не очень хорошая идея сжатия непосредственно с 7z Spcially на Unix / Linux систем: 7z не сохраняет права доступа и или пользователей / групп информации . Итак: сначала смола, а потом сжимаем.
Как сообщается на вики-странице 7zip по адресу http://en.wikipedia.org/wiki/7z#Limitations :
Ограничения
Формат 7z не хранит разрешения файловой системы (например, разрешения владельца / группы UNIX или списки ACL NTFS) и, следовательно, может не подходить для целей резервного копирования / архивирования. Обходной путь в UNIX-подобных системах для этого заключается в преобразовании данных в поток битов tar перед сжатием в 7z.
Я бы предложил вам использовать:
tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z
для резкого увеличения ускорения.
Он имеет преимущество использования lzma2 ( -m0=lzma2
) (который использует максимально доступное количество ядер в вашей системе и предустановку «Быстрое сжатие» ( -mx=3
), которая в основном быстрая и достаточно хорошая. Обратите внимание, что LZMA2 использует не только все ядра для сжатия, но и для декомпрессия.
man 7z
.