Linux怎么使用Zip加密压缩文件

梦磊同学_6424

梦磊同学_6424

2026-06-14

348人浏览

原创

linux中zip命令仅支持-e交互式设密,不支持命令行直接传参密码;加密使用弱强度zipcrypto算法,解压需unzip -p且密码严格区分大小写。

linux怎么使用zip加密压缩文件

zip -e 会触发交互式密码输入,但不支持脚本化传参

Linux 的 zip 命令本身不提供直接通过命令行参数指定密码的选项(如 -P password 这类用法在标准 zip 中**不存在**,那是某些非官方或 Windows 版 zip 的行为)。真正可用的加密方式只有 zip -e,它会在执行时暂停、提示你两次输入密码(确认),且密码不会回显。

这意味着:如果你写自动化脚本,zip -e 无法静默运行;强行使用会导致卡住或失败。别被网上“zip -P”的错误示例误导——那不是 POSIX 兼容的 zip 实现所支持的。

  • 正确用法:zip -e secure.zip document.pdf → 终端停住,等你手动输密码
  • 错误尝试:zip -P "123" archive.zip file.txt → 大概率报错或静默忽略 -P,生成的是**无密码**压缩包
  • 替代方案:如需脚本级加密,应改用 gpg + zip 组合,或换用 7z(支持 -p 参数)

加密后解压必须用 unzip -P,且密码区分大小写

用 zip -e 生成的 ZIP 文件,解压时必须显式提供密码,否则 unzip archive.zip 会直接报错:password incorrect 或 cannot extract readable files。这时要用 unzip -P "your_password" archive.zip。

注意:unzip -P 的密码是**严格区分大小写**的,且不能带空格(除非整个密码用单引号包裹,如 'My Pass')。如果密码含特殊字符(如 $、!),建议统一用单引号包裹,避免 shell 提前解析。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 成功解压:unzip -P 'Secret123!' backup.zip
  • 失败常见原因:密码输错、大小写不符、shell 展开导致密码被截断(如未引号包裹的 !$)
  • 验证是否真加密:用 unzip -l archive.zip 查看列表时,若文件名显示为 Encrypted 或字段异常(如时间全为 1980 年),说明加密生效

加密 ZIP 的兼容性差,Windows/Mac 可能打不开

zip -e 使用的是 ZipCrypto 算法(老式、弱加密),而非更现代的 AES-256。虽然 unzip 能解,但很多图形化工具(尤其是新版 Windows 资源管理器、macOS 归档实用工具)已**默认禁用 ZipCrypto 支持**,会提示“无法打开此文件”或“密码错误”——即使密码完全正确。

这不是你操作错了,而是工具链不兼容。如果你需要跨平台可靠解密,必须换方案:

  • 用 7z a -p -mem=AES256 archive.7z file.txt(推荐,AES 加密、跨平台通吃)
  • 或先 zip -r archive.zip dir/,再 gpg --symmetric --cipher-algo AES256 archive.zip(生成 archive.zip.gpg)
  • 别依赖 zip -e 做安全传输——它防不了有心人,只挡 casual 查看

权限和路径陷阱:加密不等于隐藏,原始文件仍存在

zip -e 只加密压缩包内的文件内容,**不删除、不修改原始文件权限**。也就是说,如果你运行 zip -e backup.zip /home/user/data/,原始 /home/user/data/ 目录依然可读,且压缩包里文件的 Unix 权限信息(rwx)也不会被保存——ZIP 格式本身就不存权限位。

容易被忽略的一点:如果目标目录有符号链接,zip -e 默认会打包链接本身(而非目标文件),除非加 -y;而加密后,链接路径明文可见,只是内容被锁住。

  • 想连原始文件一起清理?得手动加 -m(慎用!不可逆):zip -em -e secure.zip *.log
  • 要打包链接指向的内容,加 -y:zip -ey -e links.zip mylink
  • 路径含空格或中文?必须引号包裹:zip -e '财务报表 2026.zip' 'Q2 销售数据.xlsx'
加密 ZIP 是个表面简单、实则坑多的操作。最常被卡住的地方不是密码输错,而是误信了不存在的 -P 参数、或在 Windows 上双击打不开后反复怀疑自己密码记错——其实只是算法被弃用了。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3910

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6050

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5682

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3333

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2845

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3059

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习