Ответы:
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но вы спрашиваете о командной строке.