Linux добавить файлы архив

Содержание
  1. Команда Tar в Linux (создание и извлечение архивов)
  2. Синтаксис команды tar
  3. Создание архива Tar
  4. Создание архива Tar Gz
  5. Создание архива Tar Bz2
  6. Листинг архивов Tar
  7. Извлечение архива Tar
  8. Извлечение архива Tar в другой каталог
  9. Извлечение архивов Tar Gz и Tar Bz2
  10. Извлечение определенных файлов из архива Tar
  11. Извлечение файлов из архива Tar с использованием подстановочного знака
  12. Добавление файлов в существующий архив Tar
  13. Удаление файлов из архива Tar
  14. Выводы
  15. 15 примеров команды tar для сисадминов и девопсов
  16. 1. Создание tar архива
  17. 2. Создание сжатого архива (GZ)
  18. 3. Создание сжатого архива (BZ)
  19. 4. Распаковка всех файлов
  20. 5. Просмотр содержания архива
  21. 6. Распаковка конкретных файлов
  22. 7. Распаковка с помощью маски
  23. 8. Добавление файлов в архив
  24. 9. Удаление файлов из архива
  25. 10. Создание архива с проверкой
  26. 11. Распаковка архива в папку
  27. 12. Использование флага –diff
  28. 13. Исключение файлов
  29. 14. Просмотр размера содержимого архива
  30. 15. Архивация с сохранением разрешений
  31. Заключение

Команда Tar в Linux (создание и извлечение архивов)

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

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

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

Синтаксис команды 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 ) — Показать список файлов, входящих в архив
    • —verbose ( -v ) — Показать файлы, обрабатываемые командой tar.
    • —file=archive=name ( -f archive-name ) — указывает имя файла архива.

    При выполнении команд 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 из user_backup.tar /home/user :

    tar -cf backup.tar /home/user

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

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

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

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

    tar -czf archive.tar.gz file1 file2

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

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

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

    tar -cjf archive.tar.bz2 file1 file2

    Листинг архивов Tar

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

    Команда ниже отобразит содержимое файла archive.tar :

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

    -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

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

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

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

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

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

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

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

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

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

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

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

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

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

    tar -xf archive.tar file1 file2

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

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

    tar -xf archive.tar dir1 dir2

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

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

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

    Чтобы извлечь файлы из архива на основе шаблона с подстановочными знаками, используйте переключатель —wildcards и —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 за которым следует имя архива, а также файлы и каталоги, которые вы хотите добавить в архив.

    Для получения дополнительной информации о команде tar обратитесь к странице документации Gnu tar .

    Источник

    15 примеров команды tar для сисадминов и девопсов

    img

    Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball.

    По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит.

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

    1. Создание tar архива

    Для создания обычного архива без сжатия достаточно ввести команду ниже:

    Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar . По соглашению укажите имя файла tar с расширением .tar . Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей.

    В качестве примера можно привести три файла в каталоге:

    Создание tar архива

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

    Создание tar архива

    Также можно указать только конкретные файлы для архивирования, например:

    Создание tar архива

    2. Создание сжатого архива (GZ)

    tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip , обычно представленный расширением .gz после .tar или как tgz . Мы можем использовать флаг z , чтобы указать, что файлы должны быть сжаты с помощью gunzip . Вот пример:

    Создание сжатого архива

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

    3. Создание сжатого архива (BZ)

    tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2 , который представлен расширением tar.bz2 или иногда как tbz2 . Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j :

    Создание сжатого архива

    4. Распаковка всех файлов

    Архив tar (сжатый или несжатый) можно извлечь с помощью опции x . Ниже приведены примеры, поясняющие его использование:

    Распаковка всех файлов

    Эта команда также работает для сжатого архива формата gz :

    Распаковка всех файлов

    И даже для архива со сжатием bz2 :

    Распаковка всех файлов

    5. Просмотр содержания архива

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

    Просмотр содержания архива

    6. Распаковка конкретных файлов

    Из архива tar , tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла:

    Распаковка конкретных файлов

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

    Распаковка конкретных файлов

    7. Распаковка с помощью маски

    Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN , используйте флаг —wildcards :

    Распаковка с помощью маски

    8. Добавление файлов в архив

    В существующий несжатый архив можно добавлять новые файлы используя флаг r или —append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2 ):

    Добавление файлов в архив

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

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

    Удаление определенных файлов из архива tar возможно с помощью флага —delete , как показано ниже (сравните список tar до и после удаления файлов):

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

    Опять же это работает только для несжатых архивов и завершится неудачей для сжатых форматов архива.

    10. Создание архива с проверкой

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

    Создание архива с проверкой

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

    11. Распаковка архива в папку

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

    Распаковка архива в папку

    12. Использование флага –diff

    Можно использовать флаг —diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных.

    Использование флага –diff

    13. Исключение файлов

    Исключение определенных файлов может быть обязательным при создании архивов tar . Этого можно достичь с помощью флага —exclude .

    Исключение файлов

    Как можно заметить из приведенных выше выходных данных, можно задать флаг —exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND . Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz .

    14. Просмотр размера содержимого архива

    Размер содержимого сжатого архива tar можно получить с помощью следующей команды:

    Просмотр размера содержимого архива

    Аналогично для архива bz2 :

    Просмотр размера содержимого архива

    15. Архивация с сохранением разрешений

    По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или —preserve-permissions , как показано ниже.

    Архивация с сохранением разрешений

    Заключение

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

    Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar —help или tar —usage .

    Источник

    Читайте также:  Best linux system monitor
Оцените статью
Adblock
detector