在unix中解压密码保护的zip

nlejzf6q  于 2023-04-20  发布在  Unix
关注(0)|答案(6)|浏览(317)

我需要创建一个shell脚本,其中我将解压缩密码保护的zip文件。我知道密码,并需要自动解压缩过程。
如何使用Unix shell脚本来实现这一点?

xwmevbvl

xwmevbvl1#

unzip -P your-password zipfile.zip

man unzip
-P密码
使用密码来解密加密的zip文件条目(如果有的话)。这是不安全的!许多多用户操作系统提供了让任何用户看到任何其他用户的当前命令行的方法;即使是在独立的系统上,也总是存在着被偷窥的威胁。将明文密码作为命令行的一部分存储在自动脚本中就更糟糕了。只要有可能,就使用无回显的交互式提示输入密码。(在安全性非常重要的地方,使用强加密,如Pretty Good Privacy,而不是标准zip文件实用程序提供的相对较弱的加密。)

qzlgjiam

qzlgjiam2#

在Ubuntu中,我必须使用以下命令安装7zip(7z)归档工具:

sudo apt-get install p7zip-full

然后,你可以使用Ubuntu默认的 Archive Manager 来解压缩密码保护的zip文件

ehxuflar

ehxuflar3#

我在使用unzip时遇到了问题,显示为need PK compat. v5.1 (can do v4.6)。安装了p7zip,并使用以下命令解压缩:

7z x archive.zip -ppassword
wvmv3b1j

wvmv3b1j4#

要解压缩多个受密码保护的文件,此命令将不起作用

unzip -P PASSWORD *.zip

为了使它工作,你需要在引号中包含*.zip,因为每当你使用通配符(*)时,shell本身就会展开它并将结果传递给程序。这是因为,与UNIX中的大多数程序不同,unzip不能同时处理多个文件。
阅读更多https://chrisjean.com/unzip-multiple-files-from-linux-command-line/
因此,若要解压缩多个受保护的文件,请使用此

unzip -P PASSWORD  '*.zip'
wlsrxk51

wlsrxk515#

我的头撞了好多次墙,这是我的两分钱。
如果您收到的密码包含特殊字符,如$ ;\等,您的shell终端可能会将其解释为shell特殊符号的一部分,而不是您想要的密码字符串。
解决方法很简单,把密码用单引号括起来!
7z x [yourzipfile] -P'your$pass;word!'
我希望这有助于保存您的时间时,突然似乎你的zip/unzip加密密码没有工作!

zyfwsgd6

zyfwsgd66#

请按照下面的说明,我已经解决了同样的问题,按照这些步骤。

  1. sudo apt install p7zip-full
  2. 7z x example.zip
    1.它将要求密码为您的zip文件,提供密码,并让该过程完成
    访问以下URL:For more details

相关问题