我在一个目录中,我有一个包含文件和目录的zip。 我需要将该文件解压缩到当前目录中,但保留文件结构。
解压缩myfile.zip将在当前目录中创建一个myfile目录,这不是我想要的。
unzip -j myfile.zip将终止所有文件结构,这不是我想要的。
答案 0 :(得分:8)
unzip myfile.zip
通过保留zip文件中的路径名来提取工作目录中的文件。
因此,如果您获得子目录myfile
,则表示它是压缩文件的相对路径的一部分。通过列出zip内容
unzip -l myfile.zip
所以你可以从上面的目录解压缩文件,或者从目标目录解压缩-d
选项,其中-d是上面的目录
cd myfile
unzip myfile.zip -d ..
答案 1 :(得分:0)
myfile目录在创建时已压缩到zip文件中并查看解压缩选项,但没有添加其他步骤就无法实现此目的。
如果整个过程在您的控制之下,您应该查看创建zip而不使用包含父目录,或者您可以使用像 tar 这样的替代方法(创建和提取),这样您就可以从回购中提取内容的精度更高。
答案 2 :(得分:0)
压缩时不要选择文件夹。 例如 myfile/abc.txt 和 myfile/efg.txt 所以在压缩时选择文件 (abc.txt,efg.txt) 和 zip 不要选择要压缩的 myfile 文件夹。 这样当您解压文件时,每个文件或文件夹的父目录将是您解压的目录。