如何在不使用bash脚本重新创建所有路径的情况下解压缩到特定目录中

如何在不使用bash脚本重新创建所有路径的情况下解压缩到特定目录中,bash,command-line,unzip,Bash,Command Line,Unzip,在我的ios应用程序中,我需要将放置在/var/mobile/Library/Preferences/xxx中的存档解压缩到例如/var/mobile/Library/Preferences/tmp中 我的问题是,当我启动此功能时: unzip /var/mobile/Library/Preferences/xxx/archive.zip -d /var/mobile/Library/Preferences/tmp/ 在tmp文件夹中,有所有存档路径:/var/mobile/Library/P

在我的ios应用程序中,我需要将放置在/var/mobile/Library/Preferences/xxx中的存档解压缩到例如/var/mobile/Library/Preferences/tmp中

我的问题是,当我启动此功能时:

unzip /var/mobile/Library/Preferences/xxx/archive.zip -d /var/mobile/Library/Preferences/tmp/
在tmp文件夹中,有所有存档路径:/var/mobile/Library/Preferences/tmp/var/mobile/Library/Preferences/xxx/archive/

只有/var/mobile/Library/Preferences/tmp/archive/…我怎么办。。。而不是所有的存档路径都进入目标目录


提前感谢

尝试使用
-j
选项来
解压
,这会使目录结构变平并将所有文件写入当前目录。

我知道我可以在第一个命令后将解压后的目录移动到一个不太长的路径中,但我不希望有这么长的路径来操作…有点冒险的选项:
ln-s/var/mobile/Library/Preferences/tmp//var/mobile/Library/Preferences/xxx/archive;解压/var/mobile/Library/Preferences/xxx/archive.zip-d/
我已经尝试过了,但问题是在我的archive.zip中有几个文件夹,我想保留归档的内部结构,但不保留归档路径