Команда Tar в Linux. Cоздание и распаковка архивов

Команда Tar в Linux. Cоздание и распаковка архивов

5 Января 2020 | Терминал

В этом руководстве мы покажем вам, как использовать tar команду для извлечения, просмотра и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.

Команда Tar в Linux. Cоздание и распаковка архивов

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

Изначально Tar был предназначен для создания архивов для хранения файлов на магнитной ленте, поэтому он имеет название « T ape AR chive».


Синтаксис команды Tar 

Существует две версии tar, BSD tar и GNU tar с некоторыми функциональными различиями. Большинство систем Linux поставляются с GNU tar, предварительно установленным по умолчанию.

Общий синтаксис tarкоманды выглядит следующим образом:

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

  • OPERATION - Допускается и требуется только один аргумент операции. Наиболее часто используемые операции:
    • --create( -c) - Создать новый архив tar.
    • --extract( -x) - Извлечение всего архива или одного или нескольких файлов из архива.
    • --list( -t) - Показать список файлов, включенных в архив
  • OPTIONS - Наиболее часто используемые операции:
    • --verbose( -v) - Показать файлы, обрабатываемые командой tar.
    • --file=archive=name( -f archive-name) - указывает имя файла архива.
  • ARCHIVE_NAME - название архива.
  • FILE_NAME(s) - Разделенный пробелами список имен файлов для извлечения из архива. Если не предоставлено, весь архив извлекается.


При выполнении команд tar вы можете использовать длинную или короткую форму tarопераций и опций. Длинные формы более читабельны, а короткие - быстрее набираются. Параметры длинной формы начинаются с двойной черты ( --). Параметры краткой формы имеют префикс с одной чертой ( -), который может быть опущен.


Создание Tar Архив 

Tar поддерживает широкий спектр программ сжатия , таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. При создании сжатых архивов tar принято добавлять суффикс компрессора к имени файла архива. Например, если архив был сжат с gzip ним, он должен называться archive.tar.gz.

Для создания архива tar используйте -c опцию -f и имя архива.

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

tar -cf archive.tar file1 file2 file3


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

tar --create --file=archive.tar file1 file2 file3


Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги архивируются рекурсивно, если --no-recursion не указан параметр.

В следующем примере создается архив с именем user_backup.tar в /home/user каталоге:

tar -cf backup.tar /home/user


Используйте эту -v опцию, если вы хотите увидеть файлы, которые обрабатываются.


Создание архива Tar Gz 

Gzip - самый популярный алгоритм сжатия tar-файлов. При сжатии архивов tar с помощью gzip имя архива должно заканчиваться либо либо, tar.gz либо tgz.

-z Опция сообщает деготь сжать архив , используя gzip алгоритм , как он будет создан. Например, чтобы создать архив tar.gz из заданных файлов, вы должны использовать следующую команду:

tar -czf archive.tar.gz file1 file2


Создание архива Tar Bz2 

Другой популярный алгоритм для сжатия tar-файлов - это bzip2. При сжатии архивов tar с помощью bzip2 имя архива должно заканчиваться либо либо, tar.bz2 либо tbz.

Когда -j опция указана, tar будет использовать bzip2 алгоритм для сжатия архива. Следующая команда создаст tar.bz2 архив из заданных файлов:

tar -cjf archive.tar.bz2 file1 file2


Листинг Тар Архивы

При использовании с параметром --list( -t) tar команда выведет список содержимого архива tar без его извлечения. Команда ниже, выведет список содержимого archive.tar файла:

tar -tf archive.tar

В выводе будут перечислены имена всех файлов в архиве:

file1file2file3


Для получения дополнительной информации, такой как владелец файла, размер файла, отметка времени, используйте параметр --verbose( -v):


tar -tvf archive.tar
-rw-r--r-- linuxize/users       0 2018-09-08 01:19 file1-rw-r--r-- linuxize/users       0 2018-09-08 01:19 file2-rw-r--r-- linuxize/users       0 2018-09-08 01:19 file3


Извлечение Тар Архив 

Большинство архивных файлов в Linux архивируются и сжимаются в формате tar или tar.gz. Очень важно знать, как извлечь эти файлы из командной строки.

Чтобы извлечь архив tar, используйте параметр --extract( -x), за которым следует имя архива:

tar -xf archive.tar


Также распространено добавлять -vопцию для печати имен извлекаемых файлов.

tar -xvf archive.tar


Извлечение архива Tar в другой каталог 

По умолчанию tar извлекает содержимое архива в текущем рабочем каталоге . Используйте --directory( -C)  для извлечения архивных файлов в определенном каталоге:

Например, чтобы извлечь содержимое архива в /opt/files каталог, вы можете использовать:

tar -xf archive.tar -C /opt/files


Извлечение архивов Tar Gz и Tar Bz2 

При извлечении сжатых архивов, таких как tar.gz или tar.bz2 вам не нужно указывать опцию распаковки. Команда такая же, как при извлечении tar архива:

tar -xf archive.tar.gz
tar -xf archive.tar.bz2


Извлечение определенных файлов из архива Tar 

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

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

tar -xf archive.tar file1 file2


При извлечении файлов вы должны указать их точные имена, включая путь, как указано в --list( -t).

Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:

tar -xf archive.tar dir1 dir2


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

tar -xf archive.tar README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors


Извлечение файлов из архива Tar с использованием подстановочного знака

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

Например, чтобы извлечь файлы, имена которых оканчиваются на .js (файлы Javascript), вы можете использовать:

tar -xf archive.tar --wildcards '*.js'


Добавление файлов в существующий архив Tar 

Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию --append ( -r).

Например, чтобы добавить файл с именем newfile в archive.tar, вы должны выполнить:

tar -rvf archive.tar newfile


Удаление файлов из архива Tar 

Используйте --delete операцию для удаления файлов из архива.

В следующем примере показано, как удалить файл file1 из archive.tar,:

tar --delete -f archive.tar file1


Вывод 

Наиболее распространенное использование этой tar команды - создание и извлечение архива tar. При извлечении архива используйте tar -xf команду, за которой следует имя архива, и для создания нового используйте tar -czf команду, за которой следуют имя архива и файлы и каталоги, которые вы хотите добавить в архив.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...