Ответы:
Tar - это инструмент архивирования, а gzip - инструмент сжатия. Чтобы сжать полный каталог, сначала вам нужно заархивировать его в один файл. Это то, что работа смола. а затем вы сжимаете архивированный файл. Вы можете выполнить обе задачи в одной команде tar с соответствующей опцией.
tar -czf имя_папки.tar.gz имя_папки /
Если вы не хотите создавать архив tar (возможно, вы хотите сжать только один файл), вы можете напрямую использовать команду gzip.
gzip file.txt
Это создаст сжатый файл с именем file.txt.gz
-czf
после tar
: c
указывает, что вы хотите создать архив tar, z
применяется gzip
к промежуточному архиву tar и f
относится к последующему окончательному имени файла folder_name.tar.gz
.
gzip file.txt
заменяет оригинальный файл.
gzip -k file.txt
чтобы «сохранить» (не удалять) входной файл.
Если кто-то все еще находит этот вопрос при поиске «gzip in Mac», я написал руководство, которое может пригодиться кому-то еще. Здесь это идет:
Самая простая команда сжимает файл filename.ext
и затем заменяет его filename.ext.gz
в том же каталоге.
gzip filename.ext
Если вы не хотите потерять свой оригинальный файл, то вам нужно передать вывод gzip -c
файла в файл.
gzip -c filename.ext > anotherfile.gz
Мы также можем сжимать со стандартного ввода, чтобы мы могли сжимать вывод других команд.
cat filename.ext | gzip > anotherfile.gz
OS X поставляется с compress
и uncompress
команд. Они делают «умнее» gzip, так как он не сжимает файл, если он будет расти после процесса сжатия. Следующая команда заменяется filename.ext
на filename.ext.Z
в том же каталоге.
compress filename.ext
Чтобы восстановить файл в его несжатом естественном состоянии, вы можете использовать gzip или другие оболочки. Режим распаковки gzip вызывается с -d
флагом. Этот режим будет заменить файл filename.ext.gz
с filename.ext
в том же каталоге. Есть также ярлык под названием, gunzip
который будет делать то же самое.
gzip -d filename.ext.gz
gunzip filename.ext.gz
Мы также можем передать распакованный файл на стандартный вывод, чтобы сохранить его в другом файле.
gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile
Еще один быстрый способ чтения содержимого gzip в стандартный вывод - zcat
это в основном то же самое, что и вызов, gzip -cd
но вы можете вызывать несколько файлов и объединять их так же, как в cat
текстовых файлах команды concats. Единственным недостатком является то, что ваши файлы должны быть дополнены .Z
суффиксом, чтобы он работал ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Но не бойся! zcat
это все еще полезно, потому что это может распаковать от стандартного вывода. Таким образом, вы можете передать свои файлы в zcat, чтобы распаковать их в окне терминала.
cat filename.ext.gz | zcat
Это очень полезно, если вам нужно очень быстро проверить содержимое файла, и вы даже можете легко сохранить вывод zcat в файл.
cat filename.ext.gz | zcat > anotherfile
uncompress
Обертка работает как , gzip -cd
но он ищет файлы с расширением .Z , чтобы заменить их в текущем каталоге, так что вам нужно только указать имя файла , который вы хотите восстановить, но это хорошо , если вы называете его с расширением .Z, а программа проигнорирует это.
compress filename.ext
uncompress filename.ext
Я надеюсь, что вы найдете мое руководство полезным :)
Да, вы должны сначала сделать tar каталог. Команда tar может выполнять оба действия:
tar -czf archiv.tar.gz mydir/
распакуйте архив:
tar -xzf archiv.tar.gz
Чтобы добавить к ответу @taskinoor: если вы используете одну версию файла, иначе
gzip file.txt
Помните, что оригинальный файл (file.txt) будет удален, и у вас будет только file.txt.gz
Я бы назвал это комментарием, но у меня недостаточно кармы для этого: =)
gzip --keep file.txt
сохраню оригинал и создам file.txt.gz
. См gzip --help
.
Да, это правильно. gzip
может только сжать файл. tar
кодирует содержимое каталога в один файл, который может быть дополнительно сжат с использованием gzip
, bzip2
, lzma
или что - нибудь еще.
objective-c
но вы спрашиваете о командной строке.