【发布时间】:2013-03-20 07:31:26
【问题描述】:
如何在不解压缩的情况下从命令 shell 中获得相当于 ls 的 .zip 文件(不是 gzip)?也就是说,如何列出我的 .zip 存档中压缩的不同文件?
【问题讨论】:
如何在不解压缩的情况下从命令 shell 中获得相当于 ls 的 .zip 文件(不是 gzip)?也就是说,如何列出我的 .zip 存档中压缩的不同文件?
【问题讨论】:
Use unzip with-l 选项:
unzip -l file.zip
【讨论】:
man unzip 或visit this。)
unzip -l file.zip 仅列出第一级中的文件和文件夹,而不列出这些文件夹中的文件。
less 实用程序能够窥视zip 存档。
Less 与 Unix 捆绑在一起,无需安装 als。 输出是可滚动的(分页),并且不会将内容记录到终端(与其他答案中提到的 unzip -l 不同)。
根据https://superuser.com/a/216675/249975,
所以只需使用less filename.zip
【讨论】:
Perreal's answer 是对的,但我建议安装atool(在您的发行版的包管理器中查找它)。然后,对于任何类型的存档文件,bzip2、gzip、tar...您只需要记住一个命令:
als archive_name
【讨论】:
使用此命令无需解压即可查看压缩文件的内容
unzip -l file.zip
我们可以使用的 Gor tar 文件
zcat <archived-file>
【讨论】:
zipinfo -1 filename.zip
它只返回文件名,不再返回示例(响应):
listing.html
my_data.csv
super.txt
【讨论】:
在 Debian/Ubuntu 中使用 lesspipe,它还可以列出许多其他存档类型:
*.arj *.tar.bz2 *.bz *.bz2 *.deb, *.udeb *.doc *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif *.iso, *.raw, *.bin *.lha, *.lzh *.pdf *.rar, *.r[0-9][0-9] *.rpm *.tar.gz, *.tgz, *.tar.z, *.tar.dz *.gz, *.z, *.dz *.tar *.jar, *.war, *.xpi, *.zip *.zoo
用法:
lesspipe file.zip
【讨论】:
我将添加以下选项,因为我发现这是迄今为止最方便的方法(探索 2GB tar 的内容,包含数万个文件和目录)。
使用archivemount 对我来说是最有用的方法。
执行如下:
mkdir mount-point
archivemount archive.tar.gz mountpoint
cd mount-point
umount mount-point
说明
您需要创建一个空文件夹作为挂载点。最简单的方法是在您拥有存档文件的文件夹中创建该文件夹,如上例所示。尽管您可以在任何您喜欢的地方创建它。只需相应地更改命令中的mount-point。
一旦您将cd 放入mount-point 文件夹,您将拥有一个普通的 Linux 文件夹和文件树,可以使用您原本用于探索、查找、cat、编辑、ls 等的任何命令进行探索。 , Linux 中的文件夹和文件。非常方便。
完成后使用umount 卸载存档
注意,您可能需要先安装archivemount。例如,sudo apt install archivemount。
我基本上想要一种简单的方法来调查大型 tar 文件的内容。仅仅拥有文件夹和文件名的大量文本输出(数万行)对我来说并不是特别有用。即使在找到通过其他后处理器传输内容的方法之后。
您可以将此方法用于 zip 文件、tar 文件以及使用 gzip、bzip 或 compress 压缩的文件。
archivemount 的详细信息为here。
关于它的好文章是here。
这句话(来自那篇文章)总结了这个工具的灵活性:
[因为 archivemount via FUSE] 通过 Linux 内核公开其文件系统,您可以使用任何应用程序将文件直接加载和保存到此类挂载的档案中。这使您可以对仍在存档文件中的文件使用您最喜欢的文本编辑器、图像查看器或音乐播放器。更进一步,因为 archivemount 还支持某些存档格式的写访问,您也可以直接从存档内部编辑文本文件。
【讨论】:
您也可以使用“zmore archive_name”。 它将列出存档及其内容。
【讨论】:
如果您想浏览单个压缩文件,请尝试使用 zless。当 zip 包含多个文件时,这可能不太有用。
根据手册页的描述:
Zless 是一种过滤器,它允许在软拷贝终端上一次一屏地检查压缩或纯文本文件。相当于将环境变量 LESSOPEN 设置为 '|gzip -cdfq -- %s',将环境变量 LESSMETACHARS 设置为 '
;*?"()[|&^`#$% =~',然后运行得更少。然而,似乎有足够多的人认为拥有 zless 命令很重要,值得提供它。
其他一些方便的“z”实用程序是 zcat 和 zmore(在前面的答案中提到)、zdiff 和 zgrep。
关于回答原始问题,如何查看一个zip的内容,我更喜欢zipinfo后跟unzip -l。
【讨论】:
要在 Linux 主机上列出/查看压缩文件的内容而不解压缩(以及安装 GZIP 的位置),请使用“zcat”命令。
zcat 压缩文件名 |更多
【讨论】: