菜鸟科技网

android busybox 命令

什么是 BusyBox?

BusyBox 是一个集成了大量 Unix/Linux 命令工具的单一可执行文件,你可以把它想象成一个“瑞士军刀”或者一个“工具箱”。

android busybox 命令-图1
(图片来源网络,侵删)

为什么 Android 需要 BusyBox?

标准的 Android 系统为了节省空间和简化系统,并没有包含完整的 GNU Coreutils(一套标准的 Linux 命令行工具),它只提供了最基本的一些命令,ls, cp, mv

当你需要执行更复杂的操作时,比如查找文件 (find)、处理文本 (grep, sed)、打包解压 (tar, gzip),系统自带的命令就显得力不从心了,这时,BusyBox 就派上用场了,它通过一个很小的文件(1-2MB)提供了超过 300 个常用的 Linux 命令,极大地增强了 Android 终端(如 Termux、adb shell)的功能。


如何在 Android 上安装和使用 BusyBox?

安装 BusyBox 主要有两种方式,取决于你的使用场景:

android busybox 命令-图2
(图片来源网络,侵删)

在已 Root 的设备上安装(传统方式)

这是最常见的方式,可以让整个系统的 adb shell 和其他终端模拟器都能使用 BusyBox 的命令。

  1. 准备工作

    • 一台已 Root 的 Android 设备。
    • 一个文件管理器(如 MiXplorer, Solid Explorer),需要开启“显示隐藏文件”选项。
    • 一款 BusyBox 安装器应用(推荐 BusyBox Pro 或开源的 BusyBox from Google Play Store,或者从 F-Droid 下载)。
  2. 安装步骤

    • 在手机上安装 BusyBox 安装器 App。
    • 打开 App,它会自动检测你的设备是否已 Root。
    • 点击 "Install" 或 "安装" 按钮。
    • App 会提供几种安装方式(只安装到 App 内部、安装到系统路径、安装到 su 环境等)。对于普通用户,推荐选择 "Install to System"(安装到系统),这样可以让所有 Shell 环境都能使用。
    • 安装器会依次编译并安装各个命令工具,这个过程可能需要几分钟,请耐心等待。
    • 安装完成后,你可以通过 adb shell 或其他终端 App 来验证。

在未 Root 的设备上使用(通过 Termux)

对于不想 Root 设备的用户,可以使用 Termux 这个强大的终端模拟器。

android busybox 命令-图3
(图片来源网络,侵删)
  1. 准备工作

    • 在 Google Play Store 或 F-Droid 上安装 Termux
    • (可选但推荐)在 Termux 中安装 toybox,它是 Android 系统自带的一个精简版工具箱,可以作为 BusyBox 的补充。
  2. 安装和使用步骤

    • 打开 Termux。
    • 更新软件包列表并安装 BusyBox:
      pkg update
      pkg install busybox
    • 安装完成后,BusyBox 的命令就已经在 Termux 的环境中可用了,你不需要手动做任何符号链接操作,Termux 会自动处理。

BusyBox 常用命令示例

安装完成后,你就可以在终端中使用这些强大的命令了,这里列出一些最常用的命令,并附上简单的说明和示例。

文件和目录操作

命令 功能示例
ls 列出文件和目录。ls -l 显示详细信息,ls -a 显示隐藏文件。
cp 复制文件或目录。cp -r source_dir/ target_dir/ (递归复制目录)。
mv 移动文件/目录,或重命名。mv old_name.txt new_name.txt
rm 删除文件。rm -r directory/ (递归删除目录),rm -f file.txt (强制删除)。
mkdir 创建新目录。mkdir -p parent/child (创建多级目录)。
chmod 修改文件/目录权限。chmod 777 script.sh (赋予所有用户读写执行权限)。
chown 修改文件/目录所有者。
find 查找文件。find /sdcard -name "*.mp3" (在 SD 卡中查找所有 mp3 文件)。
ln 创建链接。ln -s target_file link_name (创建软链接)。

文本处理

命令 功能示例
grep 在文本中搜索匹配的行。cat log.txt | grep "ERROR" (过滤出包含 ERROR 的行)。
sed 流编辑器,用于文本替换、删除等。sed 's/old/new/g' file.txt (全局替换 old 为 new)。
awk 强大的文本分析工具。cat file.txt | awk '{print $1}' (打印每行的第一列)。
cat 查看文件内容。cat file.txt
less / more 分页查看文件内容。less large_file.txt
head / tail 查看文件的开头或结尾部分。tail -f /var/log/syslog (实时查看日志文件更新)。
sort 对文本行进行排序。cat file.txt | sort
uniq 过滤掉相邻的重复行,通常与 sort 结合使用 sort | uniq

压缩与打包

命令 功能示例
tar 打包/解包文件。tar -czvf archive.tar.gz /path/to/dir (打包并 gzip 压缩)。tar -xzvf archive.tar.gz (解压)。
gzip / gunzip 压缩/解压 .gz 文件。gzip file.txt (压缩成 file.txt.gz)。gunzip file.txt.gz (解压)。
zip / unzip 压缩/解压 .zip 文件。zip -r archive.zip /path/to/dirunzip archive.zip

网络工具

命令 功能示例
wget 从网络下载文件。wget http://example.com/file.zip
curl 强大的网络传输工具。curl -I http://example.com (获取 HTTP 头信息)。
ping 测试网络连通性。ping google.com
netstat 查看网络连接状态。netstat -an (显示所有连接和监听端口)。

系统信息与进程管理

命令 功能示例
ps 查看当前运行的进程。psps -ef
kill / killall 终止进程。kill -9 <pid> (强制杀死进程)。killall <process_name>
top** / htop** 动态查看进程和系统资源占用 (Termux 中可安装 htop 替代)。
df 查看磁盘空间使用情况。df -h (以人类可读的方式显示,如 KB, MB, GB)。
du 查看目录或文件的大小。du -sh /sdcard (显示 SD 卡总大小)。
mount / umount 挂载/卸载存储设备。

重要注意事项

  1. 命令冲突: BusyBox 的命令是精简版,功能可能不如 GNU 完整版强大,当你安装了 BusyBox 后,系统可能会优先使用它的命令,如果你发现某个命令的行为和预期不符,可能是这个原因。

  2. 安全性

    • Root 设备:在已 Root 的设备上安装 BusyBox 会提升系统权限,请务必从可信来源(如 Google Play Store)下载安装器,避免恶意软件。
    • 命令执行rm -rf / 是一个极其危险的命令,它会递归、强制地删除根目录下的所有文件,导致系统彻底崩溃。切勿在 Android 系统上执行此命令!
  3. 环境差异

    • 已 Root 设备 上安装后,adb shell 和其他 Shell App 都能使用。
    • Termux 中使用,则命令仅限于 Termux 这个 App 内部环境。

BusyBox 是 Android 环境下进行高级命令行操作不可或缺的工具,无论你是开发者、系统极客,还是普通用户想通过终端更高效地管理文件,BusyBox 都能为你提供强大的支持。

  • Root 用户:使用 BusyBox 安装器 App,安装到系统路径。
  • 非 Root 用户:使用 Termux App,直接 pkg install busybox 即可。

希望这份详细的指南能帮助你理解和使用 Android 上的 BusyBox!

分享:
扫描分享到社交APP
上一篇
下一篇