- Команда tar в Linux
- Синтаксис команды tar
- Как пользоваться tar
- 1. Создание архива tar
- 2. Просмотр содержимого архива
- 3. Распаковка архива tar Linux
- 3. Работа со сжатыми архивами
- Выводы
- How to Create and Manage a .tar.bz2 File in Linux
- Creating a tar.bz2 File in Linux
- Как распаковать tar bz2 xz gz архивы в Linux
- Распаковка tar
- Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
- Распаковка tar.xz, txz
- Распаковка tar.gz, tgz
- Распаковка tar.lzma
- Пояснение опций
- Распаковка в определенную директорию
- Заключение
- Смотрите также
- Новое в галерее
- Новые комментарии
- Комментарии
Команда tar в Linux
В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.
Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.
Синтаксис команды tar
Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:
tar опции архив.tar файлы_для_архивации
tar опции архив.tar
Функции, которые может выполнять команда:
Функция | Длинный формат | Описание |
---|---|---|
-A | —concatenate | Присоединить существующий архив к другому |
-c | —create | Создать новый архив |
-d | —diff —delete | Проверить различие между архивами Удалить из существующего архива файл |
-r | —append | Присоединить файлы к концу архива |
-t | —list | Сформировать список содержимого архива |
-u | —update | Обновить архив более новыми файлами с тем же именем |
-x | —extract | Извлечь файлы из архива |
При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:
Параметр | Длиннный формат | Описание |
---|---|---|
-C dir | —directory=DIR | Сменить директорию перед выполнением операции на dir |
-f file | —file | Вывести результат в файл (или на устройство) file |
-j | —bzip2 | Перенаправить вывод в команду bzip2 |
-p | —same-permissions | Сохранить все права доступа к файлу |
-v | —verbose | Выводить подробную информацию процесса |
—totals | Выводить итоговую информацию завершенного процесса | |
-z | —gzip | Перенаправить вывод в команду gzip |
А дальше рассмотрим примеры того, как может применяться команда tar Linux.
Как пользоваться tar
1. Создание архива tar
С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:
tar —totals —create —verbose —file archive.tar file1 file2 file3
Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:
tar —totals -cvf archive.tar file1 file2 file3
2. Просмотр содержимого архива
Следующая команда выводит содержимое архива, не распаковывая его:
3. Распаковка архива tar Linux
Распаковывает архив test.tar с выводом файлов на экран:
Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:
tar -C «Test» -xvf archive.tar
3. Работа со сжатыми архивами
Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:
tar -cjvf archive.tar.bz2 file1 file2 file3
Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:
tar -czvf archive.tar.gz file1 file2 file3
При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:
tar -C «Test» -xjvf arhive.tar.bz2
На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.
Выводы
В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to Create and Manage a .tar.bz2 File in Linux
The Linux operating system has transformed file archiving into a free, reputable, reliable, and secure file management process. By archiving your file(s) under a Linux operating system environment, you guarantee its integrity and security. Your files become free of compromise from both users and applications active in the system.
To create tar files on a Linux OS environment, we need to reference the usage of the tar command. In summary, the tar command can achieve the following objectives as a file archiving utility:
- Create tar files.
- Extract tar archives from existing/created tar files.
- List the content of an existing/created tar archive(s).
- Update existing/created tar archive with more files.
- Removing files from existing/created tar archive.
When you create a tar (Tape Archive) file from the Linux command line environment, you will either result in a tar file with the extension .tar.gz or .tar.bz2 . When compressing a tar file, the tool you use for the compression process determines the final tar file name.
For instance, Using GZIP compression tool results in a tar file name with the extension .tar.gz , and using the BZIP2 compression tool results in .tar.bz2 file name extension.
GZIP is faster than BZIP2 in its compression and decompression routines but BZIP2 leads to smaller compression (15% decrease in compression).
This article guide will walk us through creating and managing .tar.bz2 file archives on a Linux operating system environment.
Creating a tar.bz2 File in Linux
For this tutorial, we will need access to some reference files for archiving into a .tar.bz2 file archive.
The tar command general syntax is as follows:
$ tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]
From the general tar syntax reference above, to create a .tar.bz2 file archive, an ideal syntax will look like the following:
$ tar -cjf ARCHIVE_NAME.tar.bz2 [FILE_NAMES]
The command option -c initiates the archive file creation process, -j specifies that the file archive should have a .tar.bz2b extension, and -f instructs the whole tar operation to use the device archive.
For instance, if we reference the above screen capture, the LinuxShellTips_Files directory hosts several files and folders. To archive the images directory together with the file_1.txt and file_2.txt files, our tar command will be as follows:
$ tar -cjf images_and_files.tar.bz2 /home/dnyce/LinuxShellTips_Files/images /home/dnyce/LinuxShellTips_Files/file_1.txt /home/dnyce/LinuxShellTips_Files/file_2.txt
To list the content present in this tar file, we will use the -t option and run:
$ tar -tf images_and_files.tar.bz2
For more details on the above output like file owner and file size, use -v (–verbose) option:
$ tar -tvf images_and_files.tar.bz2
To extract the archive file, include the -x option.
$ tar -xf images_and_files.tar.bz2
To extract the archive file to a specific directory, include the -C option and path to that directory.
$ tar -xf images_and_files.tar.bz2 -C /home/dnyce/linuxshelltips/decompressed
To add a file to the existing tar archive, use the -r option for —append operations.
$ tar -rvf images_and_files.tar.bz2 /home/dnyce/LinuxShellTips_Files/file_3.txt
We have successfully learned how to create and manage .tar.bz2 archive files in a Linux OS environment.
Как распаковать tar bz2 xz gz архивы в Linux
Для распаковки tar-архивов через командную строку используется утилита tar.
Полезно знать, что архивы в формате tar имеют расширение файлов .tar . Также в Linux распространены архивы, которые имеют дополнительное сжатие другими программами. Например, архивы .tar.bz2 , .tar.gz и другие. Все эти архивы можно распаковать утилитой tar.
Распаковка tar
Для распаковки архива в формате .tar в текущую директорию выполните команду:
Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
Распаковка tar.xz, txz
Распаковка tar.gz, tgz
Распаковка tar.lzma
tar --lzma -xvf archive.tar.lzma
Пояснение опций
x — распаковать архив.
v — Verbose-режим (вывод на экран дополнительной информации во время распаковки).
f — выполнить распаковку архива из файла.
j — вызвать bzip2 для распаковки архива.
z — вызвать gzip
J — вызвать xz
Распаковка в определенную директорию
Чтобы распаковать архив в определенную директорию используется опция -C или —directory , например:
tar xvf archive.tar -C /to/directory
Примечание: директория должна существовать.
Заключение
Мы рассмотрели базовый набор команд, который можно использовать для распаковки различных видов tar-архивов. Существуют также еще некоторые типы архивов, но они менее распространены.
Смотрите также
- Gentoo
- GNOME
- GRUB
- Ubuntu
- Внешний вид
- Игры Linux
- Интернет и сети
- Командная строка
- Настройка Linux
- Оборудование и драйвера
- Программы Linux
- Файловая система
- Шрифты
- Общие темы
- Руководство по Ubuntu Linux для начинающих
- Elementary OS
- ArchLinux
- Команды Linux
Новое в галерее
Новые комментарии
Комментарии
Постоянная ссылка на комментарий
Постоянная ссылка на комментарий
Постоянная ссылка на комментарий
Постоянная ссылка на комментарий
Очевидно, эта статья не для завсегдатаев сайта, а для поисков и новичков, которые будут гуглить подобную информацию
Постоянная ссылка на комментарий
Постоянная ссылка на комментарий
-a, —auto-compress
Use archive suffix to determine the compression program.
Постоянная ссылка на комментарий Родительский комментарий aNDy
Ключ -a работает при создании архивов, например
tar -cvaf doc.tar.xz ~/Documents/
Тут главное не ошибиться с расширением. Например, если указать «.tar.bz» — создастся обычный tar без сжатия («.tar.bz2» — Ok)
Возможно, именно поэтому в своё время мне показалось, что оно меня игнорирует, и я решил, что это ключ для распаковки : )
А для распаковки дискового файла с правильным расширением достаточно просто
без указания метода сжатия.
Проверено для gz, bz2, xz, lz, lzma
Постоянная ссылка на комментарий
Юрий было бы не плохо опубликовать статью про температуру процессора, как её регулировать, или как она регулирается и т.п., много вопросов и мало ответов.
Постоянная ссылка на комментарий
Очень просто. Нажимаем правой кнопкой мыши на значок архива, появляется контекстное меню и в нем есть кнопка «Распаковать» (способ подходит для файловых менеджеров Dolphin и Thunar)
Постоянная ссылка на комментарий Родительский комментарий KittyBlanc
$ wget http://linux.palemoon.org/datastore/release/palemoon-unstable-latest.linux-x86_64-gtk2.tar.xz -qO- | tar -xvJ
Как сделать в Dolphin или Thunar?
Постоянная ссылка на комментарий Родительский комментарий aNDy
Постоянная ссылка на комментарий Родительский комментарий KittyBlanc
Врёшь. Не написал.
Нет ничего про распаковку скачиваемого потока.
Постоянная ссылка на комментарий Родительский комментарий aNDy
Постоянная ссылка на комментарий
Кхе кхе, прошу прощения в графическом режиме уже запретили?! огонь добывать с помощью палки и камня прикажите?
Постоянная ссылка на комментарий Родительский комментарий Незнайка
Постоянная ссылка на комментарий
unpack () <
if [[ -f $1 ]]; then
case $1 in
*.tar.bz2) tar xjfv $1 ;;
*.tar.gz) tar xzfv $1 ;;
*.tar.xz) tar xvJf $1 ;;
*.bz2) bunzip2 $1 ;;
*.gz) gunzip $1 ;;
*.rar) unrar x $1 ;;
*.tar) tar xf $1 ;;
*.tbz) tar xjvf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo «I don’t know how to extract ‘$1′» ;;
esac
else
case $1 in
*help) echo «Usage: unpack ARCHIVE_NAME» ;;
*) echo «‘$1’ is not a valid file» ;;
esac
fi
>
# function to create archives
# EXAMPLE: pack tar file
pack () <
if [ $1 ]; then
case $1 in
tar.bz2) tar -cjvf $2.tar.bz2 $2 ;;
tar.gz) tar -czvf $2.tar.bz2 $2 ;;
tar.xz) tar -cf — $2 | xz -9 -c — > $2.tar.xz ;;
bz2) bzip $2 ;;
gz) gzip -c -9 -n $2 > $2.gz ;;
tar) tar cpvf $2.tar $2 ;;
tbz) tar cjvf $2.tar.bz2 $2 ;;
tgz) tar czvf $2.tar.gz $2 ;;
zip) zip -r $2.zip $2 ;;
7z) 7z a $2.7z $2 ;;
*help) echo «Usage: pack TYPE FILES» ;;
*) echo «‘$1’ cannot be packed via pack()» ;;
esac
else
echo «‘$1’ is not a valid file»
fi
>