在 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
此方式适用于自动化脚本,避免交互式操作中断流程。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/394127.html<
