尊敬的项目发布包含单个目录tar归档,例如zyrgus-3.18.tar.gz包含一个zyrgus-3.18文件夹中又包含src,build,dist,等。
但是一些朋克项目将所有内容都放在根目录 :'-( 这会导致解压时一团糟。每次手动创建一个文件夹是一件痛苦的事情,而且在大多数情况下都是不必要的。
Mar*_*rco 30
patool处理不同类型的档案并创建一个子目录,以防档案包含多个文件,以防止工作目录被提取的文件弄乱。
patool extract archive.tar
Run Code Online (Sandbox Code Playgroud)
要获取支持格式的列表,请使用patool formats.
Dan*_*ica 12
你可以做类似的事情
tar tf thefile.tar | cut -d/ -f1 | sort -u
Run Code Online (Sandbox Code Playgroud)
查看 tar 具有哪些顶级条目;管道以wc -l检查是否有多个。请注意,在某些情况下这会失败,例如,如果 tar 包含表单的文件路径somedir/whatever以及./somedir/whatever(或者更疯狂的东西);不过,这应该不常见。
这将在输出任何内容之前读取整个 tar 文件,因为sort它应该比实际提取更快,因为它只是一个顺序读取并且可以跳过大文件。
如果您以交互方式执行此操作并且文件可能很大,并且如果它打印出不止一件事,您可以更改sort -u为uniq和Control+ C。
你可以做:
pax <some.tar
Run Code Online (Sandbox Code Playgroud)
...列出tar文件的内容。
如果你想知道它有多少层深,你可以这样做:
pax <some.tar | tr -dc /\\n | sort -r | head -n1
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式明确禁止提取爆炸:
mkdir some.tar
pax -'rs|^|some.tar/|' <some.tar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |