在 unix 中解压缩受密码保护的 zip

问题描述 投票:0回答:6

我需要创建一个 shell 脚本,我将在其中解压缩受密码保护的 zip 文件。我知道密码,需要自动解压过程。

如何使用 Unix shell 脚本实现这一点?

shell unix unzip
6个回答
100
投票
unzip -P your-password zipfile.zip

人解压缩

-P 密码

使用密码解密加密的 zip 文件条目(如果有)。这是不安全的!许多多用户操作系统为任何 用户查看任何其他用户的当前命令行;即使在 独立系统总是存在越肩的威胁 偷看。将明文密码作为命令行的一部分存储在 自动化脚本更糟。尽可能使用 非回声,交互式提示输入密码。 (还有哪里 安全性真的很重要,使用强大的加密,例如 Pretty Good 隐私而不是标准提供的相对较弱的加密 压缩文件实用程序。)


37
投票

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

sudo apt-get install p7zip-full

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


20
投票

我在使用

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

7z x archive.zip -ppassword

10
投票

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

unzip -P PASSWORD *.zip

要使其工作,您需要将

*.zip
括在引号中,因为每当您使用通配符 (*) 时,shell 本身都会扩展它并将结果传递给程序。这是因为,与 UNIX 中的大多数程序不同,unzip 一次不能处理多个文件。

在这里阅读更多https://chrisjean.com/unzip-multiple-files-from-linux-command-line/.

因此,要解压多个受保护的文件,使用这个

unzip -P PASSWORD  '*.zip'    

0
投票

请按照以下说明进行操作,我已经按照这些步骤解决了同样的问题。

  1. sudo apt install p7zip-full
  2. 7z x example.zip
  3. 它将询问您的 zip 文件的密码,提供密码并让该过程完成

访问以下网址:了解更多详情


0
投票

在多次用头撞墙之后,这是我的两分钱。

如果您收到的密码包含特殊字符,例如$; \ 等等,你的 shell 终端可能会将它解释为 shell 特殊符号的一部分,而不是你想要的密码字符串。

解决方法很简单,把密码用单引号括起来!

7z x [yourzipfile] -P'your$pass;word!'

我希望这能帮助您节省时间,因为您的压缩/解压缩加密密码突然似乎不起作用!

© www.soinside.com 2019 - 2024. All rights reserved.