busybox - 参考手册、选项、命令示例


姓名

busybox BusyBox——嵌入式Linux的瑞士军刀

句法

busybox <applet> [arguments...] # or <applet> [arguments...] # if symlinked

描述

BusyBox 将许多常见 UNIX 实用程序的微型版本组合成一个小型可执行文件。它为您通常在 GNU coreutilsutil-linux 等中找到的大多数实用程序提供了极简的替代品。BusyBox 中的实用程序通常比其全功能的 GNU 具有更少的选项表兄弟姐妹;然而,其中包含的选项提供了预期的功能,并且行为与 GNU 对应选项非常相似。

BusyBox 在编写时考虑到了大小优化和有限的资源。它也非常模块化,因此您可以在编译时轻松包含或排除命令(或功能)。这使得您可以轻松定制嵌入式系统。要创建一个工作系统,只需添加 /dev、/etc 和 Linux 内核。 BusyBox 为任何小型或嵌入式系统提供了相当完整的 POSIX 环境。

BusyBox 的可配置性极强。这允许您仅包含所需的组件,从而减少二进制大小。跑步

make config

或者

make menuconfig

选择您想要启用的功能。然后运行

make

使用您的配置编译 BusyBox。

编译完成后,您应该使用“make install”来安装BusyBox。这将在 CONFIG_PREFIX 指定的目标目录中安装“bin/busybox”二进制文件。 CONFIG_PREFIX 可以在配置 BusyBox 时设置,或者您可以在安装时指定替代位置(即使用类似命令行

make CONFIG_PREFIX=/tmp/foo install

用法

BusyBox 是一个多调用二进制文件。多重调用二进制文件是一种可执行程序,它与多个实用程序执行相同的工作。这意味着只有一个 BusyBox 二进制文件,但该单个二进制文件的作用就像大量实用程序。这使得 BusyBox 变得更小,因为所有内置实用程序(我们称之为小程序)可以共享许多常见操作的代码。

您还可以通过在命令行上发出命令作为参数来调用 BusyBox。例如,输入

/bin/busybox ls

也会导致 BusyBox 表现为“ls”。

当然,在每个命令中添加“/bin/busybox”会很痛苦。因此大多数人会使用 BusyBox 二进制文件的链接来调用 BusyBox。

例如,输入

ln -s /bin/busybox ls ./ls

将导致 BusyBox 表现为“ls”(如果“ls”命令已编译到 BusyBox 中)。一般来说,您永远不需要自己创建所有这些链接,因为当您运行“make install”命令时,BusyBox 构建系统将为您完成此操作。

如果您不带参数调用 BusyBox,它将为您提供已编译到 BusyBox 二进制文件中的小程序列表。

常见选项

大多数 BusyBox 小程序支持 --help 参数来提供其行为的简洁运行时描述。如果启用了 CONFIG_FEATURE_VERBOSE_USAGE 选项,则还将提供更详细的使用信息。

命令

目前可用的小程序包括:

[, [[, acpid, adjtimex, ar, arch, arp, arping, ascii, ash, awk, base64, basename, bc, blkdiscard, 
blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod, chown, chroot, chvt, clear,
cmp, cp, cpio, crc32, cttyhack, cut, date, dc, dd, deallocvt, depmod, devmem, df, diff, dirname,
dmesg, dnsdomainname, dos2unix, du, dumpkmap, dumpleases, echo, egrep, env, expand, expr,
factor, fallocate, false, fatattr, fdisk, fgrep, find, findfs, fold, free, freeramdisk, fsfreeze, fstrim,
ftpget, ftpput, getopt, getty, grep, groups, gunzip, gzip, halt, head, hexdump, hostid, hostname,
httpd, hwclock, i2cdetect, i2cdump, i2cget, i2cset, i2ctransfer, id, ifconfig, ifdown, ifup, init,
insmod, ionice, ip, ipcalc, ipneigh, kill, killall, klogd, last, less, link, linux32, linux64, linuxrc, ln,
loadfont, loadkmap, logger, login, logname, logread, losetup, ls, lsmod, lsscsi, lzcat, lzma, lzop,
md5sum, mdev, microcom, mim, mkdir, mkdosfs, mke2fs, mkfifo, mknod, mkpasswd, mkswap,
mktemp, modinfo, modprobe, more, mount, mt, mv, nameif, nbd-client, nc, netstat, nl, nologin,
nproc, nsenter, nslookup, nuke, od, openvt, partprobe, paste, patch, pidof, ping, ping6, pivot_root,
poweroff, printf, ps, pwd, rdate, readlink, realpath, reboot, renice, reset, resume, rev, rm, rmdir,
rmmod, route, rpm, rpm2cpio, run-init, run-parts, sed, seq, setkeycodes, setpriv, setsid, sh,
sha1sum, sha256sum, sha3sum, sha512sum, shred, shuf, sleep, sort, ssl_client, start-stop-daemon,
stat, strings, stty, svc, svok, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar,
taskset, tee, telnet, test, tftp, time, timeout, top, touch, tr, traceroute, traceroute6, true, truncate, ts,
tty, ubirename, udhcpc, udhcpd, uevent, umount, uname, uncompress, unexpand, uniq, unix2dos,
unlink, unlzma, unshare, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, w, watch,
watchdog, wc, wget, which, who, whoami, xargs, xxd, xz, xzcat, yes, zcat

命令说明

acpid

acpid [-df] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE] 

监听 ACPI 事件并在事件到达时生成特定的帮助程序。

-d

记录到 stderr,而不是日志文件(隐含 -f)

-f

在前台运行

-c

DIR 配置目录 [/etc/acpi]

-e

FILE /proc 事件文件 [/proc/acpi/event]

-l FILE

日志文件[/var/log/acpid.log]

-p

FILE Pid 文件 [/var/run/acpid.pid]

-a

FILE 操作文件 [/etc/acpid.conf]

-M FILE

映射文件[/etc/acpi.map]

接受并忽略兼容性选项 -g -m -s -S -v。

adjtimex

adjtimex [-q] [-o OFS] [-f FREQ] [-p TCONST] [-t TICK]

读取或设置内核时间变量。请参阅adjtimex (2)

-q

安静的

-o OFF

时间偏移,微秒

-f FREQ

频率调整,整数内核单位(65536为1ppm)

-t TICK

每个刻度的微秒数,通常为 10000(正的 -t 或 -f 值使时钟运行得更快)

-p TCONST

ar

ar x|p|t [-ov] ARCHIVE [FILE]... 

从 ar 存档中提取或列出文件。

x

提炼

p

提取到标准输出

t

列表

-o

恢复实时时间

-v

冗长

arch

arch

打印系统架构

arp

arp [-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME] [-v] [-i IF] -d HOSTNAME [pub] [-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp] [-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub [-v] [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub

操纵 ARP 缓存。

-a

显示(所有)主机

-d

删除ARP表项

-s

设置新条目

-v

冗长

-n

不解析名称

-i IF

网络接口

-D

从 IFACE 读取 HWADDR

-A,-p AF

协议族

-H HWTYPE

硬件地址类型

arping

arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP

发送 ARP 请求/回复

-f

在第一个 ARP 回复时退出

-q

安静的

-b

继续广播,不要单播

-D

如果 DST_IP 回复,则退出并返回 1

-U

主动ARP模式,更新你的邻居

-A

ARP应答模式,更新你的邻居

-c N

发送N个ARP请求后停止

-w TIMEOUT

等待 ARP 回复的秒数

-I IFACE

使用的接口(默认eth0)

-s SRC_IP

发件人IP地址

DST_IP

目标IP地址

ash

ash [-il] [-|+Cabefmnuvx] [-|+o OPT]... [-c 'SCRIPT' [ARG0 ARGS] | FILE ARGS | -s ARGS]

Unix shell 解释器

awk

awk [OPTIONS] [AWK_PROGRAM] [FILE]...
-v VAR=VAL

设置变量

-F SEP

使用 SEP 作为字段分隔符

-f FILE

从FILE中读取程序

-e AWK_PROGRAM

base64

base64 [-d] [-w COL] [FILE]

Base64 编码或解码 FILE 到标准输出

-d

解码数据

-w COL

在 COL 处换行(默认 76,0 禁用)

basename

basename FILE [SUFFIX] | -a FILE... | -s SUFFIX FILE...

从文件中删除目录路径和后缀。

-a

所有参数都是文件

-s SUFFIX

删除后缀(隐含 -a)

bc

bc [-sqlw] [FILE]... 

任意精度计算器

-q

安静的

-l

加载标准库

-s

兼容 POSIX

-w

如果使用扩展则发出警告

$BC_LINE_LENGTH 更改输出宽度。

blkdiscard

blkdiscard [-o OFS] [-l LEN] [-s] DEVICE

丢弃设备上的扇区。

-o OFS

设备中的字节偏移量

-l LEN

要丢弃的字节数

-s

执行安全丢弃

blkid

blkid [BLOCKDEV]...

打印所有文件系统的 UUID。

blockdev

blockdev 选项 BLOCKDEV。

--setro

设定罗

--setrw

设置读写

--getro

得到罗

--getss

获取扇区大小

--getbsz

获取块大小

--setbsz BYTES

设置块大小

--getsz

获取设备大小(以 512 字节扇区为单位)

--getsize64

获取设备大小(以字节为单位)

--getra

获取 512 字节扇区的预读

--setra SECTORS

设置预读

--flushbufs

冲洗缓冲区

--rereadpt

重新读取分区表

brctl

brctl COMMAND [BRIDGE [ARGS]]

管理以太网桥命令:

addbr BRIDGE

创建桥梁

delbr BRIDGE

删除桥

addif BRIDGE IFACE

将 IFACE 添加到 BRIDGE

delif BRIDGE IFACE

从 BRIDGE 中删除 IFACE

bunzip2

bunzip2 [-cfk] [FILE]...

解压缩文件(或标准输入)。

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

bzcat

bzcat [FILE]...

解压缩到标准输出。

bzip2

bzip2 [-cfkdt123456789] [FILE]...

使用 bzip2 算法压缩文件(或标准输入)。

-1..9

压缩级别

-d

解压

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

cal

cal [-jmy] [[MONTH] YEAR]

显示日历。

-j

使用儒略日期

-m

一周从星期一开始

-y

显示全年

cat

cat [-nbvteA] [FILE]...

将文件打印到标准输出。

-n

输出线数

-b

非空行数

-v

将非打印字符显示为 ^x 或 M-x

-t

...以及制表符 ^I

-e

...并以 $结束行

-A

与-vte相同

chgrp

chgrp [-RhLHPcvf]... GROUP FILE...

将 FILE 的组成员身份更改为 GROUP。

-h

影响符号链接而不是符号链接目标

-L

遍历目录的所有符号链接

-H

仅在命令行上遍历符号链接

-P

不遍历符号链接(默认)

-R

递归

-c

列出已更改的文件

-v

冗长

-f

隐藏错误

chmod

chmod [-Rcvf] MODE[,MODE]... FILE...

MODE 是八进制数(位模式 sstrwxrwxrwx)或

[ugoa]{+|-|=}[rwxXst]
-R

递归

-c

列出已更改的文件

-v

冗长

-f

隐藏错误

chown

chown [-RhLHPcvf]... USER[:[GRP]] FILE...

将文件的所有者和/或组更改为 USER 和/或 GRP。

-h

影响符号链接而不是符号链接目标

-L

遍历目录的所有符号链接

-H

仅在命令行上遍历符号链接

-P

不遍历符号链接(默认)

-R

递归

-c

列出已更改的文件

-v

冗长

-f

隐藏错误

chroot

chroot NEWROOT [PROG ARGS]

运行 PROG,并将根目录设置为 NEWROOT。

chvt

chvt N

将前台虚拟终端更改为/dev/ttyN。

clear

clear

清晰的屏幕。

cmp

cmp [-ls] [-n NUM] FILE1 [FILE2 [SKIP1 [SKIP2]]]

将 FILE1 与 FILE2(或标准输入)进行比较。

-l

写入所有不同字节的字节数(十进制)和值(八进制)

-s

安静的

-n NUM

最多比较 NUM 个字节

cp

cp [-arPLHpfinlsTu] SOURCE DEST or: cp [-arPLHpfinlsu] SOURCE... { -t DIRECTORY | DIRECTORY }

将 SOURCE 复制到 DEST。

-a

与-dpR相同

-R,-r

递归

-d,-P

保留符号链接(如果 -R 则默认)

-L

遵循所有符号链接

-H

遵循命令行上的符号链接

-p

如果可能的话保留文件属性

-f

覆盖

-i

覆盖前提示

-n

不要覆盖

-l,-s

创建(符号)链接

-T

如果 DEST 是目录则拒绝复制

-t DIR

将所有 SOURCE 复制到 DIR 中

-u

仅复制较新的文件

cpio

cpio [-dmvu] [-F FILE] [-R USER[:GRP]] [-H newc] [-tio] [EXTR_FILE]...

从 cpio 存档中提取 (-i) 或列出 (-t) 文件,或者从 stdin 获取文件列表并创建存档 (-o) >)。

主要运行方式:

-t

列表

-i

提取 EXTR_FILEs(或全部)

-o

创建(需要-H newc)

选项:

-H newc

存档格式

-d

制作主导目录

-m

恢复实时时间

-v

冗长

-u

覆盖

-F FILE

输入(-t、-i、-p)或输出(-o)文件

-R USER[:GRP]

设置创建文件的所有者

-L

取消引用符号链接

-0

NUL 终止输入

--ignore-devno
--renumber-inodes

crc32

crc32 FILE...

计算文件的 CRC32 校验和。

cttyhack

cttyhack [PROG ARGS]

如果可能的话,给 PROG 一个控制 tty。 /etc/inittab 示例(对于 busybox init):

::respawn:/bin/cttyhack /bin/sh 

将控制 tty 赋予以 PID 1 运行的 shell:

exec cttyhack sh

从启动 shell 脚本启动交互式 shell:

setsid cttyhack sh

cut

cut [OPTIONS] [FILE]...

将文件中的选定字段打印到标准输出。

-b LIST

仅输出 LIST 中的字节

-c LIST

仅输出 LIST 中的字符

-d SEP

输入的字段分隔符(默认 -f TAB、-F 连续空格)

-O SEP

输出的字段分隔符(默认=-d 表示 -f,一个空格表示 -F)

-D

不要对部分进行排序/整理或匹配没有分隔符的 -fF 行

-f LIST

仅打印这些字段(-d 是单个字符)

-F LIST

仅打印这些字段(-d 是正则表达式)

-s

仅输出包含分隔符的行

-n

被忽略

date

date [OPTIONS] [+FMT] [[-s] TIME]

显示时间(使用+FMT),或设置时间。

-u

使用 UTC 时间(不转换为当地时间)

[-s] TIME

将时间设置为 TIME

-d TIME

显示时间,而不是现在

-D FMT

FMT(strptime 格式)用于 -s/-d TIME 转换

-r FILE

显示FILE的最后修改时间

-R

输出 RFC-2822 日期

-I[SPEC]

输出 ISO-8601 日期 SPEC=日期(默认)、小时、分钟、秒或纳秒

可识别的 TIME 格式:

                   @seconds_since_1970
                   hh:mm[:ss]
                   [YYYY.]MM.DD-hh:mm[:ss]
                   YYYY-MM-DD hh:mm[:ss]
                   [[[[[YY]YY]MM]DD]hh]mm[.ss]
date TIME

表格接受

MMDDhhmm[[YY]YY][.ss] 

反而。

dc

dc [-x] [-eSCRIPT]... [-fFILE]... [FILE]...

微型 RPN 计算器。

操作:

+ - * / % ^

算术

~

除以余数

|

模幂

v

平方根

p

打印堆栈顶部而不弹出

f

打印整个堆栈

k

弹出值并设置精度

i

弹出值并设置输入基数

o

弹出值并设置输出基数

例子:

dc -e'2 2 + p' -> 4
dc -e'8 8 * 2 2 + / p' -> 16

dd

dd [if=FILE] [of=FILE] [ibs=N obs=N/bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|noerror|sync|fsync] [iflag=skip_bytes|count_bytes|fullblock|direct] [oflag=seek_bytes|append|direct]

通过转换和格式化复制文件。

if=FILE

从 FILE 而不是 stdin 读取

of=FILE

写入文件而不是标准输出

bs=N

一次读写N个字节

ibs=N

一次读取N个字节

obs=N

一次写入N个字节

count=N

仅复制 N 个输入块

skip=N

跳过 N 个输入块

seek=N

跳过N个输出块

conv=notrunc

不要截断输出文件

conv=noerror

读取错误后继续

conv=sync

用零填充块

conv=fsync

完成之前将数据物理写出

conv=swab

交换每对字节

iflag=skip_bytes

Skip=N 以字节为单位

iflag=count_bytes

count=N 以字节为单位

oflag=seek_bytes

eek=N 以字节为单位

iflag=direct

O_DIRECT 输入

oflag=direct

O_DIRECT 输出

iflag=fullblock

读取完整块

oflag=append

以附加模式打开输出

status=noxfer

抑制率输出

status=none

抑制所有输出

N 可能带有后缀

c (1), w (2), b (512), kB (1000), k (1024), MB, M, GB, G

deallocvt

deallocvt [N]

释放未使用的虚拟终端 /dev/ttyN

depmod

depmod [-n] [-b BASE] [VERSION] [MODFILES]...

生成modules.dep、别名和符号文件。

-b BASE

使用 BASE/lib/modules/VERSION

-n

试运行:将文件打印到标准输出

devmem

devmem ADDRESS [WIDTH [VALUE]]

从物理地址读/写。

ADDRESS

采取行动的地址

WIDTH

宽度(8/16/...)

VALUE

待写入数据

df

df [-PkmhTai] [-B SIZE] [-t TYPE] [FILESYSTEM]...

打印文件系统使用统计信息。

-P

POSIX 输出格式

-k

1024 字节块(默认)

-m

1M字节块

-h

人类可读(例如 1K 243M 2G)

-T

打印文件系统类型

-t TYPE

仅打印此类型的安装件

-a

显示所有文件系统

-i

索引节点

-B SIZE

块大小

diff

diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2

逐行比较文件并输出它们之间的差异。此实现仅支持统一差异。

-a

将所有文件视为文本

-b

忽略空白量的变化

-B

忽略行全为空白的更改

-d

努力寻找较小的一组更改

-i

忽略大小写差异

-L

使用 LABEL 代替统一标头中的文件名

-N

将不存在的文件视为空文件

-q

仅输出文件是否不同

-r

递归

-S

比较目录时从 FILE 开始

-T

必要时通过给选项卡添加前缀来使选项卡对齐

-s

当两个文件相同时报告

-t

将输出中的制表符扩展到空格

-U

输出 LINES 行上下文

-w

忽略所有空格

dirname

dirname FILENAME

从 FILENAME 中去除非目录后缀。

dmesg

dmesg [-cr] [-n LEVEL] [-s SIZE]

打印或控制内核环缓冲区。

-c

打印后清除环形缓冲区

-n LEVEL

设置控制台日志记录级别

-s SIZE

缓冲区大小

-r

打印原始消息缓冲区

dos2unix

dos2unix [-ud] [FILE]

将 FILE 就地从 DOS 格式转换为 Unix 格式。当没有给出文件时,使用 stdin/stdout。

-u

DOS2UNIX

-d

UNIX2DOS

du

du [-aHLdclsxhmk] [FILE]...

总结用于文件(或目录)的磁盘空间。

-a

也显示文件大小

-b

外观尺寸(含孔)

-L

遵循所有符号链接

-H

遵循命令行上的符号链接

-d N

将输出限制为深度 < N 的目录(以及带 -a 的文件)

-c

显示总计

-l

如果硬链接,则多次计算大小

-s

仅显示每个参数的总计

-x

跳过不同文件系统上的目录

-h

人类可读格式的大小(例如,1K 243M 2G)

-m

大小(以兆字节为单位)

-k

大小以千字节为单位(默认)

dumpkmap

dumpkmap > keymap

将二进制键盘转换表打印到标准输出。

dumpleases

dumpleases [-r|-a] [-d] [-f LEASEFILE]

显示 udhcpd 授予的 DHCP 租约。

-f FILE

租赁文件

-r

显示剩余时间

-a

显示过期时间

-d

显示时间(以秒为单位)

echo

echo [-neE] [ARG]...

将 ARG 打印到标准输出。

-n

没有尾随换行符

-e

解释反斜杠转义(\t=制表符等)

-E

不解释反斜杠转义(默认)

env

env [-i0] [-u NAME]... [-] [NAME=VALUE]... [PROG ARGS]

设置环境后打印当前环境或运行PROG。

-, -i

从空环境开始

-0

NUL 终止输出

-u NAME

从环境中删除变量

expand

expand [-i] [-t N] [FILE]...

将制表符转换为空格,写入标准输出。

-i

非空格后不转换制表符

-t

每 N 个字符停止一个制表符

expr

expr EXPRESSION

打印表达式的值。

表达式可以是:

ARG1 | ARG2

如果既不为 null 也不为 0,则为 ARG1,否则为 ARG2

ARG1 & ARG2

如果两个参数都不为 null 或 0,则为 ARG1,否则为 0

ARG1 < ARG2

如果 ARG1 小于 ARG2,则为 1,否则为 0。同样:

ARG1 <= ARG2
ARG1 = ARG2
ARG1 != ARG2
ARG1 >= ARG2
ARG1 > ARG2
ARG1 + ARG2

ARG1 和 ARG2 之和。相似地:

ARG1 - ARG2
ARG1 * ARG2
ARG1 / ARG2
ARG1 % ARG2
STRING : REGEXP

STRING 中 REGEXP 的锚定模式匹配

match STRING REGEXP

STRING:REGEXP相同

substr STRING POS LEN

STRING的子串,POS从1开始计数

index STRING CHARS

STRING 中找到任何 CHARS 的索引,或 0

length STRING

STRING 的长度

quote TOKEN

将 TOKEN 解释为字符串,即使它是 match 等关键字或 / 等运算符

(EXPRESSION)

表达的价值

请注意,对于 shell,许多运算符需要转义或引用。如果两个 ARG 都是数字,则比较是算术比较,否则按字典顺序比较。模式匹配返回 \( 和 \) 之间匹配的字符串或 null;如果不使用 \( 和 \),则返回匹配的字符数或 0。

factor

factor [NUMBER]...

打印素因数。

fallocate

fallocate [-o OFS] -l LEN FILE

为 FILE 预分配空间。

-o OFS

范围偏移

-l LEN

范围长度

fatattr

fatattr [-+rhsvda] FILE...

更改 FAT 文件系统上的文件属性。

-

清除属性

+

设置属性

r

只读

h

s

系统

v

体积标识

d

目录

a

档案

fdisk

fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK

更改分区表。

-u

开始和结束位于扇区(而不是柱面)

-l

显示每个磁盘的分区表,然后退出

-b 2048

(对于某些 MO 磁盘)使用 2048 字节扇区

-C CYLINDERS

设置柱面数/磁头数/扇区数

-H HEADS

通常为 255

-S SECTORS

通常为 63

find

find [-HL] [PATH]... [OPTIONS] [ACTIONS]

搜索文件并对它们执行操作。第一个失败的操作将停止当前文件的处理。默认值:PATH 是当前目录,操作是-print

-L,-follow

跟随符号链接

-H

...仅在命令行上

-xdev

不要降级其他文件系统上的目录

-maxdepth N

最多下降 N 层。 -maxdepth 0 仅将操作应用于命令行参数

-mindepth N

不要在前 N 个级别上执行操作

-depth

*遍历目录*之后*对目录进行操作

行动:

( ACTIONS )

-o/-a 的组操作

! ACT

反转 ACT 成功/失败

ACT1 [-a] ACT2

如果 ACT1 失败,停止,否则执行 ACT2

ACT1 -o ACT2

如果 ACT1 成功,则停止,否则执行 ACT2 注意:-a 的优先级高于 -o

-name PATTERN

将文件名(不带目录名)与模式匹配

-iname PATTERN

不区分大小写-名称

-path PATTERN

匹配 PATTERN 的路径

-ipath PATTERN

不区分大小写-path

-regex PATTERN

匹配正则表达式 PATTERN 的路径

-type X

文件类型为 X(以下之一:f、d、l、b、c、s、p)

-executable

文件可执行

-perm MASK

在文件模式下设置至少一个掩码位 (+MASK)、所有位 (-MASK) 或恰好 MASK 位

-mtime DAYS

mtime 大于 (+N)、小于 (-N) 或正好是过去 N 天

-atime DAYS

atime 过去 +N/-N/N 天

-ctime DAYS

ctime +N/-N/N 天过去

-mmin MINS

mtime 大于 (+N)、小于 (-N) 或恰好是过去 N 分钟

-amin MINS

atime 过去 +N/-N/N 分钟

-cmin MINS

ctime +N/-N/N 分钟过去

-newer FILE

mtime 比 FILE 更新

-inum N

文件的索引节点号为 N

-samefile FILE

文件与 FILE 相同

-user NAME/ID

文件归给定用户所有

-group NAME/ID

文件归给定组所有

-size N[bck]

文件大小为 N (c:bytes,k:kbytes,b:512 bytes(def.)) +/-N:文件大小大于/小于 N

-links N

链接数大于 (+N)、小于 (-N) 或正好 N

-empty

匹配空文件/目录

-prune

如果当前文件是目录,则不要进入该目录 如果未指定以下任何操作,则假定为 -print

-print

打印文件名

-print0

打印文件名,NUL 终止

-exec CMD ARG ;

运行 CMD,并将所有 {} 实例替换为文件名。如果 CMD 以非零值退出则失败

-exec CMD ARG +

运行 CMD,并将 {} 替换为文件名列表

-quit

出口

findfs

findfs LABEL=label or UUID=uuid

根据标签或 UUID 查找文件系统设备。

fold

fold [-bs] [-w WIDTH] [FILE]...

将输入行包装在文件(或标准输入)中,写入标准输出。

-b

计算字节数而不是列数

-s

在空格处中断

-w

使用 WIDTH 列而不是 80

free

free [-bkmgh]

显示可用和已用内存。

freeramdisk

freeramdisk DEVICE

释放指定 ramdisk 使用的所有内存。

fsfreeze

fsfreeze --[un]freeze MOUNTPOINT

刷新并停止写入 MOUNTPOINT。

fstrim

fstrim [OPTIONS] MOUNTPOINT
-o OFFSET

要丢弃的偏移量(以字节为单位)

-l LEN

要丢弃的字节数

-m MIN

最小范围长度

-v

打印丢弃的字节数

ftpget

ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE

通过 FTP 下载文件。

-c

继续之前的传输

-v

冗长

-u USER

用户名

-p PASS

密码

-P PORT

ftpput

ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE

将文件上传到 FTP 服务器。

-v

冗长

-u USER

用户名

-p PASS

密码

-P PORT

getopt

getopt [OPTIONS] [--] OPTSTRING PARAMS
-a

允许以单个 - 开头的长选项

-l LOPT[,...]

识别的长选项

-n PROGNAME

报告错误的名称

-o OPTSTRING

识别的简短选项

-q

无法识别的选项没有错误消息

-Q

无正常输出

-s SHELL

设置 shell 引用约定

-T

版本测试(以4退出)

-u

不要引用输出

例子:

do  
	case "$1" in 
		-a)  
			echo A; shift;;     
		-b|--bb) 
			echo "B:'$2'"; 	shift 2;;      
		-c)  
			case "$2" in
				"")  
					echo C; shift 2;;
				*)   
					echo "C:'$2'"; shift 2;;           
			esac;;
		--)  
			shift; break;;
		*)   
			echo Error; exit 1;;     
	esac           
done

getty

getty [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]

打开 TTY,提示输入登录名,然后调用 /bin/login

-h

启用硬件 RTS/CTS 流控制

-L

设置CLOCAL(忽略载波检测状态)

-m

从调制解调器获取波特率 CONNECT 状态消息

-n

不提示输入登录名

-w

发送 /etc/issue 之前等待 CR 或 LF

-i

不显示/etc/issue

-f ISSUE_FILE

显示 ISSUE_FILE 而不是 /etc/issue

-l LOGIN

调用 LOGIN 而不是 /bin/login

-t SEC

如果未读取到登录名,则在 SEC 后终止

-I INITSTR

先发送 INITSTR

-H HOST

将 HOST 作为主机名登录到 utmp 文件中

BAUD_RATE 为 0 使其保持不变。

grep

grep [-HhnlLoqvsrRiwFEz] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...

在文件(或标准输入)中搜索模式。

-H

添加“文件名:”前缀

-h

不要添加“文件名:”前缀

-n

添加“line_no:”前缀

-l

仅显示匹配的文件名

-L

仅显示不匹配的文件名

-c

仅显示匹配行数

-o

仅显示行的匹配部分

-q

安静的。如果找到 PATTERN,则返回 0,否则返回 1

-v

选择不匹配的行

-s

抑制打开和读取错误

-r

递归

-R

递归和取消引用符号链接

-i

忽略大小写

-w

仅匹配整个单词

-x

仅匹配整行

-F

PATTERN 是一个文字(不是正则表达式)

-E

PATTERN 是一个扩展的正则表达式

-z

NUL 终止输入

-m N

每个文件最多匹配 N 次

-A N

打印 N 行尾随上下文

-B N

打印 N 行主要上下文

-C N

与“-A N -B N”相同

-e PTRN

要匹配的模式

-f FILE

从文件中读取模式

groups

groups [USER]

打印 USER 所在的组。

gunzip

gunzip [-cfkt] [FILE]...

解压缩文件(或标准输入)。

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

gzip

gzip [-cfkdt] [FILE]...

压缩文件(或标准输入)。

-d

解压

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

halt

halt [-d DELAY] [-nfw]

停止系统。

-d

SEC 延迟间隔

-n

不要同步

-f

强制(不经过初始化)

-w

只写一条wtmp记录

head

head [OPTIONS] [FILE]...

打印文件(或标准输入)的前 10 行。如果有多个文件,请在每个文件前面添加一个文件名标头。

-n N[bkm]

打印前 N 行

-n -N[bkm]

打印除最后 N 行之外的所有内容

-c [-]N[bkm]

打印前 N 个字节 (b:*512 k:*1024 m:*1024^2)

-q

切勿打印标题

-v

始终打印标题

hexdump

hexdump [-bcdoxCv] [-e FMT] [-f FMT_FILE] [-n LEN] [-s OFS] [FILE]...

以用户指定的格式显示文件(或标准输入)。

-b

1字节八进制显示

-c

1字节字符显示

-d

2字节十进制显示

-o

2字节八进制显示

-x

2字节十六进制显示

-C

hex+ASCII 每行 16 个字节

-v

显示全部(无双折叠)

-e FORMAT_STR

例子:

16/1 "%02x|""\n"
-f FORMAT_FILE
-n LENGTH

仅显示前 LENGTH 字节

-s OFFSET

跳过 OFFSET 字节

hostid

hostid

打印出机器的唯一 32 位标识符。

hostname

hostname [-sidf] [HOSTNAME | -F FILE]

显示或设置主机名或 DNS 域名。

-s

短的

-i

主机名的地址

-d

DNS域名

-f

完全合格的域名

-F FILE

使用文件内容作为主机名

httpd

httpd [-ifv[v]] [-c CONFFILE] [-p [IP:]PORT] [-u USER[:GRP]] [-r REALM] [-h HOME] or httpd -d/-e/-m STRING

侦听传入的 HTTP 请求。

-i

网络模式

-f

在前台运行

-v[v]

冗长

-p [IP:]PORT

绑定到IP:端口(默认*:80)

-u USER[:GRP]

绑定端口后设置uid/gid

-r REALM

基本身份验证的身份验证领域

-h HOME

主目录(默认。)

-c FILE

配置文件(默认{/etc,HOME}/httpd.conf)

-m STRING

MD5 加密 STRING

-e STRING

HTML 编码 STRING

-d STRING

URL 解码 STRING

hwclock

hwclock [-swul] [--systz] [-f DEV]

显示或设置硬件时钟 (RTC)。

-s

从 RTC 设置系统时间

-w

根据系统时间设置 RTC

--systz

设置内核时区,如果 RTC 保持为本地时间,则更正系统时间

-f DEV

使用指定设备(例如/dev/rtc2)

-u

假设 RTC 保存为 UTC

-l

假设 RTC 保持为本地时间(如果两者均未给出,则从 /etc/adjtime 读取)

i2cdetect

i2cdetect -l | -F I2CBUS | [-ya] [-q|-r] I2CBUS [FIRST LAST]

检测I2C芯片。

-l

列出已安装的总线

-F BUS#

列出该总线上的功能

-y

禁用交互模式

-a

强制扫描非常规地址

-q

使用 smbus 快速写入命令进行探测(默认)

-r

使用 smbus 读取字节命令来探测 FIRST 和 LAST 限制探测范围

i2cdump

i2cdump [-fy] [-r FIRST-LAST] BUS ADDR [MODE]

检查 I2C 寄存器

                   I2CBUS  I2C bus number
                   ADDRESS 0x03-0x77

模式是:

b

字节(默认)

w

单词

W

偶数寄存器地址上的字

i

I2C 块

s

SMBus块

c

连续字节。为 SMBus PEC 添加 p

-f

强制访问

-y

禁用交互模式

-r

限制正在访问的寄存器数量

i2cget

i2cget [-fy] BUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]

从 I2C/SMBus 芯片寄存器读取

                   I2CBUS  I2C bus number
                   ADDRESS 0x03-0x77

模式是:

b

读取字节数据(默认)

w

读取字数据

c

写入字节/读取字节。为 SMBus PEC 添加 p

-f

强制访问

-y

禁用交互模式

i2cset

i2cset [-fy] [-m MASK] BUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]

设置I2C寄存器

                   I2CBUS  I2C bus number
                   ADDRESS 0x03-0x77

模式是:

c

字节,无值

b

字节数据(默认)

w

字数据

i

I2C 块数据

s

SMBus 块数据。为 SMBus PEC 添加 p

-f

强制访问

-y

禁用交互模式

-r

读回并比较结果

-m

MASK 指定要写入哪些位的掩码

i2ctransfer

i2ctransfer [-fay] I2CBUS { rLENGTH[@ADDR] | wLENGTH[@ADDR] DATA...}...

在一次传输中读/写 I2C 数据。

-f

强制访问繁忙地址

-a

强制访问非常规地址

-y

禁用交互模式

id

id [-ugGnr] [USER]

打印有关 USER 或当前用户的信息。

-u

用户身份

-g

组号

-G

补充组 ID

-n

打印姓名而不是数字

-r

打印真实身份证件而非有效身份证件

ifconfig

ifconfig [-a] [IFACE] [ADDRESS] Configure a network interface [add ADDRESS[/PREFIXLEN]] [del ADDRESS[/PREFIXLEN]] [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]] [netmask ADDRESS] [dstaddr ADDRESS] [outfill NN] [keepalive NN] [hw ether|infiniband ADDRESS] [metric NN] [mtu NN] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic] [mem_start NN] [io_addr NN] [irq NN] [up|down] ...

ifdown

ifdown [-nvf] [-i FILE] -a | IFACE...
-a

取消配置所有接口

-i FILE

使用 FILE 而不是 /etc/network/interfaces

-n

试运行

-v

在做这件事之前打印出会发生什么

-f

力量

ifup

ifup [-nvf] [-i FILE] -a | IFACE...
-a

配置所有接口

-i FILE

使用 FILE 而不是 /etc/network/interfaces

-n

试运行

-v

在做这件事之前打印出会发生什么

-f

力量

init

init

Init 是引导期间启动的第一个进程。它永远不会退出。它根据/etc/inittab(重新)生成子级。信号:

HUP

重新加载/etc/inittab

TSTP

停止重生直到

CONT QUIT

重新执行另一个 init

USR1/TERM/USR2/INT

运行暂停/重新启动/关机/Ctrl-Alt-Del 脚本

insmod

insmod FILE [SYMBOL=VALUE]...

加载内核模块。

ionice

ionice [-c 1-3] [-n 0-7] [-t] { -p PID | PROG ARGS }

更改 I/O 优先级和类别。

-c N

班级。 1:实时 2:尽力而为 3:空闲

-n N

优先事项

-t

忽略错误

ip

ip [OPTIONS] address|route|link|tunnel|neigh|rule [ARGS]

where  OPTIONS := -f[amily] inet|inet6|link | -o[neline] 

ip addr add|del IFADDR dev IFACE | show|flush [dev IFACE] [to PREFIX] 
ip route list|flush|add|del|change|append|replace|test ROUTE 
ip link set IFACE [up|down] [arp on|off] [multicast on|off] [promisc on|off] [mtu NUM] [name NAME] [qlen NUM] [address MAC] [master IFACE | nomaster] [netns PID] 
ip tunnel add|change|del|show [NAME] [mode ipip|gre|sit] [remote ADDR] [local ADDR] [ttl TTL] 
ip neigh show|flush [to PREFIX] [dev DEV] [nud STATE] 
ip rule [list] | add|del SELECTOR ACTION

ipcalc

ipcalc [-bnmphs] ADDRESS[/PREFIX] [NETMASK]

根据 IP 地址计算并显示网络设置。

-b

广播地址

-n

网络地址

-m

IP 的默认网络掩码

-p

IP/网络掩码的前缀

-h

解析的主机名

-s

没有错误消息

ipneigh

ipneigh show|flush [to PREFIX] [dev DEV] [nud STATE]

kill

kill [-l] [-SIG] PID...

向给定的 PID 发送信号(默认:TERM)。

-l

列出所有信号名称和编号

killall

killall [-lq] [-SIG] PROCESS_NAME...

向给定进程发送信号(默认:TERM)。

-l

列出所有信号名称和编号

-q

如果没有进程被杀死,不要抱怨

klogd

klogd [-c N] [-n]

将内核消息记录到系统日志。

-c N

打印到控制台消息比 prio N (1-8) 更紧急

-n

在前台运行

last

last

显示最后登录系统的用户的列表。

less

less [-EFIMmNSRh~] [FILE]...

一次查看一屏文件(或标准输入)。

-E

到达文件末尾后退出

-F

如果整个文件适合第一个屏幕则退出

-I

在所有搜索中忽略大小写

-M,-m

显示状态行以及文件中的行号和百分比

-N

每行添加行号前缀

-S

截断长行

-R

删除输入中的颜色转义代码

-~

禁止显示 EOF 之后的 ~s

link

link FILE LINK

创建到文件的硬链接。

ln

ln [-sfnbtv] [-S SUF] TARGET... LINK|DIR

创建到指定目标的链接 LINK 或 DIR/TARGET。

-s

创建符号链接而不是硬链接

-f

删除现有目的地

-n

不要取消引用符号链接 - 像普通文件一样对待

-b

在链接操作之前备份目标(如果存在)

-S SUF

制作备份文件时使用后缀而不是~

-T

将 LINK 视为文件,而不是 DIR

-v

冗长

loadfont

loadfont < font

从标准输入加载控制台字体。

loadkmap

loadkmap < keymap

从标准输入加载二进制键盘转换表。

logger

logger [-s] [-t TAG] [-p PRIO] [MESSAGE]

将 MESSAGE(或标准输入)写入系统日志。

-s

记录到 stderr 以及系统日志

-t TAG

使用指定标签登录(默认为用户名)

-p PRIO

优先级(数字或 FACILITY.LEVEL 对)

login

login [-p] [-h HOST] [[-f] USER]

在系统上开始新会话。

-f

不进行身份验证(用户已通过身份验证)

-h HOST

主机用户来自(用于网络登录)

-p

保护环境

$LOGIN_TIMEOUT

秒(默认 60、0 — 禁用)

logname

logname

打印当前用户的名称。

logread

logread [-fF]

显示 syslogd 循环缓冲区中的消息。

-f

随着日志增长输出数据

-F

与 -f 相同,但首先转储缓冲区

losetup

关联循环设备:

losetup [-rP] [-o OFS] {-f|LOOPDEV} FILE

重读文件大小:

losetup -c LOOPDEV

解除关联:

losetup -d LOOPDEV

显示状态:

losetup -a

显示下一个空闲循环设备:

losetup -f
-o OFS

起始 OFS 字节进入 FILE

-P

扫描分区

-r

只读

-f

显示/使用下一个空闲循环设备

ls

ls [-1AaCxdLHRFplinshrSXvctu] [-w WIDTH] [FILE]...

列出目录内容。

-1

一列输出

-a

包括以 . 开头的名称。

-A

与 -a 类似,但排除 .和 ..

-x

按行列出

-d

列出目录名称,而不是内容

-L

跟随符号链接

-H

遵循命令行上的符号链接

-R

递归

-p

将/附加到目录名称

-F

将指示符(*/=@| 之一)附加到名称

-l

长格式

-i

列出索引节点号

-n

列出数字 UID 和 GID 而不是名称

-s

列出分配的块

-lc

列出ctime

-lu

列出时间

--full-time

列出完整的日期/时间

-h

人类可读的大小(1K 243M 2G)

--group-directories-first
-S

按尺寸排序

-X

按扩展名排序

-v

按版本排序

-t

按时间排序

-tc

按时间排序

-tu

按时间排序

-r

反转排序顺序

-w N

设置 N 列宽

--color[={always,never,auto}]

lsmod

lsmod

列出加载的内核模块。

lzcat

lzcat [FILE]...

解压缩到标准输出。

lzma

lzma -d [-cfk] [FILE]...

解压缩文件(或标准输入)。

-d

解压

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

lzop

lzop [-cfUvd123456789CF] [FILE]...
-1..9

压缩级别

-d

解压

-c

写入标准输出

-f

力量

-U

删除输入文件

-v

冗长

-F

不存储或验证校验和

-C

同时写入压缩块的校验和

md5sum

md5sum [-c[sw]] [FILE]...

打印或检查 MD5 校验和。

-c

根据文件中的列表检查总和

-s

不输出任何内容,状态码显示成功

-w

警告校验和行格式不正确

mdev

mdev [-vS] { [-s] | [-df] }
-v

冗长

-S

也记录到系统日志

-s

扫描 /sys 并填充 /dev

-d

守护进程,监听 netlink

-f

在前台运行

Bare mdev 是一个内核热插拔助手。要激活它:

echo /sbin/mdev >/proc/sys/kernel/hotplug

它使用 /etc/mdev.conf 和行

[-][ENV=regex;]…DEVNAME UID:GID 
PERM [>|=PATH]|[!] [@|$|*PROG]

其中 DEVNAME 是设备名称正则表达式、@major、minor[-minor2] 或环境变量正则表达式。

后者的常见用途是为热插拔设备加载模块:

$MODALIAS=.* 0:0 660 @modprobe "$MODALIAS"

如果/dev/mdev.seq文件存在,mdev将等待其值与$SEQNUM变量匹配。这可以防止插拔竞争。要激活此功能,请在启动时创建空的 /dev/mdev.seq。

如果 /dev/mdev.log 文件存在,调试日志将附加到该文件。

microcom

microcom [-d DELAY_MS] [-t TIMEOUT_MS ] [-s SPEED] [-X] TTY

将字节从 stdin 复制到 TTY,然后从 TTY 复制到 stdout。

-d DELAY

在将每个下一个字节发送给 TTY 输出之前,请等待 DELAY 毫秒

-t TIMEOUT

如果 stdin 和 TTY 都静默 TIMEOUT 毫秒,则退出

-s SPEED

将串行线设置为 SPEED

-X

从 stdin 禁用 NUL 和 Ctrl-X 的特殊含义

mim

mim [-f FILE] [SHELL_OPTIONS] [TARGET] ...

从类似 Makefile 的规范文件运行脚本

-f FILE

Spec 文件(默认 Mimfile)

mkdir

mkdir [-m MODE] [-p] DIRECTORY...

创建目录。

-m MODE

模式

-p

如果存在则不报错;根据需要创建父目录

mkdosfs

mkdosfs [-v] [-n LABEL] BLOCKDEV [KBYTES]

创建 FAT32 文件系统。

-v

冗长

-n LBL

体积标识

mke2fs

mke2fs [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
-b BLK_SIZE

块大小,字节

-F

力量

-i RATIO

最大文件数为 filesystem_size/RATIO

-I BYTES

索引节点大小(最小 128)

-L LBL

体积标识

-m PERCENT

为管理员保留的块的百分比

-n

试运行

mkfifo

mkfifo [-m MODE] NAME

创建命名管道

-m MODE

模式(默认a=rw)

mknod

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

创建特殊文件(块、字符或管道)

-m MODE

创建模式(默认a=rw)

类型:

b

块设备

c or u

字符设备

p

命名管道(MAJOR MINOR 必须省略)

mkpasswd

mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT]

打印crypt (3) 哈希密码。

-P N

从 fd N 读取密码

-m TYPE

des、md5、sha256/512(默认)

-S SALT

mkswap

mkswap [-L LBL] BLOCKDEV [KBYTES]

准备 BLOCKDEV 用作交换分区。

-L LBL

标签

mktemp

mktemp [-dt] [-p DIR] [TEMPLATE]

创建一个临时文件,其名称基于 TEMPLATE 并打印其名称。 TEMPLATE 必须以 XXXXXX 结尾(例如 [/dir/]nameXXXXXX)。如果没有 TEMPLATE,则假定为 -t tmp.XXXXXX。

-d

创建目录,而不是文件

-q

出现错误时静默失败

-t

将基本目录名称添加到 TEMPLATE 前面

-p DIR

使用 DIR 作为基目录(隐含 -t)

-u

不要创造任何东西;打印名称 基本目录为:-p DIR, else $TMPDIR, else /tmp

modinfo

modinfo [-adlpn0] [-F keyword] MODULE
-a

“-F 作者”的快捷方式

-d

“-F 描述”的快捷方式

-l

“-F 许可证”的快捷方式

-p

“-F parm”的快捷方式

-F keyword

要寻找的关键字

-0

NUL 终止输出

modprobe

modprobe [-alrqvsDb] MODULE [SYMBOL=VALUE]...
-a

加载多个模块

-l

列表(MODULE 是一种模式)

-r

删除模块(堆栈)或进行自动清洁

-q

安静的

-v

冗长

-s

记录到系统日志

-D

显示依赖关系

-b

也将黑名单应用于模块名称

more

more [FILE]...

一次查看一屏文件(或标准输入)。

mount

mount [OPTIONS] [-o OPT] DEVICE NODE

挂载文件系统。文件系统自动检测需要 /proc。

-a

在 fstab 中挂载所有文件系统

-f

试运行

-i

不要运行挂载助手

-r

只读挂载

-t FSTYPE[,...]

文件系统类型

-T FILE

读取 FILE 而不是 /etc/fstab

-O OPT

仅使用选项 OPT 挂载文件系统(仅限 -a)

有特定于文件系统的 -o 标志。 -o OPT 选项可以是:

loop

忽略(自动检测循环设备)

[a]sync

写入是同步的

[no]atime

禁用/启用 inode 访问时间更新

[no]diratime

禁用/启用目录的 atime 更新

[no]relatime

禁用/启用相对于 modific$的 atime 更新

[no]dev

(禁止)允许使用特殊设备文件

[no]exec

(禁止)允许使用可执行文件

[no]suid

(禁止)允许设置用户 ID 根程序

[r]shared

[递归地]转换为共享子树

[r]slave

[递归地]转换为从属子树

[r]private

[递归地]转换为私有子树

[un]bindable

使安装点能够绑定安装

[r]bind

将文件或目录[递归地]绑定到另一个$

move

重新定位现有挂载点

remount

重新挂载已挂载的文件系统,更改标志

ro

与-r相同

mt

mt [-f DEVICE] OPCODE VALUE

控制磁带驱动器的操作

操作码:

bsf bsfm bsr bss datacompression drvbuffer eof eom erase fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2 ras3 reset retension rewind rewoffline seek setblk setdensity setpart tell unload unlock weof wset

mv

mv [-finT] SOURCE DEST or: mv [-fin] SOURCE... { -t DIRECTORY | DIRECTORY }

将 SOURCE 重命名为 DEST,或将 SOURCE 移动到 DIRECTORY。

-f

覆盖前不提示

-i

交互式,覆盖前提示

-n

不要覆盖现有文件

-T

如果 DEST 是目录则拒绝移动

-t DIR

将所有 SOURCE 移至 DIR

nameif

nameif [-s] [-c FILE] [IFNAME HWADDR]...

当网络接口处于关闭状态时重命名它。地址为 HWADDR 的设备被重命名为 IFNAME。

-c FILE

配置文件(默认:/etc/mactab

-s

记录到系统日志

nbd-client

nbd-client { [-b BLKSIZE] [-N NAME] [-t SEC] [-p] HOST [PORT] | -d } BLOCKDEV

连接到HOST并在BLOCKDEV上提供网络块设备。

nc

nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

打开到 IP:PORT 或 FILE 的管道。

-l

侦听模式,用于入站连接(对于持久服务器,使用 -ll 和 -e)

-p PORT

本地端口

-w SEC

连接超时

-i SEC

发送线路的延迟间隔

-f FILE

使用文件(ala /dev/ttyS0)而不是网络

-e PROG

连接后运行PROG

netstat

netstat [-ral] [-tuwx] [-en]

显示网络信息。

-r

路由表

-a

所有插座

-l

监听套接字。其他:连接的套接字

-t

TCP 套接字

-u

UDP 套接字

-w

原始套接字

-x

Unix 套接字。其他:所有套接字类型

-e

其他/更多信息

-n

不解析名称

nl

nl [OPTIONS] [FILE]...

将文件写入标准输出并添加行号。

-b STYLE

要编号的行 - a:全部,t:非空,n:无

-i N

行号增量

-s STRING

使用 STRING 作为行号分隔符

-v N

从N开始

-w N

行号宽度

nologin

nologin

礼貌地拒绝登录

nproc

nproc [--all] [--ignore=N]

打印可用 CPU 的数量。

--all

安装的CPU数量

--ignore=N

排除N个CPU

nsenter

nsenter [OPTIONS] [PROG ARGS]
-t PID

从中获取命名空间的目标进程

-m[FILE]

输入挂载命名空间

-u[FILE]

输入 UTS 命名空间(主机名等)

-i[FILE]

进入 System V IPC 命名空间

-n[FILE]

输入网络命名空间

-p[FILE]

输入 pid 命名空间

-U[FILE]

输入用户命名空间

-S UID

在输入的命名空间中设置 uid

-G GID

在输入的命名空间中设置 gid

--preserve-credentials

不要碰 uids 或 gids

-r[DIR]

设置根目录

-w[DIR]

设置工作目录

-F

在执行 PROG 之前不要 fork

nslookup

nslookup [-type=QUERY_TYPE] [-debug] HOST [DNS_SERVER]

查询HOST的DNS。查询类型:

soa,ns,a,aaaa,cname,mx,txt,ptr,srv,any

nuke

nuke DIR...

删除 DIR。

od

od [-abcdfhilovxs] [-t TYPE] [-A RADIX] [-N SIZE] [-j SKIP] [-S MINSTR] [-w WIDTH] [FILE]...

明确打印文件(或标准输入),默认为八进制字节。

openvt

openvt [-c N] [-sw] [PROG ARGS]

在新的虚拟终端上启动 PROG

-c N

使用指定的VT

-s

切换到VT

-w

等待PROG退出

partprobe

partprobe DEVICE...

要求内核重新扫描分区表。

paste

paste [-d LIST] [-s] [FILE]...

粘贴每个输入文件中的行,并用制表符分隔。

-d LIST

使用 LIST 中的分隔符,而不是制表符

-s

串行:一次一个文件

patch

patch [-RNE] [-p N] [-i DIFF] [ORIGFILE [PATCHFILE]]
-p N

从文件名中去除 N 个前导组件

-i DIFF

读取 DIFF 而不是 stdin

-R

反向补丁

-N

忽略已经应用的补丁

-E

如果输出文件变空,则将其删除

--dry-run

实际上并不更改文件

pidof

pidof [NAME]...

列出名称与 NAME 匹配的所有进程的 PID。

ping

ping [OPTIONS] HOST

向主机发送 ICMP ECHO_REQUEST。

-4,-6

强制 IP 或 IPv6 名称解析

-c CNT

仅发送 CNT ping

-s SIZE

在数据包中发送 SIZE 数据字节(默认 56)

-i SECS

间隔

-A

收到回复后立即 Ping

-t TTL

设置TTL

-I IFACE/IP

源接口或IP地址

-W SEC

等待第一个响应的秒数(默认 10)(发送所有 -c CNT 数据包后)

-w SEC

ping 退出之前的秒数(默认值:无限)(可以使用 -c CNT 提前退出)

-q

安静,仅在开始/结束时显示输出

-p HEXBYTE

有效负载模式

ping6

ping6 [OPTIONS] HOST

向主机发送 ICMP ECHO_REQUEST。

-c CNT

仅发送 CNT ping

-s SIZE

在数据包中发送 SIZE 数据字节(默认 56)

-i SECS

间隔

-A

收到回复后立即 Ping

-I IFACE/IP

源接口或IP地址

-W SEC

等待第一个响应的秒数(默认 10)(发送所有 -c CNT 数据包后)

-w SEC

ping 退出之前的秒数(默认值:无限)(可以使用 -c CNT 提前退出)

-q

安静,仅在开始/结束时显示输出

-p HEXBYTE

有效负载模式

pivot_root

pivot_root NEW_ROOT PUT_OLD

将当前根文件系统移至 PUT_OLD 并使 NEW_ROOT 成为新的根文件系统。

poweroff

poweroff [-d DELAY] [-nf]

停止并关闭电源。

-d SEC

延迟间隔

-n

不要同步

-f

强制(不经过初始化)

printf

printf FORMAT [ARG]...

根据 FORMAT (a-la C printf) 格式化并打印 ARG

ps

ps [-o COL1,COL2=HEADER] [-T]

显示进程列表。

-o COL1,COL2=HEADER

选择要显示的列

-T

显示主题

pwd

pwd 打印当前工作目录的完整文件名

rdate

rdate [-s/-p] HOST

使用 RFC 868 从主机设置并打印时间。

-s

只设置系统时间

-p

仅打印时间

readlink

readlink [-fnv] FILE

显示符号链接的值。

-f

通过遵循所有符号链接进行规范化

-n

不要添加换行符

-v

冗长

realpath

realpath FILE...

打印文件的绝对路径名。

reboot

reboot [-d DELAY] [-nf]

重新启动系统

-d SEC

延迟间隔

-n

不要同步

-f

强制(不经过初始化)

renice

renice [-n] PRIORITY [[-p|g|u] ID...]...

更改正在运行的进程的调度优先级。

-n

将 PRIORITY 添加到当前的好值。

-p

进程 ID(默认)

-g

进程组 ID

-u

处理用户名

reset

reset

重置终端(ESC 代码)和 termios(信号、缓冲、回显)。

resume

resume BLOCKDEV [OFFSET]

从 BLOCKDEV 中的“挂起到磁盘”数据恢复系统状态。

rev

rev [FILE]...

反转 FILE 行。

rm

rm [-irf] FILE...

删除(取消链接)文件。

-i

删除前始终提示

-f

从不提示

-R, -r

递归

rmdir

rmdir [-p] DIRECTORY...

如果 DIRECTORY 为空,则将其删除。

-p

包括父母

--ignore-fail-on-non-empty

rmmod

rmmod [-wfa] [MODULE]...

卸载内核模块。

-w

等到模块不再使用

-f

强制卸载

-a

删除所有未使用的模块(递归)

route

route [-ne] [-A inet[6]] [{add|del} [-net|-host] TARGET [netmask MASK] [gw GATEWAY] [metric N] [mss BYTES] [window BYTES] [reject] [IFACE]]

显示或编辑内核路由表。

-n

不解析名称

-e

显示其他/更多信息

-A inet[6]

选择地址族

rpm

rpm -i PACKAGE.rpm; 
rpm -qp[ildc] PACKAGE.rpm

操作 RPM 包。

命令:

-i

安装包

-qp

查询包

-qpi

显示信息

-qpl

列表内容

-qpd

列出文件

-qpc

列出配置文件

rpm2cpio

rpm2cpio PACKAGE.rpm

输出 rpm 文件的 cpio 存档。

run-init

run-init [-d CAP,CAP...] [-n] [-c CONSOLE_DEV] NEW_ROOT NEW_INIT [ARGS]

释放 initramfs 并切换到另一个 root fs:

chroot到NEW_ROOT,删除/中的所有,将NEW_ROOT移动到/,执行NEW_INIT。

PID 必须为 1。

NEW_ROOT 必须是挂载点。

-c DEV

切换后重新打开 stdio 到 DEV

-d CAPS

掉落能力

-n

试运行

run-parts

run-parts [-a ARG]... [-u UMASK] [--reverse] [--test] [--exit-on-error] DIRECTORY

运行 DIRECTORY 中的一堆脚本。

-a ARG

将 ARG 作为参数传递给脚本

-u UMASK

在运行脚本之前设置 UMASK

--reverse

反向执行顺序

--test

试运行

--exit-on-error

如果脚本以非零值退出,则退出

sed

sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...

或者

sed [-i[SFX]] [-nrE] CMD [FILE]...
-e CMD

在sed要执行的命令中添加CMD

-f FILE

将FILE内容添加到要执行的sed命令中

-i[SFX]

就地编辑文件(否则写入标准输出)。可选择备份文件,附加 SFX

-n

禁止自动打印图案空间

-r,-E

使用扩展正则表达式语法

如果没有 -e 或 -f,则第一个非选项参数是 sed 命令字符串。其余参数是输入文件(如果没有则为 stdin)。

seq

seq [-w] [-s SEP] [FIRST [INC]] LAST

从 FIRST 到 LAST 打印数字,步长为 INC。FIRST,INC 默认为 1。

-w

用前导零填充到最后

-s SEP

字符串分隔符

setkeycodes

setkeycodes { SCANCODE KEYCODE }...

修改内核的扫描码到键码映射,允许不寻常的键盘生成可用的键码。

SCANCODE 是 xx 或 e0xx(十六进制),KEYCODE 是十进制。

setpriv

setpriv [OPTIONS] PROG ARGS

使用不同的权限设置运行 PROG。

-d,--dump

显示当前能力

--nnp,--no-new-privs

忽略 setuid/setgid 位和文件功能

--inh-caps CAP,CAP

设置可继承的能力

--ambient-caps CAP,CAP

设置环境功能

setsid

setsid [-c] PROG ARGS

在新会话中运行 PROG。 PROG 没有控制端子,并且不受键盘信号(^C 等)的影响。

-c

将控制终端设置为 stdin

sh

sh [-il] [-|+Cabefmnuvx] [-|+o OPT]... [-c 'SCRIPT' [ARG0 ARGS] | FILE ARGS | -s ARGS]

Unix shell 解释器

sha1sum

sha1sum [-c[sw]] [FILE]...

打印或检查 SHA1 校验和

-c

根据文件中的列表检查总和

-s

不输出任何内容,状态码显示成功

-w

警告校验和行格式不正确

sha256sum

sha256sum [-c[sw]] [FILE]...

打印或检查 SHA256 校验和。

-c

根据文件中的列表检查总和

-s

不输出任何内容,状态码显示成功

-w

警告校验和行格式不正确

sha3sum

sha3sum [-c[sw]] [-a BITS] [FILE]...

打印或检查 SHA3 校验和。

-c

根据文件中的列表检查总和

-s

不输出任何内容,状态码显示成功

-w

警告校验和行格式不正确

-a BITS

224(默认)、256、384、512

sha512sum

sha512sum [-c[sw]] [FILE]...

打印或检查 SHA512 校验和。

-c

根据文件中的列表检查总和

-s

不输出任何内容,状态码显示成功

-w

警告校验和行格式不正确

shred

shred [-fuz] [-n N] [-s SIZE] FILE...

覆盖/删除文件。

-f

chmod 以确保可写性

-s SIZE

书写尺寸

-n N

覆盖N次(默认3次)

-z

最后用零覆盖

-u

删除文件

shuf

shuf [-n NUM] [-o FILE] [-z] [FILE | -e [ARG...] | -i L-H]

随机排列线。

-n NUM

最多输出 NUM 行

-o FILE

写入文件,而不是标准输出

-z

NUL 终止输出

-e

将 ARG 视为线条

-i L-H

将数字 L-H 视为线

sleep

sleep [N]...

暂停时间等于给定参数的总和,其中每个参数可以有一个可选的后缀(s)秒、(m)分钟、(h)我们或(d)天

sort

sort [-nrughMcszbdfiokt] [-o FILE] [-k START[.OFS][OPTS][,END[.OFS][OPTS]] [-t CHAR] [FILE]...

对文本行进行排序。

-o FILE

输出到文件

-c

检查输入是否已排序

-b

忽略前导空格

-f

忽略大小写

-i

忽略不可打印的字符

-d

字典顺序(仅限空白或字母数字)

-n

对数字进行排序

-g

通用数值排序

-h

对人类可读的数字进行排序 (2K 1G)

-M

排序月份

-V

排序版本

-t CHAR

字段分隔符

-k N[,M]

按第 N 个字段排序

-r

反转排序顺序

-s

稳定(不按字母顺序排序)

-u

抑制重复行

-z

NUL 终止的输入和输出

ssl_client

ssl_client [-e] -s FD [-r FD] [-n SNI]

start-stop-daemon

start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]

搜索匹配的进程,然后

-K

停止所有匹配进程

-S

除非找到匹配的进程,否则启动进程

工艺匹配:

-u USERNAME|UID

仅匹配该用户的进程

-n NAME

在 /proc/PID/stat 的 comm 字段中匹配具有 NAME 的进程

-x EXECUTABLE

在 /proc/PID/cmdline 中使用此命令匹配进程

-p FILE

将进程与 FILE 中的 PID 进行匹配

接下来指定的条件必须仅与 -S 匹配:

-x EXECUTABLE

要运行的程序

-a NAME

第零个参数

-b

背景

-N N

改变漂亮的水平

-c USER[:[GRP]]

更改用户/组

-m

将PID写入-p指定的pid文件中

接下来指定的条件必须仅与 -K 匹配:

-s SIG

发送信号

-t

仅匹配,如果找到则以 0 退出

其他:

-o

如果不执行任何操作,则退出状态为 0

-v

冗长

-q

安静的

stat

stat [-ltf] [-c FMT] FILE...

显示文件(默认)或文件系统状态。

-c FMT

使用指定格式

-f

显示文件系统状态

-L

关注链接

-t

简洁显示

文件的 FMT 序列:

%a

八进制访问权限

%A

人类可读形式的访问权限

%b

分配的块数(参见 %B)

%B

%b 报告的每个块的大小(以字节为单位)

%d

设备编号(十进制)

%D

设备编号(十六进制)

%f

十六进制原始模式

%F

文件类型

%g

组号

%G

团队名字

%h

硬链接数量

%i

索引节点号

%n

文件名

%N

文件名,如果符号链接则带有 -> TARGET

%o

I/O块大小

%s

总大小(以字节为单位)

%t

主要设备类型(十六进制)

%T

次要设备类型(十六进制)

%u

用户身份

%U

用户名

%x

最后访问时间

%X

上次访问时间(自纪元以来的秒数)

%y

最后修改时间

%Y

自 Epoch 以来最后一次修改的时间(以秒为单位)

%z

最后更改时间

%Z

自纪元以来最后一次更改的时间(以秒为单位)

文件系统的 FMT 序列:

%a

非超级用户可用的免费块

%b

数据块总数

%c

文件节点总数

%d

空闲文件节点

%f

空闲块

%i

十六进制文件系统 ID

%l

文件名的最大长度

%n

文件名

%s

块大小(为了更快的传输)

%S

基本块大小(用于块计数)

%t

输入十六进制

%T

以人类可读的形式输入

strings

strings [-fo] [-t o|d|x] [-n LEN] [FILE]...

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

-f

在字符串前面加上文件名

-o

在字符串前面加上八进制偏移量

-t o|d|x

字符串前面带有以 8/10/16 为基数的偏移量

-n LEN

至少 LEN 个字符组成一个字符串(默认 4)

stty

stty [-a|g] [-F DEVICE] [SETTING]...

如果没有参数,则打印波特率、线路规则以及与 stty sane 的偏差。

-F DEVICE

打开设备而不是标准输入

-a

以人类可读的形式打印所有当前设置

-g

以 stty 可读的形式打印

[SETTING]

请参阅联机帮助页

svc

svc [-udopchaitkx] SERVICE_DIR...

控制由 runsv Supervisor 监控的服务。

-u

如果服务没有运行,则启动它;如果停止则重新启动

-d

如果服务正在运行,发送TERM+CONT信号;不要重新启动它

-o

一次:如果服务没有运行,则启动它;不要重新启动它

-pchaitk

向服务发送 STOP、CONT、HUP、ALRM、INT、TERM、KILL 信号

-x

退出:一旦服务宕机,runsv就会退出

svok

svok SERVICE_DIR

检查runsv Supervisor是否正在运行。如果存在,则退出代码为 0;如果不存在,则退出代码为 100;如果 SERVICE_DIR 不存在,则退出代码为 111(带有错误消息)。

swapoff

swapoff [-a] [DEVICE]

停止在设备上进行交换。

-a

停止所有交换设备上的交换

swapon

swapon [-a] [-e] [-d[POL]] [DEVICE]

开始在设备上进行交换。

-a

开始在所有交换设备上进行交换

-d[POL]

在交换时丢弃块 (POL=once)、释放时丢弃块 (POL=pages),或两者兼而有之(POL 省略)

-e

静默跳过不存在的设备

switch_root

switch_root [-c CONSOLE_DEV] NEW_ROOT NEW_INIT [ARGS]

释放initramfs并切换到另一个根fs:chroot到NEW_ROOT,删除/中的所有内容,将NEW_ROOT移动到/,执行NEW_INIT。

PID 必须为 1。

NEW_ROOT 必须是挂载点。

-c

DEV 切换后重新打开 stdio 到 DEV

sync

sync [-df] [FILE]...

将所有缓冲块(在文件中)写入磁盘。

-d

避免同步元数据

-f

同步 FILE 下的文件系统

sysctl

sysctl [-enq] { -a | -p [FILE]... | [-w] [KEY[=VALUE]]... }

显示/设置内核参数

-e

不要警告未知密钥

-n

不显示键名

-q

安静的

-a

显示所有值

-p

从文件设置值(默认 /etc/sysctl.conf)

-w

设定值

syslogd

syslogd [OPTIONS]

系统日志实用程序。

-n

在前台运行

-R HOST[:PORT]

登录主机:端口(默认端口:514)

-L

本地和通过网络登录(仅当 -R 时默认为网络)

-C[size_kb]

记录到共享内存缓冲区(使用 logread 读取它)

-O FILE

记录到文件(默认:/var/log/messages,如果 - 则为标准输出)

-s SIZE

旋转前的最大大小 (KB)(默认 200KB,0=关闭)

-b N

要保留的 N 个轮转日志(默认 1,最大 99,0=清除)

-l N

仅记录比 prio N (1-8) 更紧急的消息

-S

输出较小

-t

剥离客户端生成的时间戳

-D

删除重复项

-f FILE

使用 FILE 作为配置(默认:/etc/syslog.conf)

tac

tac [FILE]...

连接文件并反向打印它们。

tail

tail [OPTIONS] [FILE]...

将文件(或标准输入)的最后 10 行打印到。如果有多个文件,请在每个文件前面添加一个文件名标头。

-c [+]N[bkm]

打印最后 N 个字节

-n N[bkm]

打印最后 N 行

-n +N[bkm]

从第 N 行开始并打印其余部分 (b:*512 k:*1024 m:*1024^2)

-q

切勿打印标题

-v

始终打印标题

-f

随着文件的增长打印数据

-F

与 -f 相同,但继续重试

-s SECONDS

使用 -f 读取之间等待几秒

tar

tar c|x|t [-ZzJjahmvokO] [-f TARFILE] [-C DIR] [FILE]...

从 tar 文件创建、提取或列出文件。

c

创造

x

提炼

t

列表

-f FILE

TARFILE 的名称('-' 表示标准输入/输出)

-C DIR

运行前更改为DIR

-v

冗长

-O

提取到标准输出

-m

不恢复mtime

-o

不恢复用户:组

-k

不要替换现有文件

-Z

使用 compress 进行(解)压缩

-z

使用 gzip 压缩(解)压缩

-J

使用 xz 压缩(解压缩)

-j

使用 bzip2 进行(解)压缩

--lzma

使用 lzma 压缩(解)压缩

-a

基于扩展的(解)压缩

-h

跟随符号链接

--overwrite

替换现有文件

--strip-components NUM

要剥离的主要组件数量

--no-recursion

不要在目录中下降

--numeric-owner

使用数字用户:组

--no-same-permissions

不恢复访问权限

--to-command COMMAND

通过管道将文件传输至 COMMAND

taskset

taskset [-ap] [HEXMASK | -c LIST] { PID | PROG ARGS }

设置或获取 CPU 关联性。

-p

PID 操作

-a

对所有线程进行操作

-c

亲和力是一个列表,而不是掩码

tee

tee [-ai] [FILE]...

将标准输入复制到每个文件,也复制到标准输出。

-a

附加到给定的文件,不要覆盖

-i

忽略中断信号(SIGINT)

telnet

telnet [-a] [-l USER] HOST [PORT]

连接到 telnet 服务器。

-a

使用 $USER 变量自动登录

-l USER

自动以 USER 身份登录

tftp

tftp [OPTIONS] HOST [PORT]

从/到 tftp 服务器传输文件。

-l FILE

本地文件

-r FILE

远程文件

-g

获取文件

-p

放置文件

-b SIZE

以字节为单位传输块

time

time [-vpa] [-o FILE] PROG ARGS

运行PROG,退出时显示资源使用情况。

-v

冗长

-p

POSIX 输出格式

-f FMT

自定义格式

-o FILE

将结果写入文件

-a

追加(否则覆盖)

timeout

timeout [-s SIG] [-k KILL_SECS] SECS PROG ARGS

运行程序。如果它在 SECS 秒内没有消失,则发送 SIG 给它。

默认 SIG:术语。

如果在 KILL_SECS 秒内仍然存在,则发送 KILL。

top

top [-bH] [-n COUNT] [-d SECONDS]

实时显示流程活动的视图。每秒从 /proc 读取所有进程的状态并显示整个屏幕。

按键:

N/M/P/T

按 pid/mem/cpu/time 排序

R

逆序排序

H

切换线程

Q,^C

出口

选项:

-b

批处理模式

-n N

N次迭代后退出

-d SEC

更新之间的延迟

-H

显示主题

touch

touch [-cham] [-d DATE] [-t DATE] [-r FILE] FILE...

更新文件的 mtime。

-c

不要创建文件

-h

不要点击链接

-a

仅更改一次

-m

仅更改 mtime

-d DT

使用日期/时间

-t DT

使用日期/时间

-r FILE

使用 FILE 的日期/时间

tr

tr [-cds] STRING1 [STRING2]

从标准输入中翻译、压缩或删除字符,写入标准输出。

-c

取 STRING1 的补码

-d

删除编码为 STRING1 的输入字符

-s

将STRING2的多个输出字符压缩为一个字符

traceroute

traceroute [-46Flnrv] [-f 1ST_TTL] [-m MAXTTL] [-q PROBES] [-p PORT] [-t TOS] [-w WAIT_SEC] [-s SRC_IP] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES]

跟踪到 HOST 的路由。

-4,-6

强制 IP 或 IPv6 名称解析

-F

设置不分段位

-l

显示返回数据包的TTL值

-n

打印数字地址

-r

绕过路由表,直接发送到HOST

-v

冗长

-f N

第一个跃点数(默认 1)

-m N

最大跳数

-q N

每跳探测数量(默认 3)

-p N

探测中使用的基本 UDP 端口号(默认 33434)

-s IP

源地址

-i IFACE

源码接口

-t N

探测数据包中的服务类型(默认 0)

-w SEC

等待响应(默认 3)

-z MSEC

每次发送前等待

traceroute6

traceroute6 [-nrv] [-f 1ST_TTL] [-m MAXTTL] [-q PROBES] [-p PORT] [-t TOS] [-w WAIT_SEC] [-s SRC_IP] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES]

跟踪到 HOST 的路由。

-n

打印数字地址

-r

绕过路由表,直接发送到HOST

-v

冗长

-f N

第一个跃点数(默认 1)

-m N

最大跳数

-q N

每跳探测数量(默认 3)

-p N

探测中使用的基本 UDP 端口号(默认 33434)

-s IP

源地址

-i IFACE

源码接口

-t N

探测数据包中的服务类型(默认 0)

-w SEC

等待响应(默认 3)

-z MSEC

每次发送前等待

truncate

truncate [-c] -s SIZE FILE...

将文件截断为 SIZE。

-c

不创建文件

-s SIZE

ts

ts [-is] [STRFTIME]

通过管道将 stdin 传输到 stdout,为每一行添加时间戳。

-s

自开始以来的时间

-i

自上一行以来的时间

tty

tty [-s]

打印标准输入终端的文件名。

-s

不打印任何内容,仅返回退出状态

ubirename

ubirename UBI_DEVICE OLD_VOLNAME NEW_VOLNAME [OLD2 NEW2]...

重命名 UBI_DEVICE 上的 UBI 卷。

udhcpc
udhcpc [-fbqRB] [-a[MSEC]] [-t N] [-T SEC] [-A SEC|-n] [-i IFACE] [-s PROG] [-p PIDFILE] [-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...
-i IFACE

使用的接口(默认eth0)

-s PROG

在 DHCP 事件中运行 PROG(默认 /etc/udhcpc/default.script)

-p FILE

创建pid文件

-B

请求广播回复

-t N

最多发送 N 个发现数据包(默认 3 个)

-T SEC

数据包之间的暂停(默认 3)

-A SEC

如果未获得租约则等待(默认 20)

-b

未获得租约的背景

-n

如果未获得租约则退出

-q

获得租约后退出

-R

退出时释放IP

-f

在前台运行

-S

也记录到系统日志

-a[MSEC]

使用 ARP ping 验证提供的地址

-r IP

请求该IP地址

-o

不要请求任何选项(除非给出 -O)

-O OPT

从服务器请求选项 OPT(累积)

-x OPT:VAL

在发送的数据包中包含选项 OPT(累积)

字符串、数字和十六进制字节选项的示例:

               -x hostname:bbox - option 12
               -x lease:3600 - option 51 (lease time)
               -x 0x3d:0100BEEFC0FFEE - option 61 (client id)
               -x 14:'"dumpfile"' - option 14 (shell-quoted)
-F NAME

要求服务器更新 NAME 的 DNS 映射

-V VENDOR

供应商标识符(默认“udhcp VERSION”)

-C

不发送 MAC 作为客户端标识符

信号:

USR1

续租

USR2

释放租约

udhcpd

udhcpd [-fS] [-I ADDR] [-a MSEC] [CONFFILE]

DHCP 服务器。

-f

在前台运行

-S

也记录到系统日志

-I ADDR

本地地址

-a MSEC

ARP ping 超时(默认 2000)

信号:

USR1

更新租赁文件

uevent

uevent [PROG ARGS]

uevent 为每个 netlink 通知运行 PROG。

PROG的环境包含从内核传递的数据。

典型用法(用于动态设备节点创建的守护进程):

uevent mdev & mdev -s

umount

umount [-rlfda] [-t FSTYPE] FILESYSTEM|DIRECTORY

卸载文件系统。

-a

卸载所有文件系统

-r

如果挂载繁忙,则以只读方式重新挂载设备

-l

延迟卸载(分离文件系统)

-f

强制卸载(即无法访问 NFS 服务器)

-d

如果已使用,则免费循环设备

-t FSTYPE[,...]

仅卸载这些文件系统类型

uname

uname [-amnrspvio]

打印系统信息。

-a

打印全部

-m

机器(硬件)类型

-n

主机名

-r

内核发布

-s

内核名称(默认)

-p

处理器类型

-v

内核版本

-i

硬件平台

-o

操作系统名称

uncompress

uncompress [-cf] [FILE]...

解压缩文件(或标准输入)。

-c

写入标准输出

-f

覆盖

unexpand

unexpand [-fa][-t N] [FILE]...

将空格转换为制表符,写入标准输出。

-a

转换所有空格

-f

仅转换前导空格

-t N

每 N 个字符停止一个制表符

uniq

uniq [-cduiz] [-f,s,w N] [FILE [OUTFILE]]

丢弃重复的行。

-c

按出现次数为行添加前缀

-d

只打印重复的行

-u

只打印唯一的行

-i

忽略大小写

-z

NUL 终止输出

-f N

跳过前 N 个字段

-s N

跳过前 N 个字符(在任何跳过的字段之后)

-w N

比较一行中的 N 个字符

unix2dos

unix2dos [-ud] [FILE]

将 FILE 就地从 Unix 格式转换为 DOS 格式。当没有给出文件时,使用 stdin/stdout。

-u

DOS2UNIX

-d

UNIX2DOS

unlink

unlink FILE

通过调用unlink()删除FILE。

unlzma

unlzma [-cfk] [FILE]...

解压缩文件(或标准输入)。

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

unshare

unshare [OPTIONS] [PROG ARGS]
-m,--mount[=FILE]

取消共享挂载命名空间

-u,--uts[=FILE]

取消共享 UTS 命名空间(主机名等)

-i,--ipc[=FILE]

取消共享 System V IPC 命名空间

-n,--net[=FILE]

取消共享网络命名空间

-p,--pid[=FILE]

取消共享 PID 命名空间

-U,--user[=FILE]

取消共享用户命名空间

-f

执行 PROG 之前分叉

-r

将当前用户映射到root(隐含-U)

--mount-proc[=DIR]

首先挂载 /proc 文件系统(隐含 -m)

--propagation slave|shared|private|unchanged

修改挂载命名空间中的挂载传播

--setgroups allow|deny

控制用户命名空间中的 setgroups 系统调用

unxz

unxz [-cfk] [FILE]...

解压缩文件(或标准输入)。

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

unzip

unzip [-lnojpqK] FILE[.zip] [FILE]... [-x FILE]... [-d DIR]

从 ZIP 存档中提取文件。

-l

列出内容(使用 -q 表示缩写)

-n

从不覆盖文件(默认:询问)

-o

覆盖

-j

不恢复路径

-p

写入标准输出

-t

测试

-q

安静的

-K

不清除 SUID 位

-x FILE

排除文件

-d DIR

解压到DIR中

uptime

uptime

显示自上次启动以来的时间。

usleep

usleep N

暂停 N 微秒。

uudecode

uudecode [-o OUTFILE] [INFILE]

Uudecode 文件 在 uuencoded 源中查找 OUTFILE,除非给出 -o。

uuencode

uuencode [-m] [FILE] STORED_FILENAME

Uuencode FILE(或标准输入)到标准输出。

-m

根据 RFC1521 使用 Base64 编码

vconfig

vconfig COMMAND [OPTIONS]

创建和删除虚拟以太网设备。

         add IFACE VLAN_ID
         rem VLAN_NAME
         set_flag IFACE 0|1 VLAN_QOS
         set_egress_map VLAN_NAME SKB_PRIO VLAN_QOS
         set_ingress_map VLAN_NAME SKB_PRIO VLAN_QOS
         set_name_type NAME_TYPE

vi

vi [-c CMD] [-R] [-H] [FILE]...

编辑文件。

-c CMD

要运行的初始命令($EXINIT 和 ~/.exrc 也可用)

-R

只读

-H

列出可用功能

w

显示谁已登录

watch

watch [-n SEC] [-t] PROG ARGS

定期运行 PROG。

-n

SEC 周期(默认 2)

-t

不打印标题

watchdog

watchdog [-t N[ms]] [-T N[ms]] [-F] DEV

定期写入看门狗设备DEV。

-T N

如果不重置,N秒后重新启动(默认60)

-t N

每 N 秒重置一次(默认 30)

-F

在前台运行

使用 500ms 指定时间段(以毫秒为单位)。

wc

wc [-cmlwL] [FILE]...

计算文件(或标准输入)的行数、字数和字节数。

-c

计算字节数

-m

计算字符数

-l

计算换行数

-w

数字数

-L

打印最长行长度

wget

wget [-cqS] [--spider] [-O FILE] [-o LOGFILE] [--header STR] [--post-data STR | --post-file FILE] [-Y on/off] [--no-check-certificate] [-P DIR] [-U AGENT] URL...

通过 HTTP 或 FTP 检索文件。

--spider

只检查 URL 是否存在:$?如果存在则为0

--header STR

将 STR(格式为“header: value”)添加到标头

--post-data STR

使用POST方法发送STR

--post-file FILE

使用POST方法发送FILE

--no-check-certificate

不验证服务器的证书

-c

继续检索中止的传输

-q

安静的

-P DIR

保存到 DIR(默认。)

-S

显示服务器响应

-O FILE

保存到文件(“-”表示标准输出)

-o LOGFILE

将消息记录到文件

-U STR

使用 STR 作为 User-Agent 标头

-Y on/off

使用代理服务器

which

which [-a] COMMAND...

找到命令。

-a

显示所有比赛

who

who [-aH]

显示谁已登录。

-a

显示所有

-H

打印列标题

whoami

whoami

打印与当前有效用户 ID 关联的用户名。

xargs

xargs [OPTIONS] [PROG ARGS]

对 stdin 给出的每个项目运行 PROG。

-0

NUL 终止输入

-a FILE

从 FILE 而不是 stdin 读取

-o

将 stdin 重新打开为 /dev/tty

-r

如果输入为空,则不运行命令

-t

执行前在 stderr 上打印命令

-p

询问用户是否运行每个命令

-E STR,-e[STR]

STR 停止输入处理

-I STR

将 PROG ARGS 中的 STR 替换为输入行

-n N

向 PROG 传递不超过 N 个参数

-s N

传递不超过N个字节的命令行

-P N

并行运行最多 N 个 PROG

-x

如果超出大小则退出

xxd

xxd [-pri] [-g N] [-c N] [-l LEN] [-s OFS] [-o OFS] [FILE]

十六进制转储文件(或标准输入)。

-g N

每组字节数

-c N

每行字节数

-p

仅显示十六进制字节,假设为 -c30

-i

C 包含文件样式

-l LENGTH

仅显示前 LENGTH 字节

-s OFFSET

跳过 OFFSET 字节

-o OFFSET

将 OFFSET 添加到显示的偏移量

-r

反向(使用 -p,假设输入中没有偏移)

xz

xz -d [-cfk] [FILE]...

解压缩文件(或标准输入)。

-d

解压

-c

写入标准输出

-f

力量

-k

保留输入文件

-t

测试完整性

xzcat

xzcat [FILE]...

解压缩到标准输出。

yes

yes [STRING]

重复打印带有 STRING 或 'y' 的行

zcat

zcat [FILE]...

解压缩到标准输出。

LIBC NSS

GNU Libc (glibc) 使用名称服务开关 (NSS) 为本地环境配置 C 库的行为,并配置其读取系统数据(例如密码和组信息)的方式。这是使用 /etc/nsswitch.conf 配置文件并使用一个或多个 /lib/libnss_* 库来实现的。 BusyBox 尝试避免使用任何利用 NSS 的 libc 调用。然而,某些小程序(例如 login 和 su)将使用需要 NSS 的 libc 函数。

如果启用 CONFIG_USE_BB_PWD_GRP,BusyBox 将使用内部函数直接访问 /etc/passwd、/etc/group 和 /etc/shadow 文件,而不使用 NSS。这可以让您无需安装任何 NSS 配置文件和库即可运行系统。

当与 glibc 一起使用时,BusyBox“网络”小程序将同样要求您至少安装一些 glibc NSS 内容(特别是 /etc/nsswitch.conf、/lib/libnss_dns*、/lib/libnss_files* 和/lib/libresolv*)。

无耻插件:作为替代方案,可以使用 C 库,例如 uClibc。除了使您的系统显着更小之外,uClibc 不需要使用任何 NSS 支持文件或库。

维护者

丹尼斯·弗拉森科

作者

以下人员已向 BusyBox 贡献了代码,无论他们是否知道。如果您编写过包含在 BusyBox 中的代码,您可能应该被列在这里,这样您就可以获得永恒的荣耀。如果您应该被列在这里,或者您所做的事情的描述需要更多细节,或者不正确,请发送更新。

埃马努埃莱·艾娜

运行部件

埃里克·安德森

大量新内容,大多数核心应用程序的重大重写,头文件中注明的大量新应用程序。编写这些无聊的文档需要花费大量的乏味的精力,但没有人会真正阅读。

劳伦斯·安德森

rpm2cpio、解压缩、get_header_cpio、read_gz 接口、rpm

杰夫·安吉尔斯基

ftpput、ftpget

爱德华·贝茨

expr、主机 ID、日志名、whoami

约翰·别普

du、nslookup、排序

布莱恩·坎德勒

小-ls(ls)

伦道夫·钟

fbset、ping、主机名

戴夫·辛吉

更多(v2)、makedevs、dutmp、模块化、自动链接文件、各种修复、Linux 路由器项目维护

乔丹·克劳斯

伊普计算

马格努斯·达姆

tftp 客户端 insmod powerpc 支持

拉里·杜利特尔

原始源目录编译,大量补丁和修复。

格伦·恩格尔

httpd

根纳迪·费尔德曼

Sysklogd(单线程 syslogd、IPC 循环缓冲区支持、日志读取)、各种修复。

卡尔·M·赫格布卢姆

cp_mv.c,测试套件,对 utility.c 的各种修复,&c。

丹尼尔·雅各布维茨

mktemp.c

马特·克拉伊

文档、错误修复、测试套件

斯蒂芬·林茨

ipcalc,红帽等效项

约翰·隆巴多

t

格伦·麦格拉思

常见的解档代码和解档小程序,ifupdown、ftpgetput、nameif、sed、patch、fold、install、uudecode。各种错误修复,查看并应用大量补丁。

曼努埃尔·诺沃亚三世

cat、head、mkfifo、mknod、rmdir、sleep、tee、tty、uniq、usleep、wc、yes、mesg、vconfig、make_directory、parse_mode、dirname、mode_string、get_last_path_component、simplify_path 和一些简单的 libbb 例程也修复了错误, ash、basename、cal、cmp、cp、df、du、echo、env、ln、logname、md5sum、mkdir、mv、realpath、rm、sort、tail、touch、uname、watch、arith 中的部分重写和大小优化、 human_可读、接口、dutmp、ifconfig、路由

弗拉基米尔·奥莱尼克

cmd编辑; xargs(当前),httpd(当前);端口:ash、crond、fdisk、inetd、stty、traceroute、top;语言环境、各种修复以及对一切不完美的不可调和的批评。

布鲁斯·佩伦斯

BusyBox 的原作者于 1995、1996 年。他的一些代码仍然可以找到隐藏在这里或那里......

蒂姆·赖克

错误修复,粉丝俱乐部成员

肯特·罗伯蒂

重置、大量错误报告和补丁。

奇普·罗森塔尔

wget - 经 Covad Communications 许可贡献

帕维尔·罗斯金

许多错误修复和补丁。

吉皮·萨姆

syslogd 的远程日志记录功能

莱纳斯·托瓦兹

mkswap、fsck.minix、mkfs.minix

马克·惠特利

grep、sed、cut、xargs(以前的)、样式指南、new-applet-HOWTO、错误修复等。

查尔斯·P·赖特

gzip、迷你网络猫(nc)

恩里克·扎纳尔迪

tarcat(已删除)、loadkmap、各种修复、Debian 维护

蒂托·拉古萨

字符串、openvt 和 deallocvt 中的 devfsd 和大小优化。

保罗·福克斯

ash 的 vi 编辑模式,各种其他补丁/修复

罗伯托·A·福列塔

端口:dnsd

伯恩哈德·鲁特纳-费舍尔

杂项

迈克·弗莱辛格

初始 e2fsprogs、printenv、setarch、sum、misc

张杰

修复了 msh 和 hush 中的两个错误(被终止进程的退出代码)