Какой файл называется архивом

Обновлено: 21.11.2024

Иногда бывает полезно хранить группу файлов в одном файле, чтобы их можно было создать резервную копию, легко перенести в другой каталог или даже перенести на другой компьютер. Также иногда полезно сжимать файлы в один файл, чтобы они занимали меньше места на диске и загружались быстрее.

Важно понимать разницу между архивным файлом и сжатым файлом. Архивный файл — это набор файлов и каталогов, которые хранятся в одном файле. Файл архива не сжимается — он занимает столько же места на диске, сколько и все отдельные файлы и каталоги вместе взятые. Сжатый файл — это набор файлов и каталогов, которые хранятся в одном файле и хранятся таким образом, что занимает меньше места на диске, чем все отдельные файлы и каталоги вместе взятые. Если на вашем компьютере недостаточно места на диске, вы можете сжать файлы, которые вы не используете очень часто, или файлы, которые вы хотите сохранить, но больше не используете. Вы даже можете создать файл архива, а затем сжать его, чтобы сэкономить место на диске.

Архивный файл не сжимается, но сжатый файл может быть архивным файлом.

Red Hat Linux включает графическую утилиту File Roller, которая может сжимать, распаковывать и архивировать файлы и каталоги. File Roller поддерживает распространенные форматы сжатия и архивирования файлов UNIX и Linux, имеет простой интерфейс и обширную справочную документацию, если она вам нужна. Он также интегрирован в среду рабочего стола и графический файловый менеджер, чтобы упростить работу с архивными файлами.

Чтобы запустить File Roller, выберите Главное меню => Стандартные => Менеджер архива. Вы также можете запустить File Roller из командной строки, набрав file-roller . Рисунок 12-1 показывает File Roller в действии.

Если вы используете файловый менеджер (например, Nautilus), вы можете просто дважды щелкнуть файл, который хотите разархивировать или распаковать, чтобы запустить File Roller. Появится окно браузера File Roller с распакованным/разархивированным файлом в папке, которую вы можете извлечь или просмотреть.

Рисунок 12-1. File Roller в действии

Чтобы разархивировать и/или распаковать файл, нажмите кнопку "Открыть" на панели инструментов. Появится меню файлов, позволяющее выбрать архив, с которым вы хотите работать. Например, если у вас есть файл с именем foo.tar.gz, расположенный в вашем домашнем каталоге, выделите его и нажмите OK. Файл появится в главном окне браузера File Roller в виде папки, по которой можно перемещаться, дважды щелкнув значок папки. File Roller сохраняет все иерархии каталогов и подкаталогов, что удобно, если вы ищете определенный файл в архиве. Вы можете извлечь отдельные файлы или целые архивы, нажав кнопку «Извлечь», выбрав каталог, в который вы хотите сохранить неархивированные файлы, и нажав «ОК» .

Если вам нужно освободить место на жестком диске или отправить несколько файлов или каталог файлов другому пользователю по электронной почте, File Roller позволяет создавать архивы ваших файлов и каталогов. Чтобы создать новый архив, нажмите «Создать» на панели инструментов. Появится браузер файлов, позволяющий указать имя архива и метод сжатия (обычно вы можете оставить для этого параметра значение «Автоматически» и просто ввести имя архива файла и расширение имени файла в предоставленном текстовом поле). Нажмите OK, и теперь ваш новый архив готов к заполнению файлами и каталогами. Чтобы добавить файлы в новый архив, нажмите «Добавить». Откроется всплывающее окно браузера (рис. 12–2), в котором вы можете найти нужный файл или каталог в архиве. Нажмите OK, когда закончите, и Закрыть, чтобы закрыть архив.

Рисунок 12-2. Создание архива с помощью File Roller

С помощью File Roller вы можете делать намного больше, чем описано здесь. Дополнительную информацию см. в руководстве File Roller (доступно при нажатии Help => Manual ).

Сжатые файлы занимают меньше места на диске и загружаются быстрее, чем большие несжатые файлы. В Red Hat Linux вы можете сжимать файлы с помощью инструментов сжатия gzip , bzip2 или zip .

Рекомендуется использовать инструмент сжатия bzip2, поскольку он обеспечивает максимальное сжатие и используется в большинстве UNIX-подобных операционных систем. Инструмент сжатия gzip также можно найти в большинстве UNIX-подобных операционных систем. Если вам нужно передать файлы между Linux и другой операционной системой, такой как MS Windows, вы должны использовать zip, потому что он чаще используется в этих других операционных системах.

Таблица 12-1. Инструменты сжатия

По соглашению файлы, сжатые с помощью gzip, получают расширение .gz , файлы, сжатые с помощью bzip2, получают расширение .bz2 , а файлы, сжатые с помощью zip, получают расширение .zip .

Файлы, сжатые с помощью gzip, распаковываются с помощью gunzip , файлы, сжатые с помощью bzip2, распаковываются с помощью bunzip2 , а файлы, сжатые с помощью zip, распаковываются с помощью unzip .

Чтобы использовать bzip2 для сжатия файла, введите в командной строке следующую команду:

Файл будет сжат и сохранен как filename.bz2 .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.bz2 удаляется и заменяется именем файла .

Вы можете использовать bzip2 для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

bzip2 имя файла.bz2 файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.bz2 .

Для получения дополнительной информации введите man bzip2 и man bunzip2 в приглашении оболочки, чтобы прочитать справочные страницы для bzip2 и bunzip2 .

Чтобы использовать gzip для сжатия файла, введите в командной строке следующую команду:

Файл будет сжат и сохранен как filename.gz .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.gz удаляется и заменяется именем файла .

Вы можете использовать gzip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

gzip -r имя_файла.gz файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файлы file1 , file2 , file3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем filename.gz .

Для получения дополнительной информации введите man gzip и man gunzip в приглашении оболочки, чтобы прочитать справочные страницы для gzip и gunzip .

Чтобы сжать файл с помощью zip , введите следующую команду:

zip -r имя_файла.zip каталог_файлов

В этом примере filename.zip представляет файл, который вы создаете, а filesdir представляет каталог, который вы хотите поместить в новый zip-файл. Параметр -r указывает, что вы хотите рекурсивно включить все файлы, содержащиеся в каталоге filesdir.

Чтобы извлечь содержимое zip-файла, введите следующую команду:

Вы можете использовать zip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

zip -r имя_файла.zip файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файлы file1 , file2 , file3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем filename.zip .

Для получения дополнительной информации введите man zip и man unzip в приглашении оболочки, чтобы прочитать справочные страницы для zip и unzip .

Файл tar – это набор нескольких файлов и/или каталогов в одном файле. Это хороший способ создания резервных копий и архивов.

-c — создать новый архив.

-f — при использовании с параметром -c использовать имя файла, указанное для создания tar-файла; при использовании с параметром -x разархивировать указанный файл.

-t — показать список файлов в tar-файле.

-v — показать ход архивации файлов.

-x — извлечь файлы из архива.

-z — сжать tar-файл с помощью gzip .

-j — сжать tar-файл с помощью bzip2 .

Чтобы создать tar-файл, введите:

tar -cvf filename.tar файлы/каталоги

В этом примере filename.tar представляет файл, который вы создаете, а files/directories – файлы или каталоги, которые вы хотите поместить в заархивированный файл.

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Приведенная выше команда помещает все файлы в рабочем и школьном подкаталогах /home/mine в новый файл с именем filename.tar в текущем каталоге.

Чтобы просмотреть содержимое tar-файла, введите:

tar -tvf имя файла.tar

Чтобы извлечь содержимое файла tar, введите:

tar -xvf имя файла.tar

Эта команда не удаляет tar-файл, но помещает копии его содержимого в текущий рабочий каталог.

Помните, что команда tar не сжимает файлы по умолчанию. Чтобы создать сжатый файл в формате tar и bzip, используйте параметр -j:

tar -cjvf имя_файла.tbz

Файлы tar, сжатые с помощью bzip2, обычно имеют расширение .tbz .

Эта команда создает файл архива, а затем сжимает его как файл имя_файла.tbz . Если вы распаковываете файл filename.tbz с помощью команды bunzip2, файл filename.tbz удаляется и заменяется файлом filename.tar .

Вы также можете расширить и разархивировать tar-файл bzip одной командой:

tar -xjvf имя_файла.tbz

Чтобы создать сжатый файл в формате tar и gzip, используйте параметр -z:

tar -czvf имя файла.tgz

Файлы tar, сжатые с помощью gzip, обычно имеют расширение .tgz .

Файлы Zip (.zip и .zipx) называются сжатыми папками, пакетами, контейнерами и архивами. Zip-файлы — это наиболее распространенный тип архивных файлов, которые также сжимают данные.

Zip-файлы изначально создавались для использования на компьютерах под управлением операционных систем DOS, а затем Windows.Сегодня файлы Zip также широко используются в других операционных системах, таких как операционные системы Mac и Unix. Как упоминалось выше, файлы, заархивированные в Zip-файле, обычно, но не всегда, сжаты. Это экономит место, а также упрощает отправку их в виде вложений электронной почты. Zip-файлы также удобны для группировки файлов данных. Вместо того, чтобы транспортировать, копировать или отправлять несколько файлов; вы можете заархивировать их и легко работать с одним Zip-файлом.

Zip-файлы — не единственный тип файлов архивов, с которыми вы можете столкнуться. WinZip также может использоваться для извлечения содержимого многих других архивов. Вы можете даже не заметить, что загрузили другой тип архива или получили его по электронной почте. Это связано с тем, что WinZip ассоциирует себя со всеми типами архивных файлов, с которыми он работает, и визуально представляет эту связь, вызывая отображение значка WinZip рядом с именем файла.

Чтобы избежать путаницы с сохраненными файлами, вы можете настроить Windows так, чтобы отображались все общие файлы. расширения.

Zip-файлы (и другие архивы) содержат информацию в зашифрованном виде. В этой форме информация не может напрямую использоваться другими приложениями. С помощью WinZip вы можете извлечь сжатые файлы, которые дадут вам точные копии исходных файлов в их исходном формате. После извлечения содержимого Zip-файла у вас есть возможность удалить Zip-файл. Это никоим образом не повлияет на файлы, которые вы извлекли. Однако вы также можете сохранить Zip-файл в другом месте, например на внешнем диске, в качестве резервной копии.

С помощью WinZip вы также можете создавать свои собственные Zip-файлы. Zip-файлы отлично подходят для резервного копирования наборов ваших файлов (например, папок с документами, фотографиями или исходным кодом). Имейте в виду, что создание файла Zip не удаляет и не изменяет исходные файлы.

Если у вас есть какие-либо вопросы по поводу этой информации, отправьте запрос в службу технической поддержки.

Полезно хранить группу файлов в одном файле для удобства резервного копирования, переноса в другой каталог или переноса на другой компьютер. Также полезно сжимать большие файлы; сжатые файлы занимают меньше места на диске и быстрее загружаются через Интернет.

Важно понимать разницу между архивным файлом и сжатым файлом. Архивный файл — это набор файлов и каталогов, хранящихся в одном файле. Файл архива не сжимается — он занимает столько же места на диске, сколько и все отдельные файлы и каталоги вместе взятые. Сжатый файл — это набор файлов и каталогов, которые хранятся в одном файле и хранятся таким образом, что занимает меньше места на диске, чем все отдельные файлы и каталоги вместе взятые. Если вам не хватает места на диске, сожмите редко используемые файлы или поместите все такие файлы в один файл архива и сожмите его.

Архивный файл не сжимается, но сжатый файл может быть архивным файлом.

Red Hat Enterprise Linux включает графическую утилиту под названием File Roller. File Roller может сжимать, распаковывать и архивировать файлы в распространенных форматах Unix и Linux. Он имеет простой интерфейс и обширную справочную документацию. Чтобы запустить File Roller, выберите «Менеджер архивов» в подменю «Приложения» (главное меню на панели) => «Инструменты системы». File Roller также интегрирован в среду рабочего стола и Nautilus.

Если вы используете файловый менеджер (например, Nautilus), вы можете дважды щелкнуть файл, который хотите разархивировать или распаковать, чтобы запустить File Roller. Появится окно браузера File Roller с распакованным/разархивированным файлом в папке, которую вы можете извлечь или просмотреть.

Рисунок 3-2. File Roller в действии

Чтобы разархивировать и/или распаковать файл, нажмите кнопку "Открыть" на главной панели инструментов. Появится меню файла, позволяющее вам выбрать архив, с которым вы хотите работать. Например, если у вас есть файл с именем foo.tar.gz, расположенный в вашем домашнем каталоге, выделите его и нажмите OK. Файл появится в главном окне браузера File Roller в виде папки, по которой можно перемещаться, дважды щелкнув значок папки. File Roller сохраняет все структуры каталогов и подкаталогов, что удобно, если вы ищете определенный файл в архиве. Вы можете извлечь отдельные файлы или целые архивы, нажав кнопку «Извлечь», выбрав каталог для сохранения неархивированных файлов и нажав «ОК» .

Рисунок 3-3. Создание архива с помощью File Roller

File Roller позволяет создавать архивы ваших файлов и каталогов. Чтобы создать новый архив, нажмите «Создать» на панели инструментов. Появится файловый браузер, позволяющий указать имя архива и метод сжатия. Например, вы можете выбрать формат Tar Compressed with gzip (.tar.gz) из раскрывающегося меню и ввести имя файла архива, который вы хотите создать.Нажмите OK, и ваш новый архив готов к заполнению файлами и каталогами. Чтобы добавить файлы в новый архив, нажмите «Добавить» . Откроется окно браузера, в котором можно найти файл или каталог для добавления в архив. Когда закончите, нажмите «Добавить» и нажмите «Архивировать» => «Закрыть», чтобы закрыть архив.

С помощью File Roller вы можете делать намного больше, чем описано здесь. Дополнительную информацию см. в руководстве File Roller (доступно при нажатии Help => Manual ).

Red Hat Enterprise Linux предоставляет инструменты bzip2 , gzip и zip для сжатия из командной строки. Рекомендуется использовать инструмент сжатия bzip2, поскольку он обеспечивает максимальное сжатие и используется в большинстве UNIX-подобных операционных систем. Инструмент сжатия gzip также можно найти в большинстве UNIX-подобных операционных систем. Для передачи файлов между Linux и другими операционными системами, такими как MS Windows, используйте zip, так как он более совместим с утилитами сжатия, доступными для Windows.

Таблица 3-1. Инструменты сжатия

По соглашению файлы, сжатые с помощью bzip2, получают расширение .bz2 , файлы, сжатые с помощью gzip, получают расширение .gz , а файлы, сжатые с помощью zip, получают расширение .zip .

Файлы, сжатые с помощью bzip2, распаковываются с помощью bunzip2 , файлы, сжатые с помощью gzip, распаковываются с помощью gunzip , а файлы, сжатые с помощью zip, распаковываются с помощью unzip .

Чтобы использовать bzip2 для сжатия файла, введите в командной строке следующую команду:

Файл сжимается и сохраняется как filename.bz2 .

Чтобы развернуть сжатый файл, введите следующую команду:

Сжатый файл filename.bz2 удаляется и заменяется на filename .

Вы можете использовать bzip2 для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

bzip2 имя файла.bz2 файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.bz2 .

Для получения дополнительной информации введите man bzip2 и man bunzip2 в приглашении оболочки, чтобы прочитать справочные страницы для bzip2 и bunzip2 .

Чтобы использовать gzip для сжатия файла, введите в командной строке следующую команду:

Файл сжимается и сохраняется как filename.gz .

Чтобы развернуть сжатый файл, введите следующую команду:

Сжатый файл filename.gz удаляется и заменяется на filename .

Вы можете использовать gzip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

gzip -r имя_файла.gz файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.gz .

Для получения дополнительной информации введите man gzip и man gunzip в приглашении оболочки, чтобы прочитать справочные страницы для gzip и gunzip .

Чтобы сжать файл с помощью zip , введите следующую команду:

zip -r имя_файла.zip каталог_файлов

В этом примере filename.zip представляет файл, который вы создаете, а filesdir представляет каталог, который вы хотите поместить в новый zip-файл. Параметр -r указывает, что вы хотите рекурсивно включить все файлы, содержащиеся в каталоге filesdir.

Чтобы извлечь содержимое zip-файла, введите следующую команду:

Вы можете использовать zip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

zip -r имя_файла.zip файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем filename.zip .

Для получения дополнительной информации введите man zip и man unzip в приглашении оболочки, чтобы прочитать справочные страницы для zip и unzip .

Файл tar – это набор нескольких файлов и/или каталогов в одном файле. Это хороший способ создания резервных копий и архивов.

Некоторые параметры tar включают:

-c — создать новый архив

-f — при использовании с параметром -c использовать имя файла, указанное для создания tar-файла; при использовании с параметром -x разархивировать указанный файл

-t — показать список файлов в tar-файле

-v — показать ход архивации файлов

-x — извлечь файлы из архива

-z — сжать tar-файл с помощью gzip

-j — сжать tar-файл с помощью bzip2

Чтобы создать tar-файл, введите:

tar -cvf имя_файла.tar каталог/файл

В этом примере имя файла.tar представляет файл, который вы создаете, а каталог/файл представляет собой каталог и файл, которые вы хотите поместить в заархивированный файл.

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

tar -cvf имя файла.tar /home/mine/work /home/mine/school

Приведенная выше команда помещает все файлы в рабочем и школьном подкаталогах /home/mine в новый файл с именем filename.tar в текущем каталоге.

Чтобы просмотреть содержимое tar-файла, введите:

tar -tvf имя файла.tar

Чтобы извлечь содержимое файла tar, введите:

tar -xvf имя файла.tar

Эта команда не удаляет tar-файл, но помещает копии его разархивированного содержимого в текущий рабочий каталог, сохраняя всю структуру каталогов, используемую архивным файлом. Например, если tar-файл содержит файл с именем bar.txt в каталоге с именем foo/, то извлечение архивного файла приведет к созданию каталога foo/ в вашем текущем рабочем каталоге с файлом bar.txt внутри него.< /p>

Помните, что команда tar не сжимает файлы по умолчанию. Чтобы создать сжатый файл в формате tar и bzip, используйте параметр -j:

tar -cjvf имя_файла.tbz файл

Файлы tar, сжатые с помощью bzip2, обычно имеют расширение .tbz ; однако иногда пользователи архивируют свои файлы с расширением tar.bz2.

Приведенная выше команда создает файл архива, а затем сжимает его как файл имя_файла.tbz . Если вы распаковываете файл filename.tbz с помощью команды bunzip2, файл filename.tbz удаляется и заменяется файлом filename.tar .

Вы также можете расширить и разархивировать tar-файл bzip одной командой:

tar -xjvf имя_файла.tbz

Чтобы создать сжатый файл в формате tar и gzip, используйте параметр -z:

tar -czvf имя_файла.tgz файл

Файлы tar, сжатые с помощью gzip, обычно имеют расширение .tgz .

Короче говоря, архив – это отдельный файл, содержащий набор других файлов и/или каталогов. Архивные файлы обычно используются для передачи (локально или через Интернет) или создания резервной копии набора файлов и каталогов, что позволяет вам работать только с одним файлом (при сжатии он имеет меньший размер, чем сумма всех файлов). файлы внутри него) вместо многих. Точно так же архивы используются для упаковки программных приложений. Этот единственный файл можно легко сжать для удобства передачи, в то время как файлы в архиве сохраняют структуру и разрешения исходных файлов.

Мы можем использовать инструмент tar для создания, просмотра и извлечения файлов из архивов. Архивы, созданные с помощью tar, обычно называются «tar-файлами», «tar-архивами» или — поскольку все заархивированные файлы объединены в один — «tarballs».

В этом руководстве показано, как использовать tar для создания архива, вывода списка содержимого архива и извлечения файлов из архива. Две общие опции, используемые со всеми тремя из этих операций, — это «-f» и «-v»: чтобы указать имя файла архива, используйте «-f», за которым следует имя файла; используйте параметр ‘-v’ («подробный»), чтобы tar выводил имена файлов по мере их обработки. Хотя параметр «-v» необязателен, он позволяет вам наблюдать за ходом выполнения операции tar.

В оставшейся части этого руководства мы рассмотрим 3 темы: 1. Создание архивного файла, 2. Получение списка содержимого архивного файла и 3. Извлечение содержимого из архивного файла. Мы завершаем это руководство рассмотрением 6 практических вопросов, связанных с управлением архивными файлами. То, что вы усвоите из этого руководства, необходимо для выполнения задач, связанных с кибербезопасностью и облачными технологиями.

1- Создание файла архива

Чтобы создать архив с помощью tar, используйте параметр «-c» («создать») и укажите имя создаваемого файла архива с помощью параметра «-f». Обычной практикой является использование имени с расширением «.tar», например, «my-backup.tar». Обратите внимание, что если не указано иное, все команды и параметры команд, используемые в оставшейся части этой статьи, используются в нижнем регистре. Имейте в виду, что при вводе команд из этой статьи на своем терминале вам не нужно вводить знак приглашения $, который появляется в начале каждой командной строки.

Укажите в качестве аргументов имена архивируемых файлов; чтобы создать архив каталога и всех содержащихся в нем файлов и подкаталогов, укажите имя каталога в качестве аргумента.

Чтобы создать архив с именем «project.tar» из содержимого каталога «project», введите:

$ tar -cvf project.tar проект

Эта команда создает архивный файл с именем «project.tar», содержащий каталог «проект» и все его содержимое. Исходный каталог проекта остается без изменений.

Используйте параметр «-z» для сжатия архива во время его записи. Это дает тот же результат, что и создание несжатого архива, а затем использование gzip для его сжатия, но устраняет дополнительный шаг.

Чтобы создать сжатый архив с именем «project.tar.gz» из содержимого каталога «project», введите:

$ tar -zcvf project.tar.gz проект

Эта команда создает сжатый архивный файл «project.tar.gz», содержащий каталог «проект» и все его содержимое.Исходный каталог проекта остается без изменений.

ПРИМЕЧАНИЕ. При использовании параметра «-z» следует указывать имя архива с расширением «.tar.gz», а не с расширением «.tar», чтобы имя файла показывало, что архив сжат. Хотя это и не обязательно, рекомендуется следовать этому правилу.

Gzip — не единственная форма сжатия. Есть еще bzip2 и и xz. Когда мы видим файл с расширением xz, мы знаем, что он был сжат с использованием xz. Когда мы видим файл с расширением .bz2, мы можем сделать вывод, что он был сжат с помощью bzip2. Мы собираемся отказаться от bzip2, так как он перестал поддерживаться, и сосредоточимся на xz. При сжатии с использованием xz сжатие файлов займет больше времени. Однако обычно стоит подождать, так как сжатие намного эффективнее, а это означает, что результирующий файл обычно будет меньше, чем другие используемые методы сжатия. Еще лучше тот факт, что распаковка или расширение файла не сильно отличается между различными методами сжатия. Ниже мы видим пример того, как использовать xz при сжатии файла с помощью tar

$ tar -Jcvf project.tar.xz проект

Мы просто меняем -z для gzip на верхний регистр -J для xz. Вот несколько выходных данных, отображающих различия между формами сжатия:

Как видите, xz сжимается дольше всего. Однако он лучше всего справляется с уменьшением размера файлов, поэтому стоит подождать. Чем больше файл, тем лучше становится сжатие!

2- Список содержимого архивного файла

Чтобы просмотреть содержимое архива tar, не распаковывая его, используйте tar с параметром «-t».

Чтобы просмотреть содержимое архива с именем «project.tar», введите:

$ tar -tvf project.tar

Эта команда выводит содержимое архива ‘project.tar’. Использование параметра '-v' вместе с параметром '-t' приводит к тому, что tar выводит разрешения и время модификации каждого файла вместе с его именем файла - тот же формат, который используется командой ls с параметром '-l'.

Чтобы просмотреть содержимое сжатого архива с именем ‘project.tar.gz’, введите:

$ tar -tvf project.tar

3- Извлечение содержимого из файла архива

Чтобы извлечь (или распаковать) содержимое архива tar, используйте tar с параметром ‘-x’ («извлечь»).

Чтобы извлечь содержимое архива с именем «project.tar», введите:

$ tar -xvf проект.tar

Эта команда извлекает содержимое архива ‘project.tar’ в текущий каталог.

Если архив сжат, что обычно означает, что он будет иметь расширение «.tar.gz» или «.tgz», включите параметр «-z».

Чтобы извлечь содержимое сжатого архива с именем ‘project.tar.gz’, введите:

$ tar -zxvf project.tar.gz

ПРИМЕЧАНИЕ. Если в текущем каталоге есть файлы или подкаталоги с тем же именем, что и у любого из файлов в архиве, эти файлы будут перезаписаны при извлечении архива. Если вы не знаете, какие файлы включены в архив, попробуйте сначала перечислить содержимое архива.

Еще одна причина отображать содержимое архива перед его извлечением – это определить, содержатся ли файлы в архиве в каталоге. Если нет, и текущий каталог содержит много несвязанных файлов, вы можете перепутать их с файлами, извлеченными из архива.

Чтобы извлечь файлы в отдельный каталог, создайте новый каталог, переместите архив в этот каталог и перейдите в этот каталог, где вы сможете извлечь файлы из архива.

Теперь, когда мы научились создавать файл архива и перечислять/извлекать его содержимое, мы можем перейти к обсуждению следующих 9 практических вопросов, которые часто задают профессионалы Linux.

  • Можно ли добавить содержимое в файл архива, не распаковывая его?

К сожалению, после сжатия файла нет возможности добавить в него содержимое. Вам придется «распаковать» его или извлечь содержимое, отредактировать или добавить содержимое, а затем снова сжать файл. Если это небольшой файл, этот процесс не займет много времени. Если это большой файл, будьте готовы к тому, что это займет некоторое время.

  • Можно ли удалить контент из файла архива, не распаковывая его?

Это зависит от используемой версии tar. Более новые версии tar будут поддерживать --delete.

Например, предположим, что у нас есть файлы file1 и file2 . Их можно удалить из file.tar следующим образом:

$ tar -vf файл.tar – удалить файл1 файл2

Чтобы удалить каталог dir1:

$ tar -f файл.tar – удалить каталог1/*

  • В чем разница между сжатием папки и ее архивированием?

Самый простой способ увидеть разницу между архивированием и сжатием – посмотреть на конечный результат. Когда вы архивируете файлы, вы объединяете несколько файлов в один.Итак, если мы заархивируем 10 файлов по 100 КБ, вы получите один файл размером 1000 КБ. С другой стороны, если мы сожмем эти файлы, мы можем получить файл размером всего несколько КБ или около 100 КБ.

Как мы видели выше, вы можете создавать и архивировать файлы с помощью команды tar с параметрами cvf. Чтобы сжать созданный нами файл архива, есть два варианта; запустите файл архива через сжатие, такое как gzip. Или используйте флаг сжатия при использовании команды tar. Наиболее распространенные флаги сжатия: -z для gzip, -j для bzip и -J для xz. Мы можем видеть первый метод ниже:

Или мы можем просто использовать флаг сжатия при использовании команды tar, здесь мы увидим флаг gzip «z»:

$ tar -cvzf file.tar /some/directory

  • Как создавать архивы из нескольких каталогов и/или файлов одновременно?

Нередки ситуации, когда нам нужно заархивировать сразу несколько файлов или каталогов. И это не так сложно, как вы думаете, заархивировать несколько файлов и каталогов одновременно. Вы просто указываете, какие файлы или каталоги вы хотите заархивировать, в качестве аргументов команды tar:

$ tar -cvzf файл.tar файл1 файл2 файл3

$ tar -cvzf файл.tar /some/directory1 /some/directory2

  • Как пропустить каталоги и/или файлы при создании архива?

Вы можете столкнуться с ситуацией, когда вы хотите заархивировать каталог или файл, но вам не нужно архивировать определенные файлы. Чтобы избежать архивирования этих файлов или «исключить» их, вы должны использовать опцию –exclude с tar:

$ tar –exclude ‘/some/directory’ -cvf file.tar /home/user

Таким образом, в этом примере /home/user будет заархивирован, но будет исключен каталог /some/, если он находится в /home/user. Важно указать параметр –exclude перед источником и местом назначения, а также заключить исключаемый файл или каталог в одинарные кавычки.

Обзор

Команда tar полезна для создания резервных копий или сжатия файлов, которые вам больше не нужны. Хорошей практикой является создание резервных копий файлов перед их изменением. Если что-то не работает так, как задумано после изменения, вы всегда сможете вернуться к старому файлу. Сжатие файлов, которые больше не используются, помогает поддерживать чистоту системы и снижает использование дискового пространства. Существуют и другие доступные утилиты, но tar преобладает благодаря своей универсальности, простоте использования и популярности.

Ресурсы

Если вы хотите больше узнать о Linux, настоятельно рекомендуем прочитать следующие статьи и руководства:

Об авторах

Кевин Даунс является сертифицированным системным администратором Red Hat или RHCSA. На своей нынешней работе в IBM в качестве системного администратора он отвечает за администрирование сотен серверов, работающих на различных дистрибутивах Linux. Он является ведущим инструктором по Linux в Coding Bootcamps, где он является автором 5 курсов для самостоятельного изучения.

Читайте также: