Я хочу увидеть содержимое (список файлов и папок) архива, например, tar.gz
файл без его распаковки .
Есть ли способы сделать это?
command-line
Авинаш Радж
источник
источник
tar -tvf xxx.tgz
это также показывает подробные свойства файлов.tree
tar -tf filename.tar.gz | tree
unzip -l
/unrar -l
Вы также можете использовать Vim
источник
ex +%p foo.tar.gz
.vim file.tar.gz
), он говорит: «Выберите файл курсором и нажмите ENTER». Вы делаете это, перемещаете курсор на файл и нажимаете ENTER.less
может также открыватьgz
сжатые и несжатыеtar
архивы. Это дает вам прекрасныйls -l
стиль вывода:И потому, что это так
less
, вы можете прокручивать его, искать его и т. Д. Однако это не помогает с другими алгоритмами сжатия (по моему опыту).источник
alias
специальных опций,less
которые вы здесь не показываете? Я просто попытался это увидеть, но это не сработало. У меня нет псевдонимов дляless
.Вы можете использовать команду г:
zcat
,zless
,zgrep
.Для просмотра содержимого файлов используйте:
Чтобы что-то использовать grep:
Чтобы проверить разницу между файлами, используйте:
Это всего лишь несколько примеров, есть еще много.
источник
tar
's-t
флаг будет перечислять содержимое для вас. Добавьте это к другим вашим флагам (например,-tvfz
atar.gz
,-tvfj
atar.bz2
и т. Д.), И вы можете просматривать без распаковки. Оттуда вы можете легко извлечь отдельные файлыБольшая проблема с
tar
будет вспоминать все другие флаги . Поэтому я обычно полагаюсь7z
(изp7zip-full
пакета) на все мои архивы. Я не буду утверждать, что это полностью лучше, но он поддерживает почти все (без указания типа сжатия), и аргументы логичны.Это, конечно, менее способный, но вам не нужна страница руководства, чтобы использовать его.
Также есть Midnight Commander (
mc
). Это универсальный задира для квазиграфического управления файлами на основе терминалов, и при небольшом тестировании он просто позволяет просматривать.tar.gz
и.7z
архивы, и оба . Я не уверен, сколько других это поддерживает.источник
Ну, это зависит от файла. Большинство (де) программ сжатия имеют флаг, который перечисляет содержимое архива.
tar
/tar.gz
/tgz
/tar.xz
/tar.bz2
/tbz
файлыzip
файлы7zip
файлыrar
файлыЭто большинство популярных форматов архивов. Имея все это в виду, вы можете написать небольшой скрипт, который использует соответствующую команду в зависимости от расширения файла, который вы ей даете:
Сохраните этот скрипт в вашем
PATH
и сделайте его исполняемым. Затем вы можете перечислить содержимое любого архива:И поскольку кто-то упомянул этот редактор меньшего размера, естественно, emacs также может сделать это:
источник
Почему бы не использовать
vim
для просмотра вашего архива и открытия файлов (по крайней мере, текстовых файлов):Нажмите клавиши со стрелками для прокрутки и, Enterчтобы открыть файл.
источник
Midnight Commander (
mc
) также имеет хороший просмотрщик сжатых файлов, хотя я считаю это обманом, поскольку mc - файловый менеджер, хотя и текстовый.Кроме того, если все, что вам нужно, это посмотреть, что находится внутри сжатых архивов, вы можете изучить команду «просмотр» для каждого компрессора.
tar tzvf
покажет вам содержимое файла tar,unzip -l
сделает это для zip-файла и так далее.источник
Использование
view filename.tar.gz
также будет работать. почти так же, как vim, но без прав на запись.источник
lesspipe
является сценарием оболочки, устанавливаемым по умолчанию как частьless
пакета, который может перечислять содержимоеtar.gz
архива, а также ряд других распространенных форматов архивных файлов.Он вызывается
less
командой ( см. Ответ Оли ) в качестве входного препроцессора, если$LESSOPEN
переменная окружения установлена соответствующим образом.Если вы любите приключения,
vi /usr/bin/lesspipe
посмотрите на то, какие команды он использует. Для файлов, соответствующихtar.gz
расширению, мы видим, что он использует скрытую функциюtar tzvf
вместе с--force-local
опцией отключения неясной функцииtar
, которая в противном случае путала бы двоеточия в имени файла с командой использовать удаленный стример:Обратите внимание, что поскольку он в первую очередь предназначен для препроцессора
less
, он ничего не выводит, если не распознает тип файла. Я заметил, что некоторые.tar.gz
файлы, которые я скачал, не будут работать, потому что они фактически не используют сжатие gzip, несмотря на имя файла.источник
Если вы хотите просматривать содержимое определенного файла в архиве, не извлекая архив или не записывая его каким-либо образом, используйте флаг -O (заглавная o) для записи в стандартный вывод вместо файла.
Убедитесь, что O стоит перед f, иначе он попытается проанализировать O как имя файла.
источник