unrar命令不存在需先安装:ubuntu/debian执行sudo apt update && sudo apt install unrar,centos 7先启用epel再sudo yum install unrar,centos 8+/rocky用sudo dnf install unrar,arch用sudo pacman -s unrar;若无源则下载rarlab官网rarlinux-x64-*.tar.gz,解压后sudo make install,装完运行unrar --version验证。

unrar 命令不存在?先装工具再动手
Linux 默认不带 unrar,直接运行会报 command not found。必须先安装对应发行版的包,不能跳过这步。
- Ubuntu/Debian:
sudo apt update && sudo apt install unrar - CentOS 7:
sudo yum install epel-release && sudo yum install unrar - CentOS 8+/AlmaLinux/Rocky:
sudo dnf install unrar - Arch Linux:
sudo pacman -S unrar - 如果包管理器没源(比如某些最小化镜像),去 RARLab 官网 下载
rarlinux-x64-*.tar.gz,解压后进rar目录执行sudo make install
装完验证:unrar --version 能输出版本号才算成功。
unrar x 和 unrar e 的区别很关键
这两个参数决定目录结构是否保留——不是“能不能解”,而是“解出来长什么样”。用错会导致文件全堆在当前目录,找不到原来嵌套的子路径。
-
unrar x archive.rar:还原原始目录结构,比如压缩包里有docs/report.pdf,解压后就是./docs/report.pdf -
unrar e archive.rar:所有文件平铺到当前目录,上面那个例子会变成./report.pdf,docs/这层直接消失 - 绝大多数场景该用
x;只有明确需要扁平化提取(比如批量取一堆同名配置文件)才用e
指定目标目录和覆盖行为要显式写清楚
unrar 不会自动创建目标目录,也不会默认覆盖同名文件——这两点不声明就容易卡住或出错。
- 解压到
/opt/data(需提前mkdir -p /opt/data):unrar x archive.rar /opt/data/ - 强制覆盖已存在文件:
unrar x -o+ archive.rar - 跳过已存在文件:
unrar x -o- archive.rar - 密码保护的 RAR:
unrar x -p'My Pass!@2026' archive.rar(注意单引号包裹含空格/特殊字符的密码)
分卷 RAR(如 part1.rar、part2.rar)只需对首卷运行 unrar x part1.rar,它会自动识别并读取后续卷。
7z 可以替代 unrar,但依赖 p7zip-rar 插件
如果你系统里已有 7z,且装了 p7zip-rar,也能解 RAR,但别以为装了 p7zip-full 就够了——缺插件会报 Can't open as archive。
- Ubuntu/Debian:
sudo apt install p7zip-full p7zip-rar - 解压:
7z x archive.rar(自动识别格式,支持密码提示) - 静默解压(不交互):
7z x -y archive.rar - 性能上
unrar更专一稳定;7z适合多格式统一处理,但 RAR 支持不如原生 unrar 全面(比如部分新加密方式)
真正麻烦的不是命令本身,而是密码强度高时终端回显被屏蔽、路径里有中文导致乱码、或者解压目标目录权限不足却没报错——这些得看 unrar 输出的最后一行提示,而不是只盯着“Done”。











