Какой gzip каталог в Linux? Он определенно не использует команду gzip, потому что если вы попытаетесь сжать папку с помощью команды gzip, вы увидите эту ошибку:
gzip: target-это каталог -- ignored
Интересно, не правда ли? Команда gzip не может сжать каталог, потому что, по сути, gzip работает с отдельными файлами, а не со всей папкой.
Что вы можете сделать сейчас? Как GZIP сжать файл в Linux?
gzip каталог с помощью команды tar
Вместо того, чтобы пытаться сжать папку напрямую, вы должны сначала использовать tar для нее. Команда tar объединит все файлы в один архивный файл. Он не сжимает сам файл.
Если вы объедините tar с gzip, команда tar создаст один единственный архивный файл из папки, а затем gzip сожмет этот архивный файл.
Хорошо, что вы можете выполнить оба эти действия в одной команде, используя опцию z. Команда выглядит примерно так:
tar -zcvf output_file_name directory_to_compress
Позвольте нам объяснить вам опции, использованные в приведенной выше команде:
- z – сообщает tar, что имеет дело с файлом gzip
- c – говорит tar сжать файл
- v – подробный режим, показывающий, какие файлы обрабатываются
- f – вывод файла
Пример использования tar и gzip для сжатия папки
Допустим, у меня есть куча файлов в каталоге. Если мы используем команду du, чтобы получить размер каталога, это 204 КБ.
du -sh sample_text_files 204K sample_text_files
Теперь, если мы сожмем папку gzip:
tar -cvzf sample_text_archive sample_text_files sample_text_files/ sample_text_files/sample_rar.rar sample_text_files/test/ sample_text_files/dir2/ sample_text_files/dir2/services sample_text_files/dir2/alex.txt sample_text_files/andr-3.txt
Теперь, если мы проверим размер сжатой папки с помощью команды ls, она вряд ли будет 10 КБ.
ls -lh sample_text_archive -rw-r--r-- 1 andreyex andreyex 11.2K Apr 12 23:24 sample_text_archive
Имейте в виду при использовании команд tar и gzip
Вы должны отметить пару вещей при использовании команды tar:
Важно указать имя файла в команде, иначе вы увидите эту ошибку:
tar: Cowardly refusing to create an empty archive Try 'tar --help' or 'tar --usage' for more information.
Если вы вообще не используете опцию -f, вы все равно увидите ошибку, на этот раз другую.
tar: Refusing to write archive contents to terminal (missing -f option?) tar: Error is not recoverable: exiting now
Мы надеемся, что эта команда помогла вам сжать каталог в Linux, и вы также узнали несколько связанных вещей, касающихся tar и сжатия. Теперь, когда вы знаете, как сжимать папку, возможно, вы хотели бы прочитать о том, как извлечь файл tar xz в Linux.
Любые вопросы, предложения простого слова благодарности всегда приветствуются.