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

Обновлено: 21.11.2024

Как мы можем извлечь определенные файлы из большого файла tar.gz? Я нашел процесс извлечения файлов из tar в этом вопросе, но когда я попробовал указанную там команду, я получил ошибку:

Как извлечь файл из tar.gz?

6 ответов 6

Вы также можете использовать tar -zxvf

Вы должны написать имя файла точно так, как его показывает tar ztf test.tar.gz. Если он говорит, например. ./extract11 , или some/bunch/of/dirs/extract11 , это то, что вы должны указать (и файл появится именно под этим именем, нужные каталоги создаются автоматически).

  • -x : указывает tar извлекать файлы.
  • -f : указывает имя файла/архива.
  • -v : Подробно (показывать ход выполнения при извлечении файлов).
  • -z : фильтровать архив через gzip, использовать для распаковки файлов .gz.
  • -t : вывести содержимое архива

$ tar -zxvf test.tar.gz Extract11 tar: Extract11: Не найдено в архиве tar: Выход из-за ошибки задержан из-за предыдущих ошибок

тогда попробуйте этот tar tf archive.tar.gz | grep Extract11. Пожалуйста, проверьте, находится Extract11 в архиве или нет

Вы должны написать имя файла точно так, как его показывает tar ztf test.tar.gz. Если он говорит, например. ./extract11 , или some/bunch/of/dirs/extract11 , это то, что вы должны указать (и файл появится именно под этим именем, нужные каталоги создаются автоматически).

@pj-brunet: Нет, f не должно стоять в конце. Но за ним должно следовать непосредственно имя файла. Этот пример со всеми другими параметрами после имени tar работает нормально: tar -f mytar.tar.gz -zxv dir/somefile . Он извлекает "dir/somefile" из "mytar.tar.gz".

Большое спасибо, это было здорово. Для просмотра имен файлов я использовал vim, а для размещения файла в определенном каталоге мне пришлось использовать -C перед именем файла. то есть: tar -zxvf -C . надеюсь, что это кому-то будет полезно

Предположим, что у вас есть архив с именем lotofdata.tar.gz, и вы просто знаете, что там есть один файл, который вам нужен, но все, что вы можете вспомнить, это то, что его имя содержит слово contract . У вас есть два варианта:

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

сообщить об этом объявлении

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

Tar изначально был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому он и называется Tape ARchive.

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

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

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

При выполнении команд tar вы можете использовать длинную или короткую форму операций и параметров 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 в каталоге /home/user:

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

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

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

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

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

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

Приведенная ниже команда выведет список содержимого файла archive.tar:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Извлечение архивов — zip, rar, ace и т. д. — обычно представляет собой простой процесс: выберите архив, используйте свою любимую программу для извлечения содержимого, и все.

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

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

Например, с 7-Zip вы заметите, что в пользовательском интерфейсе программы нет опции поиска в архивах. Вы можете искать из командной строки, используя 7z l имя_архива имя_файла -r, но это совсем не удобно.

Функция поиска Bandizip

Бесплатный архиватор Bandizip поставляется с функцией поиска в пользовательском интерфейсе, которой вы можете воспользоваться. По сути, вы загружаете архив в программу и используете функцию «Найти», чтобы отфильтровать файлы в архиве, чтобы отобразить только те которые вас интересуют. Затем вы можете извлечь эти файлы исключительно из архива.

Подробно о том, как это работает:

  1. Загрузите архив в Bandizip. Вы можете либо сначала открыть пользовательский интерфейс Bandizip и выбрать опцию открытия файла, либо загрузить его напрямую, если вы добавили Bandizip в контекстное меню проводника или проводника Windows.
  2. Выберите «Найти» > «Найти файлы» или нажмите Ctrl-F, чтобы открыть интерфейс поиска. Bandizip перечисляет все файлы и папки архива в открывшемся окне. Они перечислены с указанием их имени, размера, даты изменения, типа и другой информации.
  3. Как только вы начнете вводить текст в поле «Найти», файлы будут отфильтрованы на основе введенного вами текста.
  4. Интерфейс предоставляет вам возможность удалить или извлечь выбранные файлы. Обратите внимание, что операции удаления поддерживаются только для некоторых форматов архивов, а не для других.

Процесс поиска очень быстрый. Я проверил это с резервной копией сервера Ghacks на 15 гигабайт, которая содержит более 670 000 файлов и 11 600 папок. Как только архив загружен, поиск в большом архиве, подобном этому, выполняется мгновенно.

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

К сожалению, Bandizip не может найти файлы в других архивах. Итак, если у вас есть архив внутри архива, вам сначала нужно извлечь архивные файлы, прежде чем вы сможете использовать функцию поиска. По сути, это означает, что вы можете найти только те файлы, которые Bandizip отображает в своем интерфейсе при открытии архива.

Заключительные слова

Функция поиска Bandizip — это находка, если вам нужно извлечь один или несколько файлов только из больших архивов. Хотя иногда имеет смысл извлечь архив на компьютере, поиск обычно выполняется намного быстрее, когда дело доходит до извлечения файлов из архива, не извлекая его целиком.

Теперь вы: поддерживает ли ваш любимый архиватор операции поиска?

Сжатые файлы (известные под разными именами, см. таблицу справа, но в этом документе называемые «сжатыми файлами») — это один или несколько файлов на диске компьютера, которые были объединены в один файл в компактном образом, чтобы уменьшить их общий размер файла. Это очень полезно, когда место на диске ограничено или когда люди скачивают файлы. Поскольку несколько файлов могут храниться в сжатом файле, один файл можно загрузить, а затем разархивировать, чтобы легко загрузить несколько файлов одновременно. Заархивированный файл можно представить как набор книг на полке:

Набор книг организован таким образом, что занимает очень мало места, но вы не можете использовать или читать их, если они расположены таким сжатым образом.

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

Чтобы работать с заархивированными файлами, их необходимо сначала разархивировать или извлечь. В Windows есть встроенная программа Windows Compressed Folders, которая может сделать это за вас. Если вы установили zip-архив, например WinZip* или 7-Zip*, сжатые папки Windows могут быть недоступны на вашем компьютере. Если вы следуете приведенным ниже инструкциям для сжатых папок Windows, но открывается другая программа, вы все равно можете следовать перечисленным инструкциям, и в целом все должно работать.

- Распаковка файла со сжатыми папками Windows

  1. ↓ СОВЕТ. Установите флажок для каждого шага, который вы выполнили, чтобы не указывать следующий шаг.

В этом руководстве предполагается, что вы можете видеть расширения файлов, которые, к сожалению, не используются по умолчанию для установки Windows. Чтобы показать эти расширения файлов, см. документацию Microsoft для Vista или XP. Если вы не показываете или не можете отображать расширения файлов, вы все равно можете использовать значок файла для определения типа файла.

Найдите заархивированный файл, который нужно разархивировать, в проводнике Windows. В этом примере я показываю cvs-eep-entrytool-v2.2.7.zip в папке C:\data. Здесь показана Windows XP, но Windows Vista работает таким же образом:

Обратите внимание, что расширение файла .zip для zipфайла.

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

Обратите внимание, что в адресной строке теперь указано, что вы находитесь в папке с . zip, а также показывает значок заархивированного файла. Файл внутри этого заархивированного файла отображается как обычный разархивированный файл. В данном случае это файл .mdb или Microsoft database. Не открывайте этот файл дважды, если он находится в заархивированной папке. Это все равно, что пытаться прочитать книгу, прежде чем взять ее с полки.

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

Один раз щелкните файл(ы) и/или папку(и), которые нужно разархивировать. Если вы хотите выбрать все файлы и папки (даже если есть только один) в ZIP-файле, нажмите Ctrl-A на клавиатуре:

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

Теперь скопируйте файл(ы), нажав Ctrl-C на клавиатуре.

Затем нажмите кнопку "Назад", чтобы вернуться в предыдущую папку:

Теперь вы находитесь в исходной папке, которая не является заархивированным файлом (в данном случае C:\data):

Наконец, вставьте файлы в эту папку, нажав Ctrl-V на клавиатуре. При этом файлы будут скопированы в виде разархивированных файлов в папку, которую вы просматриваете в данный момент:


Для больших файлов это может занять несколько минут или больше.

После завершения копирования файла ZIP-файл и разархивированные файлы находятся в одной папке. Вы можете использовать ZIP-файл в качестве резервной копии или удалить его. Теперь вы можете работать с разархивированными файлами. В приведенной выше аналогии вы взяли книги с полки и можете их читать. Наслаждаться!

- Распаковка файла с помощью других zip-программ

Существуют и другие программы для сжатия и распаковки файлов. Двумя популярными программами являются WinZip* и 7-Zip*. Оба они позволяют распаковывать и архивировать двумя щелчками мыши:

Здесь я щелкнул правой кнопкой мыши по заархивированному файлу и выбрал «Извлечь сюда». «Извлечь» — это то же самое, что «распаковать». Windows также иногда размещает ссылки «Извлечь файлы» на панели инструментов, которые могут быть вам полезны. Windows обычно открывает мастер, чтобы спросить, куда вы хотите извлечь файлы. Расположение инструмента «извлечь файлы» зависит от того, как настроен проводник Windows и какую версию Windows вы используете.

- Сжатие файла с помощью сжатых папок Windows

  1. ↓ СОВЕТ. Установите флажок для каждого шага, который вы выполнили, чтобы не указывать следующий шаг.

Щелкните правой кнопкой мыши файл, щелкните левой кнопкой мыши «Отправить» > , затем щелкните левой кнопкой мыши «Сжатую (архивированную) папку»:

Windows создает временный файл (буквы выделены) и может отображать окно выполнения "Сжатие".

Когда Windows завершит сжатие, в той же папке, что и распакованный файл, будет создан новый файл .zip с тем же именем, но с расширением .zip:

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

- Сжатие с другими программами

Как и выше, существуют и другие программы для сжатия файлов в два клика:

*Эта страница носит исключительно информационный характер и не является рекламой какого-либо конкретного программного обеспечения.

Читайте также: