在保留文件结构的同时解压缩当前目录

时间:2017-01-23 10:42:57

标签: linux unix

我在一个目录中,我有一个包含文件和目录的zip。 我需要将该文件解压缩到当前目录中,但保留文件结构。

解压缩myfile.zip将在当前目录中创建一个myfile目录,这不是我想要的。

unzip -j myfile.zip将终止所有文件结构,这不是我想要的。

3 个答案:

答案 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 文件夹。 这样当您解压文件时,每个文件或文件夹的父目录将是您解压的目录。