目录

toybox工具

toybox 是一个轻量级的Linux命令行工具集合,它将常用的Linux命令行工具合并到一个单独的可执行文件中。

前置条件

[h2]使用方法1

[h2]使用方法2

命令行说明

toybox的执行方式有两种:

其中 [COMMAND] 可被替换为toybox支持的任意命令(可通过输入不带参数的toybox命令查询)。

[ARGUMENTS...] 为[COMMAND]所需要的参数。

当前版本中,不同设备对toybox的支持情况存在差异。开发者可直接执行toybox获取设备支持的全量命令。

[h2]帮助命令

格式: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命令的帮助。

[h2]数学与计算机基础函数

命令 说明
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

[h2]终端操作

命令 说明
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

[h2]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...]

[h2]系统操作

命令 说明
dmesg

显示或控制内核环形缓冲区。

usage: dmesg [-Cc] [-r | -t | -T] [-n LEVEL] [-s SIZE] [-w | -W]

getconf

获取系统配置值,部分值需要path参数。

usage: getconf -a [PATH] | -l | NAME [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]]

[h2]时间日期

命令 说明
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

[h2]登录用户操作

命令 说明
groups

打印用户所在的组。

usage: groups [user]

id

打印用户和组ID。

usage: id [-Ggnru] [USER...]

logname/whoami

打印当前用户名。

usage: logname/whoami

who

打印有关已登录用户的信息。

usage: who

w

显示用户登录情况和登录时间。

usage: w

[h2]进程操作

命令 说明
iotop

根据I/O对进程排序。

usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,]

kill

向进程发送信号。

usage: kill [-l [SIGNAL] | -s SIGNAL | -SIGNAL] pid...

killall

向具有给定名称的所有进程发送信号(默认:SIGTERM)。

usage: killall [-l] [-iqv] [-SIGNAL | -s SIGNAL] PROCESS_NAME...

pidof

打印具有给定名称的所有进程的PID。

usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME...]

pkill

按照进程名来杀死进程。

usage: pkill [-fnovx] [-SIGNAL | -l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]

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 | cmd [args...]]

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...

[h2]设备节点操作

命令 说明
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] | KEY[=VALUE]...]

umount

取消挂载文件系统。

usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...]

[h2]网络操作

命令 说明
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

[h2]文件操作

命令 说明
awk

awk是一个处理文本的工具,可对文档内容进行筛选、分析。

usage: awk [-F sepstring] [-v assignment]... program [argument...]

or:

awk [-F sepstring] -f progfile [-f progfile]... [-v assignment]...

[argument...]

base64

通过base64算法进行加密/解密。

usage: base64 [-di] [-w COLUMNS] [FILE...]

basename

返回删除后缀的路径名的非目录部分。

usage: basename [-a] [-s SUFFIX] NAME... | NAME [SUFFIX]

cat

复制(连接)文件到标准输出设备。如果未列出任何文件,则从标准输入设备复制。“-”代表标准输入设备。

usage: cat [-etuv] [FILE...]

chcon

修改文件的SELinux安全上下文。

usage: chcon [-hRv] CONTEXT FILE...

chgrp/chown

修改文件的组。

usage: chgrp/chown [-RHLP] [-fvh] GROUP FILE...

chmod

更改列出的文件的模式(使用-R递归)。

usage: chmod [-R] MODE FILE...

cksum

对于每个文件,输出crc32的校验和、长度和文件名。如果未列出任何文件,则从标准输入设备复制。“-”代表标准输入设备。

usage: cksum [-HIPLN] [FILE...]

cmp

比较文件的内容(如果只给出一个,则与标准输入设备进行比较),可选在开始时跳过字节。

usage: cmp [-ls] [-n LEN] FILE1 [FILE2 [SKIP1 [SKIP2]]]

comm

读取FILE1和FILE2(这两个文件应该是有序的),并生成三个文本列作为输出:仅在FILE1中的行、仅在FILE2中的行、在两个文件中都有的行。“-”代表标准输入设备。

usage: comm [-123] FILE1 FILE2

count

将标准输入设备复制到标准输出设备,将简单的进度指示器显示到标准错误输出stderr。

usage: count [-l]

cp

将文件从SOURCE复制到DEST。如果有多个源,DEST必须是一个目录。

usage: cp [-aDdFfHiLlnPpRrsTuv] [--preserve=motcxa] [-t TARGET] SOURCE... [DEST]

cpio

从“newc”格式的cpio档案中读写文件。

usage: cpio -{o | t | i | p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]

[ignored: -mdu -H newc]

crc32

输出每个文件的crc32校验和。

usage: crc32 [file...]

cut

将每个FILE中的行的选定部分打印到标准输出。每个选择列表以逗号分隔,可以是数字(从1开始计数)或破折号分隔的范围(其中X-表示X到行尾,-X表示从开始到X)。

usage: cut [-Ds] [-bcCfF LIST] [-dO DELIM] [FILE...]

dd

用于转换和复制文件的命令,可以用于创建磁盘镜像、备份数据、转换字符编码等任务。

usage: dd [if | of=FILE] [ibs | obs | bs | count | seek | skip=N] [conv | status | iflag | oflag=FLAG[,FLAG...]]

diff

比较文件/文件夹,输出差异。

usage: diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] [-F REGEX ] FILE1 FILE2

dirname

显示路径的目录部分。

usage: dirname PATH...

dos2unix

将换行符格式从dos“\r\n”转换为unix“\n”。如果没有列出文件,从标准输入设备获取输入。“-”代表标准输入设备。

usage: dos2unix [FILE...]

echo

将每个参数写入标准输出设备,每个参数之间有一个空格,后跟一个换行符。

usage: echo [-Een] [ARG...]

grep/egrep/fgrep

显示匹配正则表达式的行。如果没有-e,则第一个参数为要匹配的正则表达式。没有文件(或“-”文件名)读取标准输入设备。如果匹配,则返回0;如果找不到匹配,则返回1;如果命令错误,则返回2。

egrep自带-E选项,fgrep自带-F选项。E和F选项不能同时选。

usage: grep/egrep/fgrep [-EFrivwcloqsHbhn] [-ABC NUM] [-m MAX] [-e REGEX]... [-MS PATTERN]... [-f REGFILE] [FILE]...

gzip

压缩文件。

usage: gzip [-19cdfkt] [FILE...]

expand

根据输入参数将制表符展开为空格。

usage: expand [-t TABLIST] [FILE...]

fallocate

让文件系统给文件预留空间。

usage: fallocate [-o OFFSET] -l SIZE FILE

file

检查给定的文件并描述其内容类型。

usage: file [-bhLs] [FILE...]

find

在目录中搜索匹配的文件。

usage: find [-HL] [DIR...] [[/topic/body/section/table/tgroup/tbody/row/entry/p/options {""}) ] (options]

flock

管理文件锁(advisory lock)。

usage: flock [-sxun] fd

fmt

将输入重新格式化为给定行长的换行,保留现有的缩进级别,写入标准输出设备。

usage: fmt [-w WIDTH] [FILE...]

gunzip

解压文件。如果没有文件,则从标准输入设备解压到标准输出设备。成功后,输入文件将被删除并替换为新的没有.gz后缀的文件。

usage: gunzip [-cfkt] [FILE...]

head

将文件中的第一行复制到标准输出设备中。如果未列出任何文件,从标准输入设备拷贝。“-”代表标准输入设备。

usage: head [-cn NUM] [-qv] [FILE...]

hexedit

十六进制文件编辑器,所有修改立刻写入磁盘。

usage: hexedit [-r] FILE

iconv

转换文件编码。

usage: iconv [-f FROM] [-t TO] [FILE...]

inotifyd

在文件系统事件出现的时候,运行特定的程序。

usage: inotifyd PROG FILE[:MASK] ...

install

复制文件并设置文件属性。

usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [-t TARGET] [SOURCE...] [DEST]

link

创建文件的硬链接。

usage: link FILE NEWLINK

ln

在 FROM 和 TO 之间创建软/硬链接。

usage: ln [-fnrsTv] [-t DIR] [FROM...] TO

ls

查看当前目录有哪些文件/文件夹。

usage: ls [-1ACFHLNRSUXZabcdfghilmnopqrstuwx] [--color[=auto]] [FILE...]

lsattr

列出Linux文件系统中的文件属性。

usage: lsattr [-Radlv] [Files...]

lsof

列出属于所有活跃进程的所有打开的文件,或使用列出的FILE的进程。

usage: lsof [-lt] [-p PID1,PID2,...] [FILE...]

md5sum

计算每个输入文件的哈希,如果没有,则从标准输入设备读取。每个输入文件输出一行哈希后跟文件名。

usage: ???sum [-bcs] [FILE]...

mkdir

创建一个或多个目录。

usage: mkdir [-vp] [-m MODE] [DIR...]

mkfifo

创建FIFO文件(命名管道)。

usage: mkfifo [NAME...]

mkswap

创建Linux的交换空间。

usage: mkswap [-L LABEL] DEVICE

mktemp

安全地创建一个新文件“DIR/TEMPLATE”并打印其名称。

usage: mktemp [-dqu] [-p DIR] [TEMPLATE]

mknod

创建一个特殊的文件(b为块设备,c或u为字符设备,p为命名管道)。

usage: mknod [-m MODE] NAME TYPE [MAJOR MINOR]

more

查看文件,一次一页。

usage: more [FILE...]

mv

移动或重命名文件。

usage: mv [-FfinTvx] [-t TARGET] SOURCE... [DEST]

nl

给输入的文件添加行号。

usage: nl [-E] [-l #] [-b MODE] [-n STYLE] [-s SEPARATOR] [-v #] [-w WIDTH] [FILE...]

od

以八进制/十六进制格式转储数据。

usage: od [-bcdosxv] [-j #] [-N #] [-w #] [-A doxn] [-t acdfoux[#]]

paste

从每个输入文件中合并相应的行。

usage: paste [-s] [-d DELIMITERS] [FILE...]

patch

将统一的diff应用于一个或多个文件。

usage: patch [-d DIR] [-i file] [-p depth] [-Rlsu] [--dry-run]

pgrep

查找进程。PATTERN是扩展正则表达式,用于命令名称的检测。

usage: pgrep [-clfnovx] [-d DELIM] [-L SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]

printf

使用C语言的printf语法,根据Format格式化并打印参数。

usage: printf FORMAT [ARGUMENT...]

pwd

打印工作(当前)目录。

usage: pwd [-L | -P]

readahead

将文件预加载到磁盘缓存中。

usage: readahead FILE...

readlink

如果没有选项,则显示symlink指向什么,如果不是symlink则返回错误。

usage: readlink [-efmnqz] FILE...

realpath

显示规范绝对路径名。

usage: realpath [-LPemqsz] [--relative-base DIR] [-R DIR] FILE...

rev

逆向输出每一行。

usage: rev [FILE...]

rm

删除文件。

usage: rm [-fiRrv] FILE...

rmdir

删除一个或多个目录。

usage: rmdir [-p] [DIR...]

sed

流编辑器。将编辑脚本应用于输入行。

usage: sed [-inrszE] [-e SCRIPT]... | SCRIPT [-f SCRIPT_FILE]... [FILE...]

seq

从头到尾按递增计数。省略参数默认值为1。使用两个参数作为第一个和最后一个。参数可以是负数或浮点数。

usage: seq [-w | -f fmt_str] [-s sep_str] [first] [increment] last

setfattr

写入POSIX扩展属性。

usage: setfattr [-h] [-x | -n NAME] [-v VALUE] FILE...

sha1sum/sha256sum

计算sha系列哈希值。

usage: ???sum [-bcs] [FILE]...

shred

安全地删除文件(用随机数据覆盖文件内容)。

usage: shred [-fuxz] [-n COUNT] [-o OFFSET] [-s SIZE] FILE...

sort

对从输入文件(或标准输入设备)到标准输出设备的所有文本行进行排序。

usage: sort [-Mbcdfginrsuz] [FILE...] [-k#[,#[x]] [-t X]] [-o FILE]

split

将输入(或标准输入设备)数据复制到一系列输出(或“x”)文件,使用按字母顺序递增的后缀(aa,ab,ac...az,ba,bb...)。

usage: split [-a SUFFIX_LEN] [-b BYTES] [-l LINES] [-n PARTS] [INPUT [OUTPUT]]

stat

显示文件或文件系统的状态。

usage: stat [-tfL] [-c FORMAT] FILE...

strings

在二进制文件中显示可打印字符串。

usage: strings [-fo] [-t oxd] [-n LEN] [FILE...]

tac

以相反的顺序输出行。

usage: tac [FILE...]

tail

将文件中的最后几行复制到标准输出设备中。“-”代表标准输入设备。

usage: tail [-n | c NUMBER] [-f | F] [-s SECONDS] [FILE...]

tar

在.tar文件中创建、解压缩或列出文件。

usage: tar [-cxt] [-fvohmjkOS] [-XTCf NAME] [--selinux] [FILE...]

tee

将标准输入设备复制到每个列出的文件,也复制到标准输出设备。“-”代表标准输出设备。

usage: tee [-ai] [FILE...]

touch

更新每个FILE的访问和修改时间为当前时间。

usage: touch [-amch] [-d DATE] [-t TIME] [-r FILE] FILE...

truncate

设置文件的长度,必要时稀疏扩展。

usage: truncate [-c] -s SIZE file...

uniq

报告或过滤文件中的重复行。

usage: uniq [-cduiz] [-w MAXCHARS] [-f FIELDS] [-s CHAR] [INFILE [OUTFILE]]

unix2dos

将换行符格式从unix“\n”转换为dos“\r\n”。如果没有列出文件,从标准输入设备获取输入。“-”代表标准输入设备。

usage: unix2dos [FILE...]

unlink

删除文件。

usage: unlink FILE

uudecode

从标准输入设备(或INFILE)解码文件。

usage: uudecode [-o OUTFILE] [INFILE]

uuencode

标准输入设备(或文件)进行编码,输出到标准输出设备,在输出中包含encode-filename。

usage: uuencode [-m] [INFILE] ENCODE_FILENAME

wc

统计输入中的行数、单词和字符。

usage: wc [-Llwcm] [FILE...]

which

在$PATH中搜索与文件名匹配的可执行文件。

usage: which [-a] filename ...

xxd

以16进制的形式显示文件内容。若没有列出任何文件,从标准输入设备复制。

usage: xxd [-eipr] [-cglos N] [file]

zcat

将文件解压缩到标准输出设备。比如“gzip -dc”。

usage: zcat [-f] [FILE...]

常见问题

[h2]报错:"Unknown COMMAND xxx"

在命令行中输入"xxx"或"toybox xxx"或"help xxx"时,如果遇到报错"Unknown COMMAND xxx",表示toybox不支持xxx命令。

如果该命令在本文的描述中,则证明产品未编译该命令。如需帮助请通过“华为开发者联盟官网”->“支持”,在线提单方式获取支持。

[h2]报错:"Operation not permitted"/"Permission denied"

toybox存在大量操作文件和进程的命令,如果调用者缺少对被操作对象的权限,就会报错。

  1. 权限缺失。请检查被操作的文件,以及所属文件夹的读、写、执行权限,确认自己是否有权限执行。
  2. SELinux拦截。可以在内核日志中搜索"avc: denied"关键字。

例子:

如果出现类似avc: denied { xxx } for comm="ls" xxxxxx的日志,表示命令ls触发了SELinux拦截。

如遇权限缺失问题,又需要执行该命令,可通过“华为开发者联盟官网”->“支持”,在线提单方式获取支持。

[h2]其他Linux标准报错

toybox大部分命令为对内核的调用,出错时会通过perror打印Linux内核错误码对应的文本。

常见的错误有:"File exists"/"Not a directory"/"Read-only file system"等。

这些为Linux标准错误,可以参考Linux相关资料查询报错原因。请根据具体报错,检查命令的参数或者命令的格式是否出现错误。

例子:

试图在只读文件系统中进行创建文件的操作,会有报错"Read-only file system"。

cat可以打印文件内容,如果试图cat一个目录,会有报错 "Is a directory"。

试图用ls命令查看一个不存在的文件或目录,会有报错"No such file or directory"。

[h2]命令与toybox描述不符合

如果发现在shell下输入"命令 参数"的表现与"toybox 命令 参数"不一致,可能有两种原因导致。

  1. 实际调用的是shell的实现而非toybox。

    对于time/test/pwd/realpath/ulimit/kill等命令,shell会直接使用自己的实现。

    此时如果想要调用toybox命令,请使用"toybox [COMMAND] [ARGUMENTS...]"的格式。

  2. 设备未将该命令配置给toybox,而是有另外的实现。

    此时如果想要调用toybox命令,请使用"toybox [COMMAND] [ARGUMENTS...]"的格式。