Відповіді:
Тар - це інструмент архіву, а 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але ви запитуєте про командний рядок.