在 macOS 系统中,虽然图形界面的解压缩工具(如 The Unarchiver、Keka 等)已能处理大部分常见格式,但命令行工具在批量处理、自动化脚本及服务器环境中仍具有不可替代的优势,RAR 格式作为一种常见的压缩文件,其解压在 macOS 命令行中需要借助第三方工具,本文将详细介绍 macOS 命令行解压 RAR 文件的完整流程,包括工具安装、常用命令参数、高级技巧及常见问题解决。

安装 RAR 解压工具
macOS 系统默认不包含 RAR 格式的解压工具,需手动安装第三方软件,最常用的工具是 unrar
,它是开源的 RAR 解压工具,支持命令行操作,安装方式主要有以下两种:
使用 Homebrew 安装(推荐)
Homebrew 是 macOS 下的主流包管理器,通过以下命令安装 unrar
:
brew install unrar
安装完成后,可通过 unrar -v
验证是否安装成功,若显示版本信息则表示安装成功。
手动编译安装
若无法使用 Homebrew,可从源码编译安装:

- 访问 RARLab 官网 下载源码包(以 unrar 6.2.12 为例)。
- 解压源码包并进入目录:
tar -xzf unrarsrc-6.2.12.tar.gz cd unrar
- 编译并安装:
make sudo make install
基本解压命令
unrar
命令的基本语法为 unrar [选项] <压缩文件> [目标路径]
,常用选项如下:
选项 | 说明 | 示例 |
---|---|---|
x |
解压文件并保持原目录结构 | unrar x archive.rar |
e |
解压文件到当前目录(忽略原目录结构) | unrar e archive.rar |
l |
列压缩文件内容(不解压) | unrar l archive.rar |
t |
测试压缩文件完整性 | unrar t archive.rar |
p |
输出文件内容到终端(不保存) | unrar p archive.rar |
解压文件到当前目录
使用 e
选项解压 RAR 文件到当前工作目录:
unrar e example.rar
若需指定解压路径,可在命令后添加目录:
unrar e example.rar /path/to/destination
保持原目录结构解压
使用 x
选项会保留压缩文件中的目录层级:

unrar x example.rar
若 example.rar
中包含 folder/subfolder/file.txt
,解压后会在当前目录创建 folder/subfolder/file.txt
。
列出压缩文件内容
不解压文件,仅查看其包含的文件和目录:
unrar l example.rar
测试压缩文件完整性
解压前检查文件是否损坏:
unrar t example.rar
高级参数与技巧
解压到指定目录并覆盖文件
默认情况下,unrar
会提示是否覆盖已存在的文件,若需静默覆盖,可使用 -o+
参数:
unrar x -o+ example.rar /path/to/destination
反之,使用 -o-
可避免覆盖(默认行为)。
解压部分文件
若仅需解压压缩包中的特定文件,可在命令后列出文件名(支持通配符):
unrar e example.rar "folder/*.txt"
上述命令仅解压 folder
目录下所有 .txt
文件。
解压时设置密码
若 RAR 文件加密,需通过 -p
参数指定密码:
unrar x -p"your_password" example.rar
执行后会提示输入密码,或直接在命令中明文输入(不推荐,可能泄露密码)。
批量解压多个文件
使用通配符结合 for
循环批量解压当前目录下所有 RAR 文件:
for file in *.rar; do unrar x "$file"; done
忽略路径中的非法字符
若压缩文件路径包含 macOS 非法字符(如 ),可通过 -df
参数删除已解压的压缩文件,并使用 -inul
忽略所有提示:
unrar x -df -inul example.rar
常见问题解决
提示 "unrar: command not found"
原因:未安装 unrar
工具。
解决:按前文所述通过 Homebrew 或手动安装。
解压后文件权限异常
原因:RAR 文件在 Windows 系统中创建时保留了权限信息,macOS 默认不兼容。
解决:使用 chmod
命令调整权限,或在解压时通过 -o-
避免覆盖权限:
unrar x -o- example.rar
解压大文件时速度慢
原因:unrar
为单线程工具,解压大文件时效率较低。
解决:可尝试分割压缩包或使用图形工具(如 Keka)的多线程解压。
压缩包损坏无法解压
原因:文件下载不完整或存储介质错误。
解决:使用 unrar t
测试文件完整性,或重新下载压缩包。
相关问答 FAQs
Q1: 如何在 macOS 命令行中解压分卷 RAR 文件(如 example.part1.rar)?
A: 分卷 RAR 文件的解压需确保所有分卷文件在同一目录下,直接使用 unrar x
命令解压第一个文件即可:
unrar x example.part1.rar
unrar
会自动识别并合并后续分卷(如 example.part2.rar、example.part3.rar 等)。
Q2: 如何在脚本中静默解压 RAR 文件并跳过所有提示?
A: 使用 -inul
参数可忽略所有提示信息,结合 -o+
实现静默覆盖:
unrar x -o+ -inul example.rar /path/to/destination
此方式适用于自动化脚本,避免交互式操作中断流程。