Хотите извлечь один файл или папку из архива TAR или TAR.GZ? Вот как вы можете сделать это в Linux, используя команду tar.

Архив (TAR или TAR.GZ) — это набор файлов, объединенных в единый архив, что упрощает хранение и передачу большого количества файлов локально или через Интернет. Всякий раз, когда вам нужны файлы, вы можете просто извлечь архив.

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

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

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

tar -tvf [архив.tar]
tar -ztvf [архив.tar.gz]

Это распечатает список всех файлов и каталогов внутри архива.

Извлечь один файл из архива

Чтобы извлечь один файл из TAR или TAR.GZ, используйте следующий формат команды:

tar -xvf [архив.tar] [путь к файлу]
tar -zxvf [архив.tar.gz] [путь к файлу]
instagram viewer

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

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

tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

...где:

  1. -Икс используется для извлечения файлов из архива
  2. -v используется для просмотра прогресса по мере их извлечения
  3. -f используется для указания имени архива
  4. -z используется для распаковки файлов TAR.GZ

Эти команды извлекут указанный файл в текущий каталог терминала.

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

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

tar xvf [archive.tar] [путь к каталогу]
tar -zxvf [archive.tar.gz] [путь к каталогу]

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

tar -xvf test.tar тест/тест1

Это извлечет весь подкаталог тест/тест1 в текущем каталоге терминала.

Извлечь один файл или папку в другой каталог

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

tar -xvf [архив.tar] -C [каталог_назначения] [файл-или-каталог]
tar -zxvf [archive.tar.gz] -C [каталог_назначения] [файл-или-каталог]

Допустим, мы хотим извлечь каталог тест2 из тест.tar архив в Загрузки каталог вместо текущего рабочего каталога. Команда в этом случае будет такой:

tar -xvf test.tar -C ~/Загрузки/test/test2

Удалить один файл или каталог из архива

Если вам нужно удалить один файл или каталог из файла TAR или TAR.GZ, используйте --удалить вариант с командой tar:

tar -vf [архив.tar] --delete [файл-или-каталог]

Однако вы не можете удалить файл или каталог непосредственно из сжатого архива (TAR.GZ). Что вам нужно сделать, так это сначала распаковать файл TAR.GZ, удалить файл или каталог, а затем повторно сжать его.

Чтобы распаковать файл TAR.GZ, используйте следующую команду:

gzip -d [архив.tar.gz]

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

tar -vf [архив.tar] --delete [файл-или-каталог]

После этого повторно сожмите файл TAR с помощью gzip:

gzip -f [архив.tar]

Экономьте время при работе с архивами в Linux

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

Иногда создание и извлечение файлов TAR приводит к дублированию файлов в вашей системе. Поэтому рекомендуется периодически выявлять и удалять эти дубликаты, чтобы навести порядок в пространстве.