我想知道是否可以使用树输出 tar.gz 文件的内容,而不必将文件的内容提取到临时目录,然后使用该目录的树。
我知道我们可以看到文件的内容而无需使用
tar -tf file.tar.gz
我只是尝试将其传递给tree
命令
tar -tf file.tar.gz | tree
但这只是输出当前目录的树,而不是文件的内容。
几个问题,
- 这可能吗?
- 如果可以的话,有什么限制吗?深度、文件数量等?
- 是否有其他方法可以查看内容的树形输出?
答案1
自定义树脚本树化.py由 Hakril 创建将有助于漂亮地打印 tgz 的内容而无需解压
[root@bastion ~]# wget https://bitbucket.org/Hakril/treeify/raw/8e732368f64d30ffc4033cbc890164fdf296d9f8/treeify.py
[root@bastion ~]# tar -tvf neo4j-enterprise.tar.gz | python treeify.py
.
├─ drwxrwxrwx root
│ ├─ root 0 2019-05-09 05:05 neo4j-enterprise
│ │ └─ local-package
│ │ └─
│ └─ root 0 2019-05-15 02:01 neo4j-enterprise
│ └─
└─ -rwxr-xr-x root
├─ root 0 2019-05-09 05:05 neo4j-enterprise
│ ├─ local-package
│ │ └─ .sentinel
│ └─ .sentinel
├─ root 10156 2019-05-09 05:05 neo4j-enterprise
│ └─ docker-entrypoint.sh
└─ root 1560 2019-05-14 21:36 neo4j-enterprise
└─ Dockerfile
[root@bastion ~]#
参考:https://superuser.com/questions/1086501/list-contents-of-tarball-in-tree-format