В Finder есть замечательная возможность щелкнуть правой кнопкой мыши файл или каталог, выбрать сжатие в раскрывающемся списке и получить сжатый файл.
Можно ли сделать то же самое из терминала?
В Finder есть замечательная возможность щелкнуть правой кнопкой мыши файл или каталог, выбрать сжатие в раскрывающемся списке и получить сжатый файл.
Можно ли сделать то же самое из терминала?
Это называется zip(1)
.
Это добавит файл file
в архив file.zip
:
zip file.zip file
Конечно, чтобы добавить больше файлов, просто добавьте их в качестве аргументов команды. Проверьте man zip
для большего количества вариантов.
Зачастую вам захочется пропустить, в том числе и надоедливых .DS_Store
, например, сжатие всей папки в folder
folder.zip
:
zip -vr folder.zip folder/ -x "*.DS_Store"
Чтобы сжать файлы в точности так, как это сделала бы команда 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.
Есть 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