ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как сжать каталог с помощью gzip в Linux

Как сжать каталог в Linux

Какой 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

 

Позвольте нам объяснить вам опции, использованные в приведенной выше команде:

 

Пример использования 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.

Любые вопросы, предложения простого слова благодарности всегда приветствуются.

Exit mobile version