Я новичок в Mac командной строки. Как создать GZIP-папку в Mac OS X? Несколько человек сказали мне, что если вы хотите создать gzip-файл папки, вы должны сначала «распаковать» его, а затем «gzip». Это правильно?
6 ответов
Tar - это инструмент архивирования, а gzip - инструмент сжатия. Чтобы сжать полный каталог, сначала вам нужно заархивировать его в один файл. Это то, что работа является смолой. а затем вы сжимаете архивированный файл. Вы можете выполнить обе задачи в одной команде tar с соответствующей опцией.
tar -czf folder_name.tar.gz folder_name/
Если вы не хотите создавать архив tar (возможно, вы хотите сжать только один файл), вы можете напрямую использовать команду gzip.
gzip file.txt
Это создаст сжатый файл с именем file.txt.gz
Если кто-то все еще находит этот вопрос при поиске "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
выполняет конкатенацию текстовых файлов. Единственным недостатком является то, что ваши файлы должны иметь суффикс с .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
Я надеюсь, что вы найдете мое руководство полезным :)
MacOS X - Unix, так что это должно работать (это работает на GNU/Linux)
tar czvf compressed.tar.gz folder
Чтобы добавить к ответу @taskinoor: если вы используете одну версию файла, иначе
gzip file.txt
Помните, что исходный файл (file.txt) будет удален, и у вас будет только file.txt.gz.
Я бы назвал это комментарием, но у меня недостаточно кармы, чтобы сделать это:=)
Да, вы должны сначала сделать tar каталог. Команда tar может выполнять оба действия:
tar -czf archiv.tar.gz mydir/
распакуйте архив:
tar -xzf archiv.tar.gz
Да, это правильно. gzip
может только сжать файл. tar
кодирует содержимое каталога в один файл, который может быть дополнительно сжат с помощью gzip
, bzip2
, lzma
или чего-либо еще.