toybox
toybox 是一个轻量级的Linux命令行工具集合,它将常用的Linux命令行工具合并到一个单独的可执行文件中。
前置条件
使用方法1
- 正常连接设备
- 使用hdc shell进入命令行执行模式
使用方法2
- 应用沙箱内运行
命令行说明
toybox的执行方式有两种:
- toybox [COMMAND] [ARGUMENTS...]
- 直接执行 [COMMAND] [ARGUMENTS...]
其中 [COMMAND] 可被替换为toybox支持的任意命令(可通过输入不带参数的toybox命令查询)。
[ARGUMENTS...] 为[COMMAND]所需要的参数。
当前版本中,不同设备对toybox的支持情况存在差异。开发者可直接执行toybox获取设备支持的全量命令。
帮助命令
格式:toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]]
| 选项 | 参数 | 说明 |
|---|---|---|
| --help | NA | 显示命令帮助。 |
| --long | NA | 显示支持的所有命令的路径。 |
| --version | NA | 显示版本号。 |
| NA | NA | 显示所有[COMMAND]支持的命令。 |
| [COMMAND] | [ARGUMENTS] | 执行具体的命令。大部分命令也支持--help和--version参数。 |
格式:help [-ahu] [COMMAND]
| 参数 | 说明 |
|---|---|
| COMMAND | 显示COMMAND的帮助。[COMMAND] 可被替换为toybox支持的任意命令。 |
| 选项 | 说明 |
|---|---|
| -a | 显示所有命令的帮助。 |
| -h | 仅显示help命令的帮助。 |
| -u | 以HTML方式显示help命令的帮助。 |
数学与计算机基础函数
| 命令 | 说明 |
|---|---|
| factor | 分解质因数。 usage: factor [-hx] NUMBER... |
| mcookie | 生成128位强随机数。 usage: mcookie [-vV] |
| mkpasswd | 对密码进行加密。 usage: mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT] |
| uuidgen | 创建并打印新的RFC4122随机UUID。 usage: uuidgen |
终端操作
| 命令 | 说明 |
|---|---|
| chvt | 切换到虚拟终端N。 usage: chvt NUM |
| chroot | 以指定的根目录运行命令。 usage: chroot NEWROOT [COMMAND [ARG...]] |
| clear | 清空终端。 usage: clear |
| nohup | 运行一个独立于终端的命令。 usage: nohup COMMAND... |
| tty | 显示连接到标准输入设备的终端的名称。 usage: tty [-s] |
| reset | 复位终端。 usage: reset |
sh逻辑命令
| 命令 | 说明 |
|---|---|
| false | 返回非零值。 usage: false |
| test | 通过执行测试返回true或false。没有参数时返回false。 usage: test [-bcdefghkLprSsuwx PATH] [-nz STRING] [-t FD] [X ?? Y] |
| true | 返回零。 usage: true |
| yes | 反复输出行直到被杀死。如果没有参数,则输出“y”。 usage: yes [args...] |
系统操作
| 命令 | 说明 |
|---|---|
| dmesg | 显示或控制内核环形缓冲区。 usage: dmesg [-Cc] [-r |
| getconf | 获取系统配置值,部分值需要path参数。 usage: getconf -a [PATH] |
| env | 设置命令调用的环境,或列出环境变量。 usage: env [-0i] [-e FILE] [-u NAME] [NAME=VALUE...] [COMMAND...] |
| hostname | 获取当前主机名。 usage: hostname [-bdsf] [-F FILENAME] [newname] |
| insmod | 加载内核模块。 usage: insmod MODULE [OPTION...] |
| lsmod | 显示当前已经加载的模块,它们的大小和依赖。 usage: lsmod |
| nproc | 打印处理器数量。 usage: nproc [--all] |
| printenv | 打印环境变量。 usage: printenv [-0] [env_var...] |
| rmmod | 卸载内核模块。 usage: rmmod [-wf] MODULE... |
| swapoff | 停用交换空间。 usage: swapoff FILE |
| swapon | 在指定的设备或文件上,使能内存交换。 usage: swapon [-d] [-p priority] filename |
| uname | 打印系统信息。 usage: uname [-asnrvmo] |
| vmstat | 打印虚拟内存信息。 usage: vmstat [-n] [DELAY [COUNT]] |
时间日期
| 命令 | 说明 |
|---|---|
| cal | 打印日历。 usage: cal [-h] [[[DAY] MONTH] YEAR] |
| date | 设置/获取当前日期/时间。 usage: date [-u] [-I RES] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET] |
| sleep | 等待设置的时间后再退出。可以是小数。可选的后缀可以是“m”(分钟)、“h”(小时)、“d”(天)或“s”(秒,默认值)。 usage: sleep DURATION... |
| time | 运行命令行并报告真实时间、用户时间和系统时间(以秒为单位)。(真实时间=时钟时间,用户时间=命令代码使用cpu的时间,系统时间=操作系统使用cpu的时间。) usage: time [-pv] COMMAND... |
| uptime | 显示当前时间,系统运行了多长时间,用户数量,以及过去1、5和15分钟的系统负载平均值。 usage: uptime [-ps] |
| usleep | 等待设置的时间后再退出,单位微秒。 usage: usleep MICROSECONDS |
登录用户操作
| 命令 | 说明 |
|---|---|
| groups | 打印用户所在的组。 usage: groups [user] |
| id | 打印用户和组ID。 usage: id [-Ggnru] [USER...] |
| logname/whoami | 打印当前用户名。 usage: logname/whoami |
| who | 打印有关已登录用户的信息。 usage: who |
| w | 显示用户登录情况和登录时间。 usage: w |
进程操作
| 命令 | 说明 |
|---|---|
| iotop | 根据I/O对进程排序。 usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,] |
| kill | 向进程发送信号。 usage: kill [-l [SIGNAL] |
| killall | 向具有给定名称的所有进程发送信号(默认:SIGTERM)。 usage: killall [-l] [-iqv] [-SIGNAL |
| pidof | 打印具有给定名称的所有进程的PID。 usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME...] |
| pkill | 按照进程名来杀死进程。 usage: pkill [-fnovx] [-SIGNAL |
| ps | 显示进程信息。 usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,] |
| pwdx | 打印进程的工作目录。 usage: pwdx PID... |
| renice | 调整进程/组/用户级别的进程优先级。 usage: renice [-gpu] -n INCREMENT ID... |
| setsid | 在新的会话中运行命令。 usage: setsid [-t] command [args...] |
| taskset | 启动一个仅在指定处理器上运行的任务,或者修改已经存在的进程的处理器偏好。 usage: taskset [-ap] [mask] [PID |
| timeout | 创建子进程执行命令,如果子进程超时未退出,则向子进程发送一个信号。DURATION可以是小数。可选的后缀可以是“m”(分钟)、“h”(小时)、“d”(天)或“s”(秒,默认值)。 usage: timeout [-k DURATION] [-s SIGNAL] DURATION COMMAND... |
| top | 实时显示进程信息。 usage: top [-Hhbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,] |
| nice | 以指定的优先级运行命令。 usage: nice [-n PRIORITY] COMMAND... |
| nsenter | 在特定的命名空间中运行指令。 usage: nsenter [-t pid] [-F] [-i] [-m] [-n] [-p] [-u] [-U] COMMAND... |
| ulimit/prlimit | 显示或者设置进程的资源 限制。 usage: ulimit/prlimit [-P PID] [-SHRacdefilmnpqrstuv] [LIMIT] |
| watch | 每隔-n秒运行一次参数中的命令,显示执行结果。按q退出。 usage: watch [-tebx] [-n SEC] COMMAND... |
| xargs | 运行命令行一次或多次,附加标准输入设备中的参数。 usage: xargs [-0Pprt] [-snE STR] COMMAND... |
设备节点操作
| 命令 | 说明 |
|---|---|
| df | 显示命令行中列出的每个文件系统的总共、已使用和空闲的磁盘空间。无参数时显示已装载的所有文件系统。 usage: df [-aHhikP] [-t TYPE] [FILE...] |
| du | 显示磁盘使用情况,文件和目录占用的空间。 usage: du [-d N] [-abcHKkLlmsx] [FILE...] |
| free | 显示物理内存和交换空间的总量、可用量和已用量。 usage: free [-bkmgt] |
| freeramdisk | 释放特定ramdisk的所有内存。 usage: freeramdisk [RAM device] |
| fstype | 打印文件系统的类型。 usage: fstype DEV... |
| fsync | 将文件状态与存储设备同步。 usage: fsync [-d] [FILE...] |
| lspci | 显示 PCI 设备信息。 usage: lspci [-ekmn] [-i FILE ] |
| lsusb | 显示 USB 设备信息。 usage: lsusb |
| mount | 在目录上挂载新的文件系统。如果没有参数,则显示现有的挂载。 usage: mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR] |
| mountpoint | 检查目录或者设备是否是挂载点。 usage: mountpoint [-qd] DIR mountpoint [-qx] DEVICE |
| sync | 将缓存的数据写到磁盘。 usage: sync |
| sysctl | 读写 /proc/sys 下的系统控制数据。 usage: sysctl [-aAeNnqw] [-p [FILE] |
| umount | 取消挂载文件系统。 usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...] |
网络操作
| 命令 | 说明 |
|---|---|
| ftpget/ftpput | 与FTP服务器沟通,支持读、写、列举文件等操作。ftpget自带-g选项。ftpput自带-s选项。 usage: ftpget/ftpput [-cvgslLmMdD] [-p PORT] [-P PASSWORD] [-u USER] HOST [LOCAL] REMOTE |
| ifconfig | 显示或配置网络接口。 usage: ifconfig [-aS] [INTERFACE [ACTION...]] |
| netstat | 显示网络信息。 usage: netstat [-pWrxwutneal] |
| ping/ping6 | 检测网络连通性。ping6自带-6选项。 usage: ping/ping6 [OPTIONS] HOST |
| telnet | 连接telnet服务器。 usage: telnet HOST [PORT] |
| traceroute/traceroute6 | 跟踪报文到HOST的路径。traceroute6自带-6选项。 usage: traceroute [-46FUIldnvr] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES] [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES] usage: traceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES][-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE] HOST [BYTES] |
| wget | 从网络上下载资源。 usage: wget [OPTIONS]... [URL] [OPTIONS] = --max-redirect x -d -O filename -p data |