Стиснути файли з терміналу OS X?


50

У Finder є чудова здатність клацання правою кнопкою миші на файл або каталог, вибирати компрес зі спадного меню та закінчувати файлом, який зберігається у блискавці.

Чи можна зробити те ж саме з терміналу?

Відповіді:


69

Це називається zip.

Це додає файл fileдо архіву file.zip:

zip file.zip file

Звичайно, щоб додати більше файлів, просто додайте їх як аргументи до команди. Ознайомтеся з man zipдодатковими варіантами.

Часто вам потрібно пропустити в тому числі ті примхливі .DS_Storeфайли, наприклад, стискаючи всю папку folderв folder.zip:

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

Що (1) після слова zip?
Яків Раккуя

@JacobRaccuia Дивіться superuser.com/questions/297702/…
slhck

Це звичайний старий поштовий індекс GNU, який постачається з OS X?
mwfearnley

@mwfearnley Під macOS це Copyright (c) 1990-2008 Info-ZIP. developer.apple.com/legacy/library/documentation/Darwin/…
slhck

посилання на man zip
manpage порушено

15

Для стиснення файлів саме так, як команда 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
Це найкраща відповідь, оскільки він створює однаковий zip, тоді як CLI-блискавка або tar є різними та трохи меншими розмірами. Аналогічне запитання з тією ж відповіддю: stackoverflow.com/questions/10738505/…
Генрі Блайт

5

Є смол (1) і gzip (або bzip2 або lzma). Тар використовується для перекачування декількох файлів в один архів, тоді як один з трьох інших використовується для його стиснення.

У командному рядку ви зателефонуєте на tar із парою параметрів, щоб створити архів та gzip.

Наприклад:

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

Цей willl -c реагує ag -z ipped архів з ім'ям -f ile з каталогу -C hange-folder-в каталог і буде містити всі файли в папці Завантаження. Опція -C не є обов'язковою, і аргументи вихідного файлу будуть взяті з поточної папки, якщо вона пропущена.

Для довідки: навчальний посібник з дьогтем

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.