菜鸟科技网

iOS shell命令有哪些?

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

iOS shell命令有哪些?-图1
(图片来源网络,侵删)

我们有几种方法可以“获得”一个 Shell,并且通过这些方法,我们可以在 iOS 设备上执行各种命令。

通过越狱获得 Root Shell

这是最强大、最完整的方式,设备越狱后,你就可以获得 root 权限,并安装完整的 Shell 环境(如 Bash, Zsh)和一系列命令行工具。

如何进入 Shell? 越狱后,你通常会安装一个应用来提供 Shell 访问,最常见的是 CydiaSileo 中的 MobileTerminal

  • 安装 MobileTerminal: 在 Cydia/Sileo 中搜索 "MobileTerminal" 并安装。
  • 打开应用: 安装后,在主屏幕上找到 MobileTerminal 图标并打开。
  • 开始操作: 打开后,你将看到一个命令行界面,默认用户是 mobile,要获得 root 权限,你需要输入 su 命令,然后输入 root 用户的密码(越狱时设置的,通常是 alpine)。

常用 Shell 命令 (与 Linux/macOS 基本相同)

iOS shell命令有哪些?-图2
(图片来源网络,侵删)

一旦你进入了 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 和执行特定任务。

iOS shell命令有哪些?-图3
(图片来源网络,侵删)
  • 文件操作:
    • 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 ShellTermiusBlink Shell
  • 在应用中配置你的服务器信息:主机名/IP、用户名、密码或 SSH 密钥。
  • 连接后,你就在 iOS 设备上操作远程服务器的 Shell 了。

命令执行环境

  • 所有命令都是在远程服务器上执行的,而不是在你的 iOS 设备上。
  • 你可以使用服务器上安装的所有命令和工具。

应用场景:

  • 远程管理服务器。
  • 在手机上快速检查服务器状态或日志。
  • 编程和开发。

总结与对比

特性 越狱 Shell 快捷指令 SSH 客户端
权限级别 Root (最高) 受限 (沙盒) 远程服务器权限
命令集 完整 (Bash/Zsh + GNU Coreutils) 受限 (快捷指令内置) 远程服务器上所有命令
设备要求 设备必须越狱 无需越狱 无需越狱,但需一台远程服务器
主要用途 系统深度定制、文件管理、调试、自动化 本地文件自动化、信息获取、轻量级任务 远程服务器管理、开发
易用性 需要越狱知识,门槛高 图形化界面,非常简单 需要服务器和 SSH 知识,中等

给你的建议:

  • 如果你是普通用户,只想自动化一些手机上的操作:从快捷指令开始,它最安全、最方便。
  • 如果你是开发者或高级用户,想完全控制你的设备越狱 + MobileTerminal 是你的不二之选,功能最强大。
  • 如果你需要管理远程服务器:使用 SSH 客户端,这是最标准、最专业的方式。
分享:
扫描分享到社交APP
上一篇
下一篇