有趣的事实:如果您使用存档管理器并提取 .tar.gz 以便您取消选中“保持目录结构”,您将获得一个tarbomb。
tar -ztf
列出 tar 文件中的所有文件和目录。有没有办法在没有目录结构的情况下列出 tar 文件中的所有文件?
Jos*_* R. 20
我从手册页中看不到执行此操作的方法,但您始终可以过滤结果。以下假设您的文件名中没有换行符:
tar tzf your_archive | awk -F/ '{ if($NF != "") print $NF }'
Run Code Online (Sandbox Code Playgroud)
这个怎么运作
通过将字段分隔符设置为/
,最后一个字段awk
知道 ( $NF
) 是文件名,如果它正在处理文件名,或者是空,如果它正在处理目录名(tar
向目录名添加尾部斜杠)。所以,我们基本上告诉awk
打印最后一个字段,如果它不为空。