Linux tar — это архив, который используется большим количеством системных администраторов Linux/Unix при работе с накопителями для резервного копирования. Команды tar используются для копирования файлов и каталогов в файл сжатого архива, обычно называемый tarball или tar, gzip и bzip. Tar является наиболее широко используемой командой для создания сжатых архивных файлов. Этот архив можно легко перемещаться с одного диска на другой диск или машину.
В этой статье мы рассмотрим и обсудим различные примеры команд tar, включая создание архивных файлов с использованием (tar, tar.gz и tar.bz2) сжатия, извлечение архивного файла, просмотр содержимого файла , проверки файла, добавления файла или каталога в архив, оценка размера файла/архива tar и т. д.
Основная цель этого руководства — предоставить различные примеры tar, которые могут быть полезны для вас, чтобы вы могли понять и стать экспертом в работе с архивами tar.
1. Создание файла архива tar
В приведенном ниже примере команда создаст файл sedicomm-15-12-20.tar с каталога /home/sedicomm в текущем рабочем каталоге.
Давайте обсудим каждый флаг (опцию), который мы использовали в приведенной выше команде для создания файла архива tar.
- c — Создает новый .tar файл архива.
- v — показать прогресс создания файла .tar.
- f — тип имени файла архива.
2. Создание файла архива tar.gz
Чтобы создать сжатый файл архива gzip, мы используем параметр z. Например, приведенная ниже команда создаст сжатый файл Documents-15-12-20.tar.gz для каталога /home/yurii/Documents.
Примечание: расширения tar.gz и tgz одинаковы.
3. Создание файла архива tar.bz2
Функция bz2 сжимает и создает файл архива меньшего размера, чем gzip. Сжатие bz2 требует больше времени для сжатия и распаковки файлов по сравнению с gzip. Чтобы создать сжатый файл tar, мы используем параметр —j. Следующая команда примера создаст файл Documents.tar.bz2 для каталога /home/yurii/Documents.
Примечание: tar.bz2 и tbz аналогичны tb2.
4. Разархивирование архива tar
Чтобы распаковать или извлечь файл tar, просто выполните следующую команду, используя опцию x (extract). Например, приведенная ниже команда распакует файл public_html-15-12-20.tar в текущий рабочий каталог. Если вы хотите разархивировать файлы в другой каталог, используйте опцию —C (specified directory).
5. Разархивирование tar.bz2
Чтобы распаковать tar.bz2 архив, просто запустите следующую команду. Если же вы хотите разархивировать в другой каталог, используйте опцию -C и путь к каталогу, как показано в приведенном выше примере (папка должна уже существовать).
6. Разархивирование архива tar.gz
Чтобы разархивировать сжатый файл tar.gz, просто используйте ту же команду что для tar.bz2 команду.
7. Просмотр содержимого файла архива tar
Чтобы просмотреть содержимое файла tar, просто запустите его с опцией t (просмотр содержимого). В приведенной ниже команде будет отображаться содержимое файла Documents.tar.bz2.
8. Просмотр содержимого tar.gz
Используйте ту же команду для отображения содержимого файла tar.gz.
9. Просмотр содержимого tar.bz2
Используйте ту же команду для отображения содержимого файла tar.bz2.
10. Разархивирование отдельного файла из tar
К примеру, чтобы извлечь один файл с именем File1 из Documents.tar, используйте следующую команду.
11. Разархивирование отдельного из файла tar.gz
Чтобы извлечь один файл с именем File1 из Documents.tar.gz, используйте следующую команду.
12. Разархивирование отдельного файл из файла tar.bz2
Чтобы извлечь один файл с именем File1 из Documents.tar.bz2, используйте следующую команду.
13. Разархивирование нескольких файлов из tar, tar.gz и tar.bz2
Чтобы извлечь несколько файлов из архива tar, tar.gz и tar.bz2 необходимо использовать приведенную ниже команду. Эта команда извлекает из архива «file 1» и «file 2».
14. Извлечение группы файлов с помощью метасимволов
Чтобы извлечь группу файлов, мы используем метасимволы. Например, чтобы извлечь группу файлов с расширением .txt из архива tar, tar.gz и tar.bz2 необходимо использовать следующую команду:
15. Добавление файла или директории в файл архива tar
Чтобы добавить файлы или каталоги в существующий файл архива tar, мы используем параметр r (присоединить). Например, мы добавляем файл File.txt и каталог Folder в существующий архив sedicomm.tar.
16. Добавление файлов или каталогов в tar.gz и tar.bz2.
У tar нет возможности добавлять файлы или каталоги в существующий сжатый файл tar.gz и tar.bz2. Если мы попытаемся, то получим следующую ошибку:
17. Проверка размера tar, tar.gz и tar.bz2.
Чтобы проверить размер архива tar, tar.gz и tar.bz2, используйте следующую команду. Например, приведенная ниже команда отобразит размер архивного файла в Килобайтах.
Использование опций:
- -c — создать файл архива.
- -x — извлечение архивного файла.
- -v — показывает ход создания архивного файла.
- -f — имя архивного файла.
- -t — просмотр содержимого архивного файла.
- -j — сжимать архив через bzip2.
- -z — сжимать архив через gzip.
- -r — добавлять или обновлять файлы или каталоги в существующий файл архива.
- -W — проверка архивного файла.
- -wildcards — задание шаблона команде unix tar.
18. Помощь
Вот и все, надеюсь, что приведенные выше примеры команд tar будут полезны для вас, для получения дополнительной информации используйте tar —help.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
4 комментария. Оставить новый
В архиве tar сохраняются файлы и структура папок. Например, когда монтируется раздел home в папку mnt/home и архивируете его tar’ом, то структура mnt/home попадет в архив. При распаковке это не нужно. Как убрать верхние один или 2 элемента из структуры папок при распаковке?
Вопрос про третий пример — у bz2 обязательно arch.tar._расширение_ или можно создавать arch.tbz, arch.tb2?
Т.е. по аналогии с tar.gz -> tgz.
Спасибо!
Можно любое расширение, главное чтобы вы потом вспомнили какой это файл.
как изменить структуру каталогов внутри архива (при архивации)?
т.е. нужно заархивировать директорию /home/app
а что бы внутри архива была структура:
../1/2/3/home.tar.gz