Відповіді:
Тар - це інструмент архіву, а gzip - інструмент стиснення. Щоб стиснути повний каталог, спочатку потрібно заархівувати його в єдиний файл. Ось у чому робота тар. а потім ви стискаєте архівний файл. Ви можете виконати обидва завдання в одній команді tar з належною опцією.
tar -czf folder_name.tar.gz folder_name /
Якщо ви не хочете робити архів tar (можливо, ви хочете стиснути лише один файл), ви можете використовувати команду gzip безпосередньо.
gzip file.txt
Це створить стислий файл з назвою file.txt.gz
-czf
після того, як tar
протягом: c
вказує на те, що ви хочете створити архів смоли, z
застосовується gzip
на проміжному архіві дьогтю, і f
для подальшого остаточного імені файлу folder_name.tar.gz
.
gzip file.txt
замінює вихідний файл.
gzip -k file.txt
для "збереження" (не видалення) вхідного файлу.
Якщо хтось досі знаходить це питання під час пошуку "gzip в 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
Сподіваюся, ви знайдете корисним мій путівник :)
Щоб додати відповідь від @taskinoor: якщо ви використовуєте одиночну версію файлу, ака
gzip file.txt
майте на увазі, що вихідний файл (file.txt) буде видалений, і у вас буде тільки файл.txt.gz
Я б ставлю це як коментар, але у вас немає достатньої кількості карми для цього: =)
gzip --keep file.txt
збереже оригінал і створить file.txt.gz
. Див gzip --help
.
Так, це правильно. gzip
може лише стиснути файл. tar
кодує вміст каталогу в один файл, який може бути додатково стиснутий з використанням gzip
, bzip2
, lzma
або що - небудь ще.
objective-c
але ви запитуєте про командний рядок.