Я хотел бы застегнуть домашнюю работу с прошлого года. Как мне распаковать и сжать всю папку из командной строки Ubuntu (у меня нет GUI).
Использовать следующий однострочный:
tar cf - <source folder> | 7z a -si <Destination archive>.tar.7z
Читать 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
Я бы предложил вам использовать:
tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z
для резкого увеличения ускорения.
Он имеет преимущество использования lzma2 (-m0=lzma2
) (который использует максимально доступные ядра в вашей системе и предустановку «Быстрое сжатие» (-mx=3
), которая в основном быстрая и достаточно хорошая. Обратите внимание, что LZMA2 не только использование всех ядер при сжатии, а также при распаковке.
Это не хорошая идея сжатия непосредственно с 7z, особенно в системах Unix / Linux: 7z не сохраняет разрешения и / или информацию о пользователе / группе . Итак: сначала смола, а затем сжимаем.
Как сообщается на вики-странице 7zip на http://en.wikipedia.org/wiki/7z#Limitations :
Ограничения
7z Формат не хранит разрешения файловой системы (например, разрешения владельца / группы UNIX или списки ACL NTFS) и, следовательно, может не подходить для целей резервного копирования / архивирования. Обходной путь в UNIX-подобных системах для этого заключается в преобразовании данных в поток битов tar перед сжатием 7z.
Необходимо использовать tar -Jchf <Filename>.tar.xz <Files to compress>
-J
использование алгоритм сжатия XZ, то же как 7zip
-c
создает новый файл -h
, сохраняет символьные ссылки -f
наборы имя файла