Answers:
为此,还有另一种方法。您可以使用以下方法展平zip文件的全部内容。目标目录为“ projx ”并执行以下命令。
cd /projx && unzip -j /path/to/myzipfile.zip
选项-j称为“垃圾路径”,仅将每个文件转储到当前目录中,而不提取任何目录结构。
我不知道特定的命令行选项,但是您可以使用以下命令达到目标:
ln -s mydir projx
zip -r myzipfile.zip projx
rm projx
第一个命令创建符号链接,这样就可以在访问这些文件mydir
还可以通过projx
。然后使用Info-ZIP
(经过版本2.31测试)取消对符号链接的引用(这是默认设置,除非您指定-y
),然后递归存储文件:
adding: projx/ (stored 0%)
adding: projx/foo.1 (deflated 23%)
adding: projx/bar.2 (deflated 73%)
...
您会看到,文件夹名称也存储在文件中-因此在提取目录时,projx
就会创建该目录。
但是,我无法考虑存储绝对路径的可能性,但这还是一个坏主意。
-jj
。在其他操作系统上,仅-j
支持(并-jj
解释为-j
)选项,该选项消除了任何前导路径,从而导致了相反的情况(非常聪明的设计...)。