iOS 本身没有像 macOS 或 Linux 那样内置一个直接可用的、用户友好的 Shell 环境(如 Bash 或 Zsh),iOS 是一个高度封闭和安全的系统。

我们有几种方法可以“获得”一个 Shell,并且通过这些方法,我们可以在 iOS 设备上执行各种命令。
通过越狱获得 Root Shell
这是最强大、最完整的方式,设备越狱后,你就可以获得 root 权限,并安装完整的 Shell 环境(如 Bash, Zsh)和一系列命令行工具。
如何进入 Shell? 越狱后,你通常会安装一个应用来提供 Shell 访问,最常见的是 Cydia 或 Sileo 中的 MobileTerminal。
- 安装 MobileTerminal: 在 Cydia/Sileo 中搜索 "MobileTerminal" 并安装。
- 打开应用: 安装后,在主屏幕上找到 MobileTerminal 图标并打开。
- 开始操作: 打开后,你将看到一个命令行界面,默认用户是
mobile,要获得 root 权限,你需要输入su命令,然后输入 root 用户的密码(越狱时设置的,通常是alpine)。
常用 Shell 命令 (与 Linux/macOS 基本相同)

一旦你进入了 Shell(特别是 root shell),你就可以使用大量熟悉的命令。
文件和目录操作
ls: 列出目录内容。ls -l: 以长格式列出,显示权限、所有者、大小、日期等。ls -a: 显示所有文件,包括隐藏文件(以 开头)。
cd <目录名>: 切换当前目录。cd /: 切换到根目录。cd ~: 切换到当前用户的家目录。cd ..: 切换到上一级目录。
pwd: 显示当前所在的工作目录路径。mkdir <目录名>: 创建新目录。touch <文件名>: 创建一个空文件,或更新文件的时间戳。cp <源文件> <目标文件/目录>: 复制文件或目录。mv <源文件> <目标文件/目录>: 移动文件/目录,或重命名。rm <文件名>: 删除文件。rm -r <目录名>: 递归删除目录及其所有内容。rm -f <文件名>: 强制删除,不提示。
cat <文件名>: 在终端中显示文件的全部内容。less <文件名>: 分页显示文件内容,适合查看大文件(按q退出)。nano <文件名>: 一个简单的命令行文本编辑器。
系统信息
uname -a: 显示所有系统信息(内核版本、主机名等)。top: 实时显示系统中运行的进程和资源占用情况(按q退出)。ps aux: 显示当前运行的所有进程的详细信息。df -h: 以人类可读的方式(如 GB, MB)显示磁盘空间使用情况。du -sh <目录名>: 显示指定目录的总大小。free -m: 显示内存使用情况(以 MB 为单位)。w: 显示当前登录的用户和他们正在执行的进程。whoami: 显示当前用户名。id: 显示当前用户的用户ID、组ID等信息。
网络相关
ifconfig: 显示和配置网络接口信息,查看 Wi-Fi (en0) 和蜂窝网络 (pdp_ip0) 的 IP 地址。ping <域名或IP>: 测试与另一台主机的网络连接。netstat -an: 显示所有网络连接、路由表、接口等。nslookup <域名>: 查询域名的 IP 地址。curl <URL>: 从命令行发送网络请求,下载文件等。
权限管理
chmod <权限码> <文件名>: 修改文件或目录的权限。chmod 755 myscript.sh。chown <用户>:<组> <文件名>: 修改文件的所有者和所属组。
使用快捷指令 - “无 Shell” 命令执行
对于未越狱的设备,Apple 官方的 快捷指令 应用提供了一种在沙盒环境中执行脚本和命令的方式,它不是真正的 Shell,但功能强大,可以完成很多自动化任务。
如何使用?
- 打开“快捷指令” App。
- 创建一个新的快捷指令,添加“在 Shell 脚本中运行”操作。
- 在这个操作中,你可以输入类似 Shell 的命令。
常用快捷指令中的命令 快捷指令环境中的命令集与越狱 Shell 不同,它主要是为了调用系统 API 和执行特定任务。

- 文件操作:
ls: 列出指定目录(如Documents)中的文件。cat: 读取文件内容。mkdir: 创建目录。mv: 移动或重命名文件。rm: 删除文件。
- 系统信息:
date: 获取当前日期和时间。ioreg: 查看系统注册表中的硬件信息(如电池、型号等)。sysctl hw.model: 获取设备型号。
- 网络:
curl: 可以使用,但功能可能受限。nslookup: 可以使用。
- 包管理:
sileo: 如果安装了 Sileo,可以用它来管理应用(sileo install package.deb)。apt: 如果安装了 APT(如 Sileo 的底层工具),可以使用apt install,apt remove等命令来安装deb包。
限制:
- 无 root 权限: 你无法修改系统核心文件。
- 沙盒限制: 操作范围受限,主要在用户数据目录。
- 命令集不同: 不是所有 Linux 命令都可用,只有快捷指令环境支持的命令。
使用第三方 SSH 客户端
这种方法本质上是让你的 iOS 设备作为 SSH 客户端,去连接另一台服务器(另一台 Mac、Linux 电脑、甚至是 NAS)。
如何使用?
- 在 App Store 下载一个 SSH 客户端应用,如 Blink Shell、Termius 或 Blink Shell。
- 在应用中配置你的服务器信息:主机名/IP、用户名、密码或 SSH 密钥。
- 连接后,你就在 iOS 设备上操作远程服务器的 Shell 了。
命令执行环境
- 所有命令都是在远程服务器上执行的,而不是在你的 iOS 设备上。
- 你可以使用服务器上安装的所有命令和工具。
应用场景:
- 远程管理服务器。
- 在手机上快速检查服务器状态或日志。
- 编程和开发。
总结与对比
| 特性 | 越狱 Shell | 快捷指令 | SSH 客户端 |
|---|---|---|---|
| 权限级别 | Root (最高) | 受限 (沙盒) | 远程服务器权限 |
| 命令集 | 完整 (Bash/Zsh + GNU Coreutils) | 受限 (快捷指令内置) | 远程服务器上所有命令 |
| 设备要求 | 设备必须越狱 | 无需越狱 | 无需越狱,但需一台远程服务器 |
| 主要用途 | 系统深度定制、文件管理、调试、自动化 | 本地文件自动化、信息获取、轻量级任务 | 远程服务器管理、开发 |
| 易用性 | 需要越狱知识,门槛高 | 图形化界面,非常简单 | 需要服务器和 SSH 知识,中等 |
给你的建议:
- 如果你是普通用户,只想自动化一些手机上的操作:从快捷指令开始,它最安全、最方便。
- 如果你是开发者或高级用户,想完全控制你的设备:越狱 + MobileTerminal 是你的不二之选,功能最强大。
- 如果你需要管理远程服务器:使用 SSH 客户端,这是最标准、最专业的方式。
