36

В Finder есть замечательная возможность щелкнуть правой кнопкой мыши файл или каталог, выбрать сжатие в раскрывающемся списке и получить сжатый файл.

Можно ли сделать то же самое из терминала?

3 ответа3

49

Это называется zip(1) .

Это добавит файл file в архив file.zip:

zip file.zip file

Конечно, чтобы добавить больше файлов, просто добавьте их в качестве аргументов команды. Проверьте man zip для большего количества вариантов.

Зачастую вам захочется пропустить, в том числе и надоедливых .DS_Store , например, сжатие всей папки в folder folder.zip:

zip -vr folder.zip folder/ -x "*.DS_Store"
9

Чтобы сжать файлы в точности так, как это сделала бы команда Finder, используйте:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip

Смотрите man ditto для деталей:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.
3

Есть tar(1) и gzip (или bzip2 или lzma). Tar используется для того, чтобы свернуть несколько файлов в один архив, в то время как один из трех других используется для его сжатия.

В командной строке вы вызовете tar с несколькими опциями, чтобы создать архив и распаковать его.

Например:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

Этот willl -c reate ag -z ipped архив с именем -f ile из каталога -C hange-folder-to будет содержать все файлы в папке Downloads. Опция -C является необязательной, и аргументы исходного файла будут взяты из текущей папки, если опущены.

Для справки: учебник по tar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .