Linux tar несколько файлов

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

Передать в tar много файлов

Хочется как-то так

А работает только в одну строку. Собственно вопрос, как мне передать в команду tar сотню файлов не в одну строку? Файлы в разных директориях, по этому добавить сразу директорию со всем содержимом не канает.

После \ не должно быть пробела, а он у тебя есть в первой строке.

Иные возможности передать список файлов tar’у тоже имеется

Йопт, ты красавчик!

man tar /—files-from

типовой вариант «find . | tar -T — -zcf x.tgz»

типовой вариант «find . | tar -T — -zcf x.tgz»

find . -print0 | tar —null -T — .

Этот вариант чем-то лучше?

Вообще не пойму нафиг мне финд? Я совершенно конкретные файлы ложу в тар.

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

Источник

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

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

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

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

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

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

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

  • 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 . Длинные формы более читабельны, а короткие — быстрее печатать. Опции в длинной форме начинаются с двойного тире ( — ). Опции краткой формы имеют префикс с одинарным дефисом ( — ), который можно опустить.

Читайте также:  Операционная система windows гарантия

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

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

Чтобы создать tar-архив, используйте параметр -c за которым следует -f и имя архива.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Sms from windows to android

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

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

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

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

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

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

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

Выводы

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

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

Источник

Примеры Использования Команды Tar в Linux

Tar — одна из наиболее широко используемых команд Linux для сжатия. Использование tar даёт много преимуществ, за что её и любят специалисты, имеющие дело с командной строкой Linux. Дальше мы поговорим об этих преимуществах, а также рассмотрим основные примеры использования утилиты.

Tar расшифровывается как «Tape archive» и используется для сжатия файлов и папок.

В большинстве случаев результатом сжатия с использованием утилиты tar является файл с расширением .tar. Последующие сжатия выполняются с помощью gzip, в результате получаем файл .tar.gz.

С помощью tar вы можете сжимать и распаковывать файлы. Tar имеет много опций, но некоторые из них вам, возможно, придётся запомнить.

  • Tar довольно эффективно сжимает файлы, степень сжатия — 50%;
  • Значительно уменьшает размер упакованных файлов и папок;
  • Tar не изменяет свойства файлов и каталогов. Разрешения и другие функции остаются неизменными;
  • Tar доступна в большинстве версий Linux, в том числе и в более старых, а также в прошивке Android;
  • Быстро сжимает и разжимает содержимое;
  • Простая в использовании.

Теперь, когда мы разобрались с преимуществами tar, стоит ответить на ещё один вопрос: при каких сценариях используется эта утилита?

  • Если вы работаете в системах на базе Linux и вам нужно сжать файлы;
  • Вам нужно перенести огромную коллекцию файлов и папок с одного сервера на другой;
  • Нужно сделать резервную копию сайта, данных или чего-либо ещё;
  • Чтобы уменьшить использование места в вашей системе;
  • Для загрузки и скачивания папок.

Как использовать Tar в Linux

Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет!

Создание файла .tar в Linux

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

Здесь /home/primerArhiva — это каталог, который необходимо сжать, в результате чего мы получим primerArhiva.tar.

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

  • c – создает новый файл .tar;
  • v – выводит подробное описание процесса сжатия;
  • f – имя файла.

Создание файла .tar.gz в Linux

Если вы хотите добиться ещё большего сжатия, создайте архив .tar.gz. Вот пример:

Дополнительная опция z представляет сжатие gzip. Как вариант, вы также можете создать архив .tgz, похожий на tar.gz. Например:

Создание файла .tar.bz2 в Linux

Файлы архива .bz2 имеют ещё больший уровень сжатия, чем файлы, сжатые с gzip. Однако для сжатия и распаковки потребуется больше времени. Чтобы создать архив, вам нужно использовать опцию -j. Пример операции:

Читайте также:  Образ windows не запускается с диска

Похожие варианты сжатия — .tar.tbz и .tar.tb2. Например:

Как разархивировать файлы .tar в Linux

Команду tar также можно использовать для извлечения файлов. Следующая команда извлечет файлы в текущий каталог:

Если вы хотите распаковать файлы в другой каталог, используйте опцию -C. Например:

Аналогичную команду можно использовать для распаковки файлов .tar.gz:

.tar.bz2, .tar.tbz или .tar.tb2 файлы могут быть распакованы аналогично. Для этого введите следующую команду в командной строке:

Как вывести список содержимого архива в Linux

После создания архива вы можете просмотреть его содержимое с помощью подобной команды:

Команда выведет полный список файлов с отметками времени и разрешениями. Используйте аналогичную команду для .tar.gz:

Такой вариант подходит и для файлов .tar.bz2:

Как извлечь только один файл из архива .tar

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

Здесь primer.sh — это тот единственный файл, который будет извлечён из primerArhiva.tar. В качестве альтернативы вы также можете использовать следующую команду:

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

Или аналогичную команду:

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

Или аналогичную команду:

Как видите, команда tar имеет довольно гибкий синтаксис.

Как извлечь несколько файлов из архивов .tar

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

Соответственно для .tar.gz команда будет выглядеть так:

Для .tar.bz2:

Извлечь несколько файлов за критерием

Если вы хотите извлечь из архива только определённые файлы, например только .jpg, используйте метасимволы. Пример такой команды показан ниже:

Для .tar.gz введите:

Для .tar.bz2:

Как добавить файлы в архив .tar

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

Ниже приведён пример, в котором мы добавляем primer.jpg в существующий файл primerArhiva.tar.

Мы также можем добавить каталог. В примере ниже каталог image_dir был добавлен в primerArhiva.tar.

Вы не можете добавлять файлы или папки в архивы .tar.gz или .tar.bz2.

Как проверить архив .tar в Linux

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

Данная команда не применима к файлам .tar.gz или .tar.bz2.

Как проверить размер архива в Linux

Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).

Ниже приведены примеры команды с разными архивными файлами:

Итоги

Как видите, tar — действительно мощный инструмент, который должен знать каждый специалист, имеющий дело с терминалом Linux.

Мы надеемся, что эта статья помогла вам разобраться с особенностями использования tar в Linux! Вы также можете изучить подробную инструкцию по этой утилите, вызвав справку с помощью команды man tar. Увидимся в следующем руководстве!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Оцените статью