busybox BusyBox——嵌入式Linux的瑞士军刀
busybox <applet> [arguments...] # or <applet> [arguments...] # if symlinked
BusyBox 将许多常见 UNIX 实用程序的微型版本组合成一个小型可执行文件。它为您通常在 GNU coreutils、util-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 [-df] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE]
监听 ACPI 事件并在事件到达时生成特定的帮助程序。
记录到 stderr,而不是日志文件(隐含 -f)
在前台运行
DIR 配置目录 [/etc/acpi]
FILE /proc 事件文件 [/proc/acpi/event]
日志文件[/var/log/acpid.log]
FILE Pid 文件 [/var/run/acpid.pid]
FILE 操作文件 [/etc/acpid.conf]
映射文件[/etc/acpi.map]
接受并忽略兼容性选项 -g -m -s -S -v。
adjtimex [-q] [-o OFS] [-f FREQ] [-p TCONST] [-t TICK]
读取或设置内核时间变量。请参阅adjtimex (2)
安静的
时间偏移,微秒
频率调整,整数内核单位(65536为1ppm)
每个刻度的微秒数,通常为 10000(正的 -t 或 -f 值使时钟运行得更快)
ar x|p|t [-ov] ARCHIVE [FILE]...
从 ar 存档中提取或列出文件。
提炼
提取到标准输出
列表
恢复实时时间
冗长
arch
打印系统架构
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 缓存。
显示(所有)主机
删除ARP表项
设置新条目
冗长
不解析名称
网络接口
从 IFACE 读取 HWADDR
协议族
硬件地址类型
arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP
发送 ARP 请求/回复
在第一个 ARP 回复时退出
安静的
继续广播,不要单播
如果 DST_IP 回复,则退出并返回 1
主动ARP模式,更新你的邻居
ARP应答模式,更新你的邻居
发送N个ARP请求后停止
等待 ARP 回复的秒数
使用的接口(默认eth0)
发件人IP地址
目标IP地址
ash [-il] [-|+Cabefmnuvx] [-|+o OPT]... [-c 'SCRIPT' [ARG0 ARGS] | FILE ARGS | -s ARGS]
Unix shell 解释器
awk [OPTIONS] [AWK_PROGRAM] [FILE]...
设置变量
使用 SEP 作为字段分隔符
从FILE中读取程序
base64 [-d] [-w COL] [FILE]
Base64 编码或解码 FILE 到标准输出
解码数据
在 COL 处换行(默认 76,0 禁用)
basename FILE [SUFFIX] | -a FILE... | -s SUFFIX FILE...
从文件中删除目录路径和后缀。
所有参数都是文件
删除后缀(隐含 -a)
bc [-sqlw] [FILE]...
任意精度计算器
安静的
加载标准库
兼容 POSIX
如果使用扩展则发出警告
$BC_LINE_LENGTH
更改输出宽度。
blkdiscard [-o OFS] [-l LEN] [-s] DEVICE
丢弃设备上的扇区。
设备中的字节偏移量
要丢弃的字节数
执行安全丢弃
blkid [BLOCKDEV]...
打印所有文件系统的 UUID。
blockdev 选项 BLOCKDEV。
设定罗
设置读写
得到罗
获取扇区大小
获取块大小
设置块大小
获取设备大小(以 512 字节扇区为单位)
获取设备大小(以字节为单位)
获取 512 字节扇区的预读
设置预读
冲洗缓冲区
重新读取分区表
brctl COMMAND [BRIDGE [ARGS]]
管理以太网桥命令:
创建桥梁
删除桥
将 IFACE 添加到 BRIDGE
从 BRIDGE 中删除 IFACE
bunzip2 [-cfk] [FILE]...
解压缩文件(或标准输入)。
写入标准输出
力量
保留输入文件
测试完整性
bzcat [FILE]...
解压缩到标准输出。
bzip2 [-cfkdt123456789] [FILE]...
使用 bzip2 算法压缩文件(或标准输入)。
压缩级别
解压
写入标准输出
力量
保留输入文件
测试完整性
cal [-jmy] [[MONTH] YEAR]
显示日历。
使用儒略日期
一周从星期一开始
显示全年
cat [-nbvteA] [FILE]...
将文件打印到标准输出。
输出线数
非空行数
将非打印字符显示为 ^x 或 M-x
...以及制表符 ^I
...并以 $结束行
与-vte相同
chgrp [-RhLHPcvf]... GROUP FILE...
将 FILE 的组成员身份更改为 GROUP。
影响符号链接而不是符号链接目标
遍历目录的所有符号链接
仅在命令行上遍历符号链接
不遍历符号链接(默认)
递归
列出已更改的文件
冗长
隐藏错误
chmod [-Rcvf] MODE[,MODE]... FILE...
MODE 是八进制数(位模式 sstrwxrwxrwx)或
[ugoa]{+|-|=}[rwxXst]
递归
列出已更改的文件
冗长
隐藏错误
chown [-RhLHPcvf]... USER[:[GRP]] FILE...
将文件的所有者和/或组更改为 USER 和/或 GRP。
影响符号链接而不是符号链接目标
遍历目录的所有符号链接
仅在命令行上遍历符号链接
不遍历符号链接(默认)
递归
列出已更改的文件
冗长
隐藏错误
chroot NEWROOT [PROG ARGS]
运行 PROG,并将根目录设置为 NEWROOT。
chvt N
将前台虚拟终端更改为/dev/ttyN。
clear
清晰的屏幕。
cmp [-ls] [-n NUM] FILE1 [FILE2 [SKIP1 [SKIP2]]]
将 FILE1 与 FILE2(或标准输入)进行比较。
写入所有不同字节的字节数(十进制)和值(八进制)
安静的
最多比较 NUM 个字节
cp [-arPLHpfinlsTu] SOURCE DEST or: cp [-arPLHpfinlsu] SOURCE... { -t DIRECTORY | DIRECTORY }
将 SOURCE 复制到 DEST。
与-dpR相同
递归
保留符号链接(如果 -R
则默认)
遵循所有符号链接
遵循命令行上的符号链接
如果可能的话保留文件属性
覆盖
覆盖前提示
不要覆盖
创建(符号)链接
如果 DEST 是目录则拒绝复制
将所有 SOURCE 复制到 DIR 中
仅复制较新的文件
cpio [-dmvu] [-F FILE] [-R USER[:GRP]] [-H newc] [-tio] [EXTR_FILE]...
从 cpio 存档中提取 (-i
) 或列出 (-t
) 文件,或者从 stdin 获取文件列表并创建存档 (-o
) >)。
主要运行方式:
列表
提取 EXTR_FILEs(或全部)
创建(需要-H newc)
选项:
存档格式
制作主导目录
恢复实时时间
冗长
覆盖
输入(-t、-i、-p)或输出(-o)文件
设置创建文件的所有者
取消引用符号链接
NUL 终止输入
crc32 FILE...
计算文件的 CRC32 校验和。
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 [OPTIONS] [FILE]...
将文件中的选定字段打印到标准输出。
仅输出 LIST 中的字节
仅输出 LIST 中的字符
输入的字段分隔符(默认 -f TAB、-F 连续空格)
输出的字段分隔符(默认=-d 表示 -f,一个空格表示 -F)
不要对部分进行排序/整理或匹配没有分隔符的 -fF 行
仅打印这些字段(-d 是单个字符)
仅打印这些字段(-d 是正则表达式)
仅输出包含分隔符的行
被忽略
date [OPTIONS] [+FMT] [[-s] TIME]
显示时间(使用+FMT),或设置时间。
使用 UTC 时间(不转换为当地时间)
将时间设置为 TIME
显示时间,而不是现在
FMT(strptime 格式)用于 -s/-d TIME 转换
显示FILE的最后修改时间
输出 RFC-2822 日期
输出 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 [-x] [-eSCRIPT]... [-fFILE]... [FILE]...
微型 RPN 计算器。
操作:
算术
除以余数
模幂
平方根
打印堆栈顶部而不弹出
打印整个堆栈
弹出值并设置精度
弹出值并设置输入基数
弹出值并设置输出基数
例子:
dc -e'2 2 + p' -> 4 dc -e'8 8 * 2 2 + / p' -> 16
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]
通过转换和格式化复制文件。
从 FILE 而不是 stdin 读取
写入文件而不是标准输出
一次读写N个字节
一次读取N个字节
一次写入N个字节
仅复制 N 个输入块
跳过 N 个输入块
跳过N个输出块
不要截断输出文件
读取错误后继续
用零填充块
完成之前将数据物理写出
交换每对字节
Skip=N 以字节为单位
count=N 以字节为单位
eek=N 以字节为单位
O_DIRECT 输入
O_DIRECT 输出
读取完整块
以附加模式打开输出
抑制率输出
抑制所有输出
N 可能带有后缀
c (1), w (2), b (512), kB (1000), k (1024), MB, M, GB, G
deallocvt [N]
释放未使用的虚拟终端 /dev/ttyN
depmod [-n] [-b BASE] [VERSION] [MODFILES]...
生成modules.dep、别名和符号文件。
使用 BASE/lib/modules/VERSION
试运行:将文件打印到标准输出
devmem ADDRESS [WIDTH [VALUE]]
从物理地址读/写。
采取行动的地址
宽度(8/16/...)
待写入数据
df [-PkmhTai] [-B SIZE] [-t TYPE] [FILESYSTEM]...
打印文件系统使用统计信息。
POSIX 输出格式
1024 字节块(默认)
1M字节块
人类可读(例如 1K 243M 2G)
打印文件系统类型
仅打印此类型的安装件
显示所有文件系统
索引节点
块大小
diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2
逐行比较文件并输出它们之间的差异。此实现仅支持统一差异。
将所有文件视为文本
忽略空白量的变化
忽略行全为空白的更改
努力寻找较小的一组更改
忽略大小写差异
使用 LABEL 代替统一标头中的文件名
将不存在的文件视为空文件
仅输出文件是否不同
递归
比较目录时从 FILE 开始
必要时通过给选项卡添加前缀来使选项卡对齐
当两个文件相同时报告
将输出中的制表符扩展到空格
输出 LINES 行上下文
忽略所有空格
dirname FILENAME
从 FILENAME 中去除非目录后缀。
dmesg [-cr] [-n LEVEL] [-s SIZE]
打印或控制内核环缓冲区。
打印后清除环形缓冲区
设置控制台日志记录级别
缓冲区大小
打印原始消息缓冲区
dos2unix [-ud] [FILE]
将 FILE 就地从 DOS 格式转换为 Unix 格式。当没有给出文件时,使用 stdin/stdout。
DOS2UNIX
UNIX2DOS
du [-aHLdclsxhmk] [FILE]...
总结用于文件(或目录)的磁盘空间。
也显示文件大小
外观尺寸(含孔)
遵循所有符号链接
遵循命令行上的符号链接
将输出限制为深度 < N 的目录(以及带 -a 的文件)
显示总计
如果硬链接,则多次计算大小
仅显示每个参数的总计
跳过不同文件系统上的目录
人类可读格式的大小(例如,1K 243M 2G)
大小(以兆字节为单位)
大小以千字节为单位(默认)
dumpkmap > keymap
将二进制键盘转换表打印到标准输出。
dumpleases [-r|-a] [-d] [-f LEASEFILE]
显示 udhcpd 授予的 DHCP 租约。
租赁文件
显示剩余时间
显示过期时间
显示时间(以秒为单位)
echo [-neE] [ARG]...
将 ARG 打印到标准输出。
没有尾随换行符
解释反斜杠转义(\t=制表符等)
不解释反斜杠转义(默认)
env [-i0] [-u NAME]... [-] [NAME=VALUE]... [PROG ARGS]
设置环境后打印当前环境或运行PROG。
从空环境开始
NUL 终止输出
从环境中删除变量
expand [-i] [-t N] [FILE]...
将制表符转换为空格,写入标准输出。
非空格后不转换制表符
每 N 个字符停止一个制表符
expr EXPRESSION
打印表达式的值。
表达式可以是:
如果既不为 null 也不为 0,则为 ARG1,否则为 ARG2
如果两个参数都不为 null 或 0,则为 ARG1,否则为 0
如果 ARG1 小于 ARG2,则为 1,否则为 0。同样:
ARG1 和 ARG2 之和。相似地:
STRING 中 REGEXP 的锚定模式匹配
与STRING:REGEXP
相同
STRING的子串,POS从1开始计数
STRING 中找到任何 CHARS 的索引,或 0
STRING 的长度
将 TOKEN 解释为字符串,即使它是 match
等关键字或 /
等运算符
表达的价值
请注意,对于 shell,许多运算符需要转义或引用。如果两个 ARG 都是数字,则比较是算术比较,否则按字典顺序比较。模式匹配返回 \( 和 \) 之间匹配的字符串或 null;如果不使用 \( 和 \),则返回匹配的字符数或 0。
factor [NUMBER]...
打印素因数。
fallocate [-o OFS] -l LEN FILE
为 FILE 预分配空间。
范围偏移
范围长度
fatattr [-+rhsvda] FILE...
更改 FAT 文件系统上的文件属性。
清除属性
设置属性
只读
隐
系统
体积标识
目录
档案
fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK
更改分区表。
开始和结束位于扇区(而不是柱面)
显示每个磁盘的分区表,然后退出
(对于某些 MO 磁盘)使用 2048 字节扇区
设置柱面数/磁头数/扇区数
通常为 255
通常为 63
find [-HL] [PATH]... [OPTIONS] [ACTIONS]
搜索文件并对它们执行操作。第一个失败的操作将停止当前文件的处理。默认值:PATH 是当前目录,操作是-print
。
跟随符号链接
...仅在命令行上
不要降级其他文件系统上的目录
最多下降 N 层。 -maxdepth 0 仅将操作应用于命令行参数
不要在前 N 个级别上执行操作
*遍历目录*之后*对目录进行操作
行动:
-o/-a 的组操作
反转 ACT 成功/失败
如果 ACT1 失败,停止,否则执行 ACT2
如果 ACT1 成功,则停止,否则执行 ACT2 注意:-a 的优先级高于 -o
将文件名(不带目录名)与模式匹配
不区分大小写-名称
匹配 PATTERN 的路径
不区分大小写-path
匹配正则表达式 PATTERN 的路径
文件类型为 X(以下之一:f、d、l、b、c、s、p)
文件可执行
在文件模式下设置至少一个掩码位 (+MASK)、所有位 (-MASK) 或恰好 MASK 位
mtime 大于 (+N)、小于 (-N) 或正好是过去 N 天
atime 过去 +N/-N/N 天
ctime +N/-N/N 天过去
mtime 大于 (+N)、小于 (-N) 或恰好是过去 N 分钟
atime 过去 +N/-N/N 分钟
ctime +N/-N/N 分钟过去
mtime 比 FILE 更新
文件的索引节点号为 N
文件与 FILE 相同
文件归给定用户所有
文件归给定组所有
文件大小为 N (c:bytes,k:kbytes,b:512 bytes(def.)) +/-N:文件大小大于/小于 N
链接数大于 (+N)、小于 (-N) 或正好 N
匹配空文件/目录
如果当前文件是目录,则不要进入该目录 如果未指定以下任何操作,则假定为 -print
打印文件名
打印文件名,NUL 终止
运行 CMD,并将所有 {} 实例替换为文件名。如果 CMD 以非零值退出则失败
运行 CMD,并将 {} 替换为文件名列表
出口
findfs LABEL=label or UUID=uuid
根据标签或 UUID 查找文件系统设备。
fold [-bs] [-w WIDTH] [FILE]...
将输入行包装在文件(或标准输入)中,写入标准输出。
计算字节数而不是列数
在空格处中断
使用 WIDTH 列而不是 80
free [-bkmgh]
显示可用和已用内存。
freeramdisk DEVICE
释放指定 ramdisk 使用的所有内存。
fsfreeze --[un]freeze MOUNTPOINT
刷新并停止写入 MOUNTPOINT。
fstrim [OPTIONS] MOUNTPOINT
要丢弃的偏移量(以字节为单位)
要丢弃的字节数
最小范围长度
打印丢弃的字节数
ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE
通过 FTP 下载文件。
继续之前的传输
冗长
用户名
密码
ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE
将文件上传到 FTP 服务器。
冗长
用户名
密码
getopt [OPTIONS] [--] OPTSTRING PARAMS
允许以单个 - 开头的长选项
识别的长选项
报告错误的名称
识别的简短选项
无法识别的选项没有错误消息
无正常输出
设置 shell 引用约定
版本测试(以4退出)
不要引用输出
例子:
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 [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]
打开 TTY,提示输入登录名,然后调用 /bin/login
启用硬件 RTS/CTS 流控制
设置CLOCAL(忽略载波检测状态)
从调制解调器获取波特率 CONNECT 状态消息
不提示输入登录名
发送 /etc/issue 之前等待 CR 或 LF
不显示/etc/issue
显示 ISSUE_FILE 而不是 /etc/issue
调用 LOGIN 而不是 /bin/login
如果未读取到登录名,则在 SEC 后终止
先发送 INITSTR
将 HOST 作为主机名登录到 utmp 文件中
BAUD_RATE 为 0 使其保持不变。
grep [-HhnlLoqvsrRiwFEz] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...
在文件(或标准输入)中搜索模式。
添加“文件名:”前缀
不要添加“文件名:”前缀
添加“line_no:”前缀
仅显示匹配的文件名
仅显示不匹配的文件名
仅显示匹配行数
仅显示行的匹配部分
安静的。如果找到 PATTERN,则返回 0,否则返回 1
选择不匹配的行
抑制打开和读取错误
递归
递归和取消引用符号链接
忽略大小写
仅匹配整个单词
仅匹配整行
PATTERN 是一个文字(不是正则表达式)
PATTERN 是一个扩展的正则表达式
NUL 终止输入
每个文件最多匹配 N 次
打印 N 行尾随上下文
打印 N 行主要上下文
与“-A N -B N”相同
要匹配的模式
从文件中读取模式
groups [USER]
打印 USER 所在的组。
gunzip [-cfkt] [FILE]...
解压缩文件(或标准输入)。
写入标准输出
力量
保留输入文件
测试完整性
gzip [-cfkdt] [FILE]...
压缩文件(或标准输入)。
解压
写入标准输出
力量
保留输入文件
测试完整性
halt [-d DELAY] [-nfw]
停止系统。
SEC 延迟间隔
不要同步
强制(不经过初始化)
只写一条wtmp记录
head [OPTIONS] [FILE]...
打印文件(或标准输入)的前 10 行。如果有多个文件,请在每个文件前面添加一个文件名标头。
打印前 N 行
打印除最后 N 行之外的所有内容
打印前 N 个字节 (b:*512 k:*1024 m:*1024^2)
切勿打印标题
始终打印标题
hexdump [-bcdoxCv] [-e FMT] [-f FMT_FILE] [-n LEN] [-s OFS] [FILE]...
以用户指定的格式显示文件(或标准输入)。
1字节八进制显示
1字节字符显示
2字节十进制显示
2字节八进制显示
2字节十六进制显示
hex+ASCII 每行 16 个字节
显示全部(无双折叠)
例子:
16/1 "%02x|""\n"
仅显示前 LENGTH 字节
跳过 OFFSET 字节
hostid
打印出机器的唯一 32 位标识符。
hostname [-sidf] [HOSTNAME | -F FILE]
显示或设置主机名或 DNS 域名。
短的
主机名的地址
DNS域名
完全合格的域名
使用文件内容作为主机名
httpd [-ifv[v]] [-c CONFFILE] [-p [IP:]PORT] [-u USER[:GRP]] [-r REALM] [-h HOME] or httpd -d/-e/-m STRING
侦听传入的 HTTP 请求。
网络模式
在前台运行
冗长
绑定到IP:端口(默认*:80)
绑定端口后设置uid/gid
基本身份验证的身份验证领域
主目录(默认。)
配置文件(默认{/etc,HOME}/httpd.conf)
MD5 加密 STRING
HTML 编码 STRING
URL 解码 STRING
hwclock [-swul] [--systz] [-f DEV]
显示或设置硬件时钟 (RTC)。
从 RTC 设置系统时间
根据系统时间设置 RTC
设置内核时区,如果 RTC 保持为本地时间,则更正系统时间
使用指定设备(例如/dev/rtc2)
假设 RTC 保存为 UTC
假设 RTC 保持为本地时间(如果两者均未给出,则从 /etc/adjtime 读取)
i2cdetect -l | -F I2CBUS | [-ya] [-q|-r] I2CBUS [FIRST LAST]
检测I2C芯片。
列出已安装的总线
列出该总线上的功能
禁用交互模式
强制扫描非常规地址
使用 smbus 快速写入命令进行探测(默认)
使用 smbus 读取字节命令来探测 FIRST 和 LAST 限制探测范围
i2cdump [-fy] [-r FIRST-LAST] BUS ADDR [MODE]
检查 I2C 寄存器
I2CBUS I2C bus number ADDRESS 0x03-0x77
模式是:
字节(默认)
单词
偶数寄存器地址上的字
I2C 块
SMBus块
连续字节。为 SMBus PEC 添加 p
强制访问
禁用交互模式
限制正在访问的寄存器数量
i2cget [-fy] BUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]
从 I2C/SMBus 芯片寄存器读取
I2CBUS I2C bus number ADDRESS 0x03-0x77
模式是:
读取字节数据(默认)
读取字数据
写入字节/读取字节。为 SMBus PEC 添加 p
强制访问
禁用交互模式
i2cset [-fy] [-m MASK] BUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
设置I2C寄存器
I2CBUS I2C bus number ADDRESS 0x03-0x77
模式是:
字节,无值
字节数据(默认)
字数据
I2C 块数据
SMBus 块数据。为 SMBus PEC 添加 p
强制访问
禁用交互模式
读回并比较结果
MASK 指定要写入哪些位的掩码
i2ctransfer [-fay] I2CBUS { rLENGTH[@ADDR] | wLENGTH[@ADDR] DATA...}...
在一次传输中读/写 I2C 数据。
强制访问繁忙地址
强制访问非常规地址
禁用交互模式
id [-ugGnr] [USER]
打印有关 USER 或当前用户的信息。
用户身份
组号
补充组 ID
打印姓名而不是数字
打印真实身份证件而非有效身份证件
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 [-nvf] [-i FILE] -a | IFACE...
取消配置所有接口
使用 FILE 而不是 /etc/network/interfaces
试运行
在做这件事之前打印出会发生什么
力量
ifup [-nvf] [-i FILE] -a | IFACE...
配置所有接口
使用 FILE 而不是 /etc/network/interfaces
试运行
在做这件事之前打印出会发生什么
力量
init
Init 是引导期间启动的第一个进程。它永远不会退出。它根据/etc/inittab
(重新)生成子级。信号:
重新加载/etc/inittab
停止重生直到
重新执行另一个 init
运行暂停/重新启动/关机/Ctrl-Alt-Del 脚本
insmod FILE [SYMBOL=VALUE]...
加载内核模块。
ionice [-c 1-3] [-n 0-7] [-t] { -p PID | PROG ARGS }
更改 I/O 优先级和类别。
班级。 1:实时 2:尽力而为 3:空闲
优先事项
忽略错误
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 [-bnmphs] ADDRESS[/PREFIX] [NETMASK]
根据 IP 地址计算并显示网络设置。
广播地址
网络地址
IP 的默认网络掩码
IP/网络掩码的前缀
解析的主机名
没有错误消息
ipneigh show|flush [to PREFIX] [dev DEV] [nud STATE]
kill [-l] [-SIG] PID...
向给定的 PID 发送信号(默认:TERM)。
列出所有信号名称和编号
killall [-lq] [-SIG] PROCESS_NAME...
向给定进程发送信号(默认:TERM)。
列出所有信号名称和编号
如果没有进程被杀死,不要抱怨
klogd [-c N] [-n]
将内核消息记录到系统日志。
打印到控制台消息比 prio N (1-8) 更紧急
在前台运行
last
显示最后登录系统的用户的列表。
less [-EFIMmNSRh~] [FILE]...
一次查看一屏文件(或标准输入)。
到达文件末尾后退出
如果整个文件适合第一个屏幕则退出
在所有搜索中忽略大小写
显示状态行以及文件中的行号和百分比
每行添加行号前缀
截断长行
删除输入中的颜色转义代码
禁止显示 EOF 之后的 ~s
link FILE LINK
创建到文件的硬链接。
ln [-sfnbtv] [-S SUF] TARGET... LINK|DIR
创建到指定目标的链接 LINK 或 DIR/TARGET。
创建符号链接而不是硬链接
删除现有目的地
不要取消引用符号链接 - 像普通文件一样对待
在链接操作之前备份目标(如果存在)
制作备份文件时使用后缀而不是~
将 LINK 视为文件,而不是 DIR
冗长
loadfont < font
从标准输入加载控制台字体。
loadkmap < keymap
从标准输入加载二进制键盘转换表。
logger [-s] [-t TAG] [-p PRIO] [MESSAGE]
将 MESSAGE(或标准输入)写入系统日志。
记录到 stderr 以及系统日志
使用指定标签登录(默认为用户名)
优先级(数字或 FACILITY.LEVEL 对)
login [-p] [-h HOST] [[-f] USER]
在系统上开始新会话。
不进行身份验证(用户已通过身份验证)
主机用户来自(用于网络登录)
保护环境
$LOGIN_TIMEOUT
秒(默认 60、0 — 禁用)
logname
打印当前用户的名称。
logread [-fF]
显示 syslogd 循环缓冲区中的消息。
随着日志增长输出数据
与 -f 相同,但首先转储缓冲区
关联循环设备:
losetup [-rP] [-o OFS] {-f|LOOPDEV} FILE
重读文件大小:
losetup -c LOOPDEV
解除关联:
losetup -d LOOPDEV
显示状态:
losetup -a
显示下一个空闲循环设备:
losetup -f
起始 OFS 字节进入 FILE
扫描分区
只读
显示/使用下一个空闲循环设备
ls [-1AaCxdLHRFplinshrSXvctu] [-w WIDTH] [FILE]...
列出目录内容。
一列输出
包括以 . 开头的名称。
与 -a 类似,但排除 .和 ..
按行列出
列出目录名称,而不是内容
跟随符号链接
遵循命令行上的符号链接
递归
将/附加到目录名称
将指示符(*/=@| 之一)附加到名称
长格式
列出索引节点号
列出数字 UID 和 GID 而不是名称
列出分配的块
列出ctime
列出时间
列出完整的日期/时间
人类可读的大小(1K 243M 2G)
按尺寸排序
按扩展名排序
按版本排序
按时间排序
按时间排序
按时间排序
反转排序顺序
设置 N 列宽
lsmod
列出加载的内核模块。
lzcat [FILE]...
解压缩到标准输出。
lzma -d [-cfk] [FILE]...
解压缩文件(或标准输入)。
解压
写入标准输出
力量
保留输入文件
测试完整性
lzop [-cfUvd123456789CF] [FILE]...
压缩级别
解压
写入标准输出
力量
删除输入文件
冗长
不存储或验证校验和
同时写入压缩块的校验和
md5sum [-c[sw]] [FILE]...
打印或检查 MD5 校验和。
根据文件中的列表检查总和
不输出任何内容,状态码显示成功
警告校验和行格式不正确
mdev [-vS] { [-s] | [-df] }
冗长
也记录到系统日志
扫描 /sys
并填充 /dev
守护进程,监听 netlink
在前台运行
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 [-d DELAY_MS] [-t TIMEOUT_MS ] [-s SPEED] [-X] TTY
将字节从 stdin 复制到 TTY,然后从 TTY 复制到 stdout。
在将每个下一个字节发送给 TTY 输出之前,请等待 DELAY 毫秒
如果 stdin 和 TTY 都静默 TIMEOUT 毫秒,则退出
将串行线设置为 SPEED
从 stdin 禁用 NUL 和 Ctrl-X 的特殊含义
mim [-f FILE] [SHELL_OPTIONS] [TARGET] ...
从类似 Makefile 的规范文件运行脚本
Spec 文件(默认 Mimfile)
mkdir [-m MODE] [-p] DIRECTORY...
创建目录。
模式
如果存在则不报错;根据需要创建父目录
mkdosfs [-v] [-n LABEL] BLOCKDEV [KBYTES]
创建 FAT32 文件系统。
冗长
体积标识
mke2fs [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]
块大小,字节
力量
最大文件数为 filesystem_size/RATIO
索引节点大小(最小 128)
体积标识
为管理员保留的块的百分比
试运行
mkfifo [-m MODE] NAME
创建命名管道
模式(默认a=rw)
mknod [-m MODE] NAME TYPE [MAJOR MINOR]
创建特殊文件(块、字符或管道)
创建模式(默认a=rw)
类型:
块设备
字符设备
命名管道(MAJOR MINOR 必须省略)
mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT]
打印crypt (3) 哈希密码。
从 fd N 读取密码
des、md5、sha256/512(默认)
mkswap [-L LBL] BLOCKDEV [KBYTES]
准备 BLOCKDEV 用作交换分区。
标签
mktemp [-dt] [-p DIR] [TEMPLATE]
创建一个临时文件,其名称基于 TEMPLATE 并打印其名称。 TEMPLATE 必须以 XXXXXX 结尾(例如 [/dir/]nameXXXXXX)。如果没有 TEMPLATE,则假定为 -t tmp.XXXXXX。
创建目录,而不是文件
出现错误时静默失败
将基本目录名称添加到 TEMPLATE 前面
使用 DIR 作为基目录(隐含 -t)
不要创造任何东西;打印名称 基本目录为:-p DIR, else $TMPDIR
, else /tmp
modinfo [-adlpn0] [-F keyword] MODULE
“-F 作者”的快捷方式
“-F 描述”的快捷方式
“-F 许可证”的快捷方式
“-F parm”的快捷方式
要寻找的关键字
NUL 终止输出
modprobe [-alrqvsDb] MODULE [SYMBOL=VALUE]...
加载多个模块
列表(MODULE 是一种模式)
删除模块(堆栈)或进行自动清洁
安静的
冗长
记录到系统日志
显示依赖关系
也将黑名单应用于模块名称
more [FILE]...
一次查看一屏文件(或标准输入)。
mount [OPTIONS] [-o OPT] DEVICE NODE
挂载文件系统。文件系统自动检测需要 /proc。
在 fstab 中挂载所有文件系统
试运行
不要运行挂载助手
只读挂载
文件系统类型
读取 FILE 而不是 /etc/fstab
仅使用选项 OPT 挂载文件系统(仅限 -a)
有特定于文件系统的 -o
标志。 -o OPT
选项可以是:
忽略(自动检测循环设备)
写入是同步的
禁用/启用 inode 访问时间更新
禁用/启用目录的 atime 更新
禁用/启用相对于 modific$的 atime 更新
(禁止)允许使用特殊设备文件
(禁止)允许使用可执行文件
(禁止)允许设置用户 ID 根程序
[递归地]转换为共享子树
[递归地]转换为从属子树
[递归地]转换为私有子树
使安装点能够绑定安装
将文件或目录[递归地]绑定到另一个$
重新定位现有挂载点
重新挂载已挂载的文件系统,更改标志
与-r相同
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 [-finT] SOURCE DEST or: mv [-fin] SOURCE... { -t DIRECTORY | DIRECTORY }
将 SOURCE 重命名为 DEST,或将 SOURCE 移动到 DIRECTORY。
覆盖前不提示
交互式,覆盖前提示
不要覆盖现有文件
如果 DEST 是目录则拒绝移动
将所有 SOURCE 移至 DIR
nameif [-s] [-c FILE] [IFNAME HWADDR]...
当网络接口处于关闭状态时重命名它。地址为 HWADDR 的设备被重命名为 IFNAME。
配置文件(默认:/etc/mactab
)
记录到系统日志
nbd-client { [-b BLKSIZE] [-N NAME] [-t SEC] [-p] HOST [PORT] | -d } BLOCKDEV
连接到HOST并在BLOCKDEV上提供网络块设备。
nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
打开到 IP:PORT 或 FILE 的管道。
侦听模式,用于入站连接(对于持久服务器,使用 -ll 和 -e)
本地端口
连接超时
发送线路的延迟间隔
使用文件(ala /dev/ttyS0)而不是网络
连接后运行PROG
netstat [-ral] [-tuwx] [-en]
显示网络信息。
路由表
所有插座
监听套接字。其他:连接的套接字
TCP 套接字
UDP 套接字
原始套接字
Unix 套接字。其他:所有套接字类型
其他/更多信息
不解析名称
nl [OPTIONS] [FILE]...
将文件写入标准输出并添加行号。
要编号的行 - a:全部,t:非空,n:无
行号增量
使用 STRING 作为行号分隔符
从N开始
行号宽度
nologin
礼貌地拒绝登录
nproc [--all] [--ignore=N]
打印可用 CPU 的数量。
安装的CPU数量
排除N个CPU
nsenter [OPTIONS] [PROG ARGS]
从中获取命名空间的目标进程
输入挂载命名空间
输入 UTS 命名空间(主机名等)
进入 System V IPC 命名空间
输入网络命名空间
输入 pid 命名空间
输入用户命名空间
在输入的命名空间中设置 uid
在输入的命名空间中设置 gid
不要碰 uids 或 gids
设置根目录
设置工作目录
在执行 PROG 之前不要 fork
nslookup [-type=QUERY_TYPE] [-debug] HOST [DNS_SERVER]
查询HOST的DNS。查询类型:
soa,ns,a,aaaa,cname,mx,txt,ptr,srv,any
nuke DIR...
删除 DIR。
od [-abcdfhilovxs] [-t TYPE] [-A RADIX] [-N SIZE] [-j SKIP] [-S MINSTR] [-w WIDTH] [FILE]...
明确打印文件(或标准输入),默认为八进制字节。
openvt [-c N] [-sw] [PROG ARGS]
在新的虚拟终端上启动 PROG
使用指定的VT
切换到VT
等待PROG退出
partprobe DEVICE...
要求内核重新扫描分区表。
paste [-d LIST] [-s] [FILE]...
粘贴每个输入文件中的行,并用制表符分隔。
使用 LIST 中的分隔符,而不是制表符
串行:一次一个文件
patch [-RNE] [-p N] [-i DIFF] [ORIGFILE [PATCHFILE]]
从文件名中去除 N 个前导组件
读取 DIFF 而不是 stdin
反向补丁
忽略已经应用的补丁
如果输出文件变空,则将其删除
实际上并不更改文件
pidof [NAME]...
列出名称与 NAME 匹配的所有进程的 PID。
ping [OPTIONS] HOST
向主机发送 ICMP ECHO_REQUEST。
强制 IP 或 IPv6 名称解析
仅发送 CNT ping
在数据包中发送 SIZE 数据字节(默认 56)
间隔
收到回复后立即 Ping
设置TTL
源接口或IP地址
等待第一个响应的秒数(默认 10)(发送所有 -c CNT 数据包后)
ping 退出之前的秒数(默认值:无限)(可以使用 -c CNT 提前退出)
安静,仅在开始/结束时显示输出
有效负载模式
ping6 [OPTIONS] HOST
向主机发送 ICMP ECHO_REQUEST。
仅发送 CNT ping
在数据包中发送 SIZE 数据字节(默认 56)
间隔
收到回复后立即 Ping
源接口或IP地址
等待第一个响应的秒数(默认 10)(发送所有 -c CNT 数据包后)
ping 退出之前的秒数(默认值:无限)(可以使用 -c CNT 提前退出)
安静,仅在开始/结束时显示输出
有效负载模式
pivot_root NEW_ROOT PUT_OLD
将当前根文件系统移至 PUT_OLD 并使 NEW_ROOT 成为新的根文件系统。
poweroff [-d DELAY] [-nf]
停止并关闭电源。
延迟间隔
不要同步
强制(不经过初始化)
printf FORMAT [ARG]...
根据 FORMAT (a-la C printf) 格式化并打印 ARG
ps [-o COL1,COL2=HEADER] [-T]
显示进程列表。
选择要显示的列
显示主题
pwd 打印当前工作目录的完整文件名
rdate [-s/-p] HOST
使用 RFC 868 从主机设置并打印时间。
只设置系统时间
仅打印时间
readlink [-fnv] FILE
显示符号链接的值。
通过遵循所有符号链接进行规范化
不要添加换行符
冗长
realpath FILE...
打印文件的绝对路径名。
reboot [-d DELAY] [-nf]
重新启动系统
延迟间隔
不要同步
强制(不经过初始化)
renice [-n] PRIORITY [[-p|g|u] ID...]...
更改正在运行的进程的调度优先级。
将 PRIORITY 添加到当前的好值。
进程 ID(默认)
进程组 ID
处理用户名
reset
重置终端(ESC 代码)和 termios(信号、缓冲、回显)。
resume BLOCKDEV [OFFSET]
从 BLOCKDEV 中的“挂起到磁盘”数据恢复系统状态。
rev [FILE]...
反转 FILE 行。
rm [-irf] FILE...
删除(取消链接)文件。
删除前始终提示
从不提示
递归
rmdir [-p] DIRECTORY...
如果 DIRECTORY 为空,则将其删除。
包括父母
rmmod [-wfa] [MODULE]...
卸载内核模块。
等到模块不再使用
强制卸载
删除所有未使用的模块(递归)
route [-ne] [-A inet[6]] [{add|del} [-net|-host] TARGET [netmask MASK] [gw GATEWAY] [metric N] [mss BYTES] [window BYTES] [reject] [IFACE]]
显示或编辑内核路由表。
不解析名称
显示其他/更多信息
选择地址族
rpm -i PACKAGE.rpm; rpm -qp[ildc] PACKAGE.rpm
操作 RPM 包。
命令:
安装包
查询包
显示信息
列表内容
列出文件
列出配置文件
rpm2cpio PACKAGE.rpm
输出 rpm 文件的 cpio 存档。
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 必须是挂载点。
切换后重新打开 stdio 到 DEV
掉落能力
试运行
run-parts [-a ARG]... [-u UMASK] [--reverse] [--test] [--exit-on-error] DIRECTORY
运行 DIRECTORY 中的一堆脚本。
将 ARG 作为参数传递给脚本
在运行脚本之前设置 UMASK
反向执行顺序
试运行
如果脚本以非零值退出,则退出
sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
或者
sed [-i[SFX]] [-nrE] CMD [FILE]...
在sed要执行的命令中添加CMD
将FILE内容添加到要执行的sed命令中
就地编辑文件(否则写入标准输出)。可选择备份文件,附加 SFX
禁止自动打印图案空间
使用扩展正则表达式语法
如果没有 -e 或 -f,则第一个非选项参数是 sed 命令字符串。其余参数是输入文件(如果没有则为 stdin)。
seq [-w] [-s SEP] [FIRST [INC]] LAST
从 FIRST 到 LAST 打印数字,步长为 INC。FIRST,INC 默认为 1。
用前导零填充到最后
字符串分隔符
setkeycodes { SCANCODE KEYCODE }...
修改内核的扫描码到键码映射,允许不寻常的键盘生成可用的键码。
SCANCODE 是 xx 或 e0xx(十六进制),KEYCODE 是十进制。
setpriv [OPTIONS] PROG ARGS
使用不同的权限设置运行 PROG。
显示当前能力
忽略 setuid/setgid 位和文件功能
设置可继承的能力
设置环境功能
setsid [-c] PROG ARGS
在新会话中运行 PROG。 PROG 没有控制端子,并且不受键盘信号(^C 等)的影响。
将控制终端设置为 stdin
sh [-il] [-|+Cabefmnuvx] [-|+o OPT]... [-c 'SCRIPT' [ARG0 ARGS] | FILE ARGS | -s ARGS]
Unix shell 解释器
sha1sum [-c[sw]] [FILE]...
打印或检查 SHA1 校验和
根据文件中的列表检查总和
不输出任何内容,状态码显示成功
警告校验和行格式不正确
sha256sum [-c[sw]] [FILE]...
打印或检查 SHA256 校验和。
根据文件中的列表检查总和
不输出任何内容,状态码显示成功
警告校验和行格式不正确
sha3sum [-c[sw]] [-a BITS] [FILE]...
打印或检查 SHA3 校验和。
根据文件中的列表检查总和
不输出任何内容,状态码显示成功
警告校验和行格式不正确
224(默认)、256、384、512
sha512sum [-c[sw]] [FILE]...
打印或检查 SHA512 校验和。
根据文件中的列表检查总和
不输出任何内容,状态码显示成功
警告校验和行格式不正确
shred [-fuz] [-n N] [-s SIZE] FILE...
覆盖/删除文件。
chmod 以确保可写性
书写尺寸
覆盖N次(默认3次)
最后用零覆盖
删除文件
shuf [-n NUM] [-o FILE] [-z] [FILE | -e [ARG...] | -i L-H]
随机排列线。
最多输出 NUM 行
写入文件,而不是标准输出
NUL 终止输出
将 ARG 视为线条
将数字 L-H 视为线
sleep [N]...
暂停时间等于给定参数的总和,其中每个参数可以有一个可选的后缀(s)秒、(m)分钟、(h)我们或(d)天
sort [-nrughMcszbdfiokt] [-o FILE] [-k START[.OFS][OPTS][,END[.OFS][OPTS]] [-t CHAR] [FILE]...
对文本行进行排序。
输出到文件
检查输入是否已排序
忽略前导空格
忽略大小写
忽略不可打印的字符
字典顺序(仅限空白或字母数字)
对数字进行排序
通用数值排序
对人类可读的数字进行排序 (2K 1G)
排序月份
排序版本
字段分隔符
按第 N 个字段排序
反转排序顺序
稳定(不按字母顺序排序)
抑制重复行
NUL 终止的输入和输出
ssl_client [-e] -s FD [-r FD] [-n SNI]
start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]
搜索匹配的进程,然后
停止所有匹配进程
除非找到匹配的进程,否则启动进程
工艺匹配:
仅匹配该用户的进程
在 /proc/PID/stat 的 comm 字段中匹配具有 NAME 的进程
在 /proc/PID/cmdline 中使用此命令匹配进程
将进程与 FILE 中的 PID 进行匹配
接下来指定的条件必须仅与 -S 匹配:
要运行的程序
第零个参数
背景
改变漂亮的水平
更改用户/组
将PID写入-p指定的pid文件中
接下来指定的条件必须仅与 -K 匹配:
发送信号
仅匹配,如果找到则以 0 退出
其他:
如果不执行任何操作,则退出状态为 0
冗长
安静的
stat [-ltf] [-c FMT] FILE...
显示文件(默认)或文件系统状态。
使用指定格式
显示文件系统状态
关注链接
简洁显示
文件的 FMT 序列:
八进制访问权限
人类可读形式的访问权限
分配的块数(参见 %B)
%b 报告的每个块的大小(以字节为单位)
设备编号(十进制)
设备编号(十六进制)
十六进制原始模式
文件类型
组号
团队名字
硬链接数量
索引节点号
文件名
文件名,如果符号链接则带有 -> TARGET
I/O块大小
总大小(以字节为单位)
主要设备类型(十六进制)
次要设备类型(十六进制)
用户身份
用户名
最后访问时间
上次访问时间(自纪元以来的秒数)
最后修改时间
自 Epoch 以来最后一次修改的时间(以秒为单位)
最后更改时间
自纪元以来最后一次更改的时间(以秒为单位)
文件系统的 FMT 序列:
非超级用户可用的免费块
数据块总数
文件节点总数
空闲文件节点
空闲块
十六进制文件系统 ID
文件名的最大长度
文件名
块大小(为了更快的传输)
基本块大小(用于块计数)
输入十六进制
以人类可读的形式输入
strings [-fo] [-t o|d|x] [-n LEN] [FILE]...
显示二进制文件中的可打印字符串。
在字符串前面加上文件名
在字符串前面加上八进制偏移量
字符串前面带有以 8/10/16 为基数的偏移量
至少 LEN 个字符组成一个字符串(默认 4)
stty [-a|g] [-F DEVICE] [SETTING]...
如果没有参数,则打印波特率、线路规则以及与 stty sane 的偏差。
打开设备而不是标准输入
以人类可读的形式打印所有当前设置
以 stty 可读的形式打印
请参阅联机帮助页
svc [-udopchaitkx] SERVICE_DIR...
控制由 runsv Supervisor 监控的服务。
如果服务没有运行,则启动它;如果停止则重新启动
如果服务正在运行,发送TERM+CONT信号;不要重新启动它
一次:如果服务没有运行,则启动它;不要重新启动它
向服务发送 STOP、CONT、HUP、ALRM、INT、TERM、KILL 信号
退出:一旦服务宕机,runsv就会退出
svok SERVICE_DIR
检查runsv Supervisor是否正在运行。如果存在,则退出代码为 0;如果不存在,则退出代码为 100;如果 SERVICE_DIR 不存在,则退出代码为 111(带有错误消息)。
swapoff [-a] [DEVICE]
停止在设备上进行交换。
停止所有交换设备上的交换
swapon [-a] [-e] [-d[POL]] [DEVICE]
开始在设备上进行交换。
开始在所有交换设备上进行交换
在交换时丢弃块 (POL=once)、释放时丢弃块 (POL=pages),或两者兼而有之(POL 省略)
静默跳过不存在的设备
switch_root [-c CONSOLE_DEV] NEW_ROOT NEW_INIT [ARGS]
释放initramfs并切换到另一个根fs:chroot到NEW_ROOT,删除/中的所有内容,将NEW_ROOT移动到/,执行NEW_INIT。
PID 必须为 1。
NEW_ROOT 必须是挂载点。
DEV 切换后重新打开 stdio 到 DEV
sync [-df] [FILE]...
将所有缓冲块(在文件中)写入磁盘。
避免同步元数据
同步 FILE 下的文件系统
sysctl [-enq] { -a | -p [FILE]... | [-w] [KEY[=VALUE]]... }
显示/设置内核参数
不要警告未知密钥
不显示键名
安静的
显示所有值
从文件设置值(默认 /etc/sysctl.conf)
设定值
syslogd [OPTIONS]
系统日志实用程序。
在前台运行
登录主机:端口(默认端口:514)
本地和通过网络登录(仅当 -R 时默认为网络)
记录到共享内存缓冲区(使用 logread 读取它)
记录到文件(默认:/var/log/messages,如果 - 则为标准输出)
旋转前的最大大小 (KB)(默认 200KB,0=关闭)
要保留的 N 个轮转日志(默认 1,最大 99,0=清除)
仅记录比 prio N (1-8) 更紧急的消息
输出较小
剥离客户端生成的时间戳
删除重复项
使用 FILE 作为配置(默认:/etc/syslog.conf)
tac [FILE]...
连接文件并反向打印它们。
tail [OPTIONS] [FILE]...
将文件(或标准输入)的最后 10 行打印到。如果有多个文件,请在每个文件前面添加一个文件名标头。
打印最后 N 个字节
打印最后 N 行
从第 N 行开始并打印其余部分 (b:*512 k:*1024 m:*1024^2)
切勿打印标题
始终打印标题
随着文件的增长打印数据
与 -f 相同,但继续重试
使用 -f 读取之间等待几秒
tar c|x|t [-ZzJjahmvokO] [-f TARFILE] [-C DIR] [FILE]...
从 tar 文件创建、提取或列出文件。
创造
提炼
列表
TARFILE 的名称('-' 表示标准输入/输出)
运行前更改为DIR
冗长
提取到标准输出
不恢复mtime
不恢复用户:组
不要替换现有文件
使用 compress 进行(解)压缩
使用 gzip 压缩(解)压缩
使用 xz 压缩(解压缩)
使用 bzip2 进行(解)压缩
使用 lzma 压缩(解)压缩
基于扩展的(解)压缩
跟随符号链接
替换现有文件
要剥离的主要组件数量
不要在目录中下降
使用数字用户:组
不恢复访问权限
通过管道将文件传输至 COMMAND
taskset [-ap] [HEXMASK | -c LIST] { PID | PROG ARGS }
设置或获取 CPU 关联性。
PID 操作
对所有线程进行操作
亲和力是一个列表,而不是掩码
tee [-ai] [FILE]...
将标准输入复制到每个文件,也复制到标准输出。
附加到给定的文件,不要覆盖
忽略中断信号(SIGINT)
telnet [-a] [-l USER] HOST [PORT]
连接到 telnet 服务器。
使用 $USER 变量自动登录
自动以 USER 身份登录
tftp [OPTIONS] HOST [PORT]
从/到 tftp 服务器传输文件。
本地文件
远程文件
获取文件
放置文件
以字节为单位传输块
time [-vpa] [-o FILE] PROG ARGS
运行PROG,退出时显示资源使用情况。
冗长
POSIX 输出格式
自定义格式
将结果写入文件
追加(否则覆盖)
timeout [-s SIG] [-k KILL_SECS] SECS PROG ARGS
运行程序。如果它在 SECS 秒内没有消失,则发送 SIG 给它。
默认 SIG:术语。
如果在 KILL_SECS 秒内仍然存在,则发送 KILL。
top [-bH] [-n COUNT] [-d SECONDS]
实时显示流程活动的视图。每秒从 /proc 读取所有进程的状态并显示整个屏幕。
按键:
按 pid/mem/cpu/time 排序
逆序排序
切换线程
出口
选项:
批处理模式
N次迭代后退出
更新之间的延迟
显示主题
touch [-cham] [-d DATE] [-t DATE] [-r FILE] FILE...
更新文件的 mtime。
不要创建文件
不要点击链接
仅更改一次
仅更改 mtime
使用日期/时间
使用日期/时间
使用 FILE 的日期/时间
tr [-cds] STRING1 [STRING2]
从标准输入中翻译、压缩或删除字符,写入标准输出。
取 STRING1 的补码
删除编码为 STRING1 的输入字符
将STRING2的多个输出字符压缩为一个字符
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 的路由。
强制 IP 或 IPv6 名称解析
设置不分段位
显示返回数据包的TTL值
打印数字地址
绕过路由表,直接发送到HOST
冗长
第一个跃点数(默认 1)
最大跳数
每跳探测数量(默认 3)
探测中使用的基本 UDP 端口号(默认 33434)
源地址
源码接口
探测数据包中的服务类型(默认 0)
等待响应(默认 3)
每次发送前等待
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 的路由。
打印数字地址
绕过路由表,直接发送到HOST
冗长
第一个跃点数(默认 1)
最大跳数
每跳探测数量(默认 3)
探测中使用的基本 UDP 端口号(默认 33434)
源地址
源码接口
探测数据包中的服务类型(默认 0)
等待响应(默认 3)
每次发送前等待
truncate [-c] -s SIZE FILE...
将文件截断为 SIZE。
不创建文件
ts [-is] [STRFTIME]
通过管道将 stdin 传输到 stdout,为每一行添加时间戳。
自开始以来的时间
自上一行以来的时间
tty [-s]
打印标准输入终端的文件名。
不打印任何内容,仅返回退出状态
ubirename UBI_DEVICE OLD_VOLNAME NEW_VOLNAME [OLD2 NEW2]...
重命名 UBI_DEVICE 上的 UBI 卷。
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]...
使用的接口(默认eth0)
在 DHCP 事件中运行 PROG(默认 /etc/udhcpc/default.script)
创建pid文件
请求广播回复
最多发送 N 个发现数据包(默认 3 个)
数据包之间的暂停(默认 3)
如果未获得租约则等待(默认 20)
未获得租约的背景
如果未获得租约则退出
获得租约后退出
退出时释放IP
在前台运行
也记录到系统日志
使用 ARP ping 验证提供的地址
请求该IP地址
不要请求任何选项(除非给出 -O)
从服务器请求选项 OPT(累积)
在发送的数据包中包含选项 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)
要求服务器更新 NAME 的 DNS 映射
供应商标识符(默认“udhcp VERSION”)
不发送 MAC 作为客户端标识符
信号:
续租
释放租约
udhcpd [-fS] [-I ADDR] [-a MSEC] [CONFFILE]
DHCP 服务器。
在前台运行
也记录到系统日志
本地地址
ARP ping 超时(默认 2000)
信号:
更新租赁文件
uevent [PROG ARGS]
uevent 为每个 netlink 通知运行 PROG。
PROG的环境包含从内核传递的数据。
典型用法(用于动态设备节点创建的守护进程):
uevent mdev & mdev -s
umount [-rlfda] [-t FSTYPE] FILESYSTEM|DIRECTORY
卸载文件系统。
卸载所有文件系统
如果挂载繁忙,则以只读方式重新挂载设备
延迟卸载(分离文件系统)
强制卸载(即无法访问 NFS 服务器)
如果已使用,则免费循环设备
仅卸载这些文件系统类型
uname [-amnrspvio]
打印系统信息。
打印全部
机器(硬件)类型
主机名
内核发布
内核名称(默认)
处理器类型
内核版本
硬件平台
操作系统名称
uncompress [-cf] [FILE]...
解压缩文件(或标准输入)。
写入标准输出
覆盖
unexpand [-fa][-t N] [FILE]...
将空格转换为制表符,写入标准输出。
转换所有空格
仅转换前导空格
每 N 个字符停止一个制表符
uniq [-cduiz] [-f,s,w N] [FILE [OUTFILE]]
丢弃重复的行。
按出现次数为行添加前缀
只打印重复的行
只打印唯一的行
忽略大小写
NUL 终止输出
跳过前 N 个字段
跳过前 N 个字符(在任何跳过的字段之后)
比较一行中的 N 个字符
unix2dos [-ud] [FILE]
将 FILE 就地从 Unix 格式转换为 DOS 格式。当没有给出文件时,使用 stdin/stdout。
DOS2UNIX
UNIX2DOS
unlink FILE
通过调用unlink()删除FILE。
unlzma [-cfk] [FILE]...
解压缩文件(或标准输入)。
写入标准输出
力量
保留输入文件
测试完整性
unshare [OPTIONS] [PROG ARGS]
取消共享挂载命名空间
取消共享 UTS 命名空间(主机名等)
取消共享 System V IPC 命名空间
取消共享网络命名空间
取消共享 PID 命名空间
取消共享用户命名空间
执行 PROG 之前分叉
将当前用户映射到root(隐含-U)
首先挂载 /proc 文件系统(隐含 -m)
修改挂载命名空间中的挂载传播
控制用户命名空间中的 setgroups 系统调用
unxz [-cfk] [FILE]...
解压缩文件(或标准输入)。
写入标准输出
力量
保留输入文件
测试完整性
unzip [-lnojpqK] FILE[.zip] [FILE]... [-x FILE]... [-d DIR]
从 ZIP 存档中提取文件。
列出内容(使用 -q 表示缩写)
从不覆盖文件(默认:询问)
覆盖
不恢复路径
写入标准输出
测试
安静的
不清除 SUID 位
排除文件
解压到DIR中
uptime
显示自上次启动以来的时间。
usleep N
暂停 N 微秒。
uudecode [-o OUTFILE] [INFILE]
Uudecode 文件 在 uuencoded 源中查找 OUTFILE,除非给出 -o。
uuencode [-m] [FILE] STORED_FILENAME
Uuencode FILE(或标准输入)到标准输出。
根据 RFC1521 使用 Base64 编码
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 [-c CMD] [-R] [-H] [FILE]...
编辑文件。
要运行的初始命令($EXINIT 和 ~/.exrc 也可用)
只读
列出可用功能
显示谁已登录
watch [-n SEC] [-t] PROG ARGS
定期运行 PROG。
SEC 周期(默认 2)
不打印标题
watchdog [-t N[ms]] [-T N[ms]] [-F] DEV
定期写入看门狗设备DEV。
如果不重置,N秒后重新启动(默认60)
每 N 秒重置一次(默认 30)
在前台运行
使用 500ms 指定时间段(以毫秒为单位)。
wc [-cmlwL] [FILE]...
计算文件(或标准输入)的行数、字数和字节数。
计算字节数
计算字符数
计算换行数
数字数
打印最长行长度
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 检索文件。
只检查 URL 是否存在:$?如果存在则为0
将 STR(格式为“header: value”)添加到标头
使用POST方法发送STR
使用POST方法发送FILE
不验证服务器的证书
继续检索中止的传输
安静的
保存到 DIR(默认。)
显示服务器响应
保存到文件(“-”表示标准输出)
将消息记录到文件
使用 STR 作为 User-Agent 标头
使用代理服务器
which [-a] COMMAND...
找到命令。
显示所有比赛
who [-aH]
显示谁已登录。
显示所有
打印列标题
whoami
打印与当前有效用户 ID 关联的用户名。
xargs [OPTIONS] [PROG ARGS]
对 stdin 给出的每个项目运行 PROG。
NUL 终止输入
从 FILE 而不是 stdin 读取
将 stdin 重新打开为 /dev/tty
如果输入为空,则不运行命令
执行前在 stderr 上打印命令
询问用户是否运行每个命令
STR 停止输入处理
将 PROG ARGS 中的 STR 替换为输入行
向 PROG 传递不超过 N 个参数
传递不超过N个字节的命令行
并行运行最多 N 个 PROG
如果超出大小则退出
xxd [-pri] [-g N] [-c N] [-l LEN] [-s OFS] [-o OFS] [FILE]
十六进制转储文件(或标准输入)。
每组字节数
每行字节数
仅显示十六进制字节,假设为 -c30
C 包含文件样式
仅显示前 LENGTH 字节
跳过 OFFSET 字节
将 OFFSET 添加到显示的偏移量
反向(使用 -p,假设输入中没有偏移)
xz -d [-cfk] [FILE]...
解压缩文件(或标准输入)。
解压
写入标准输出
力量
保留输入文件
测试完整性
xzcat [FILE]...
解压缩到标准输出。
yes [STRING]
重复打印带有 STRING 或 'y' 的行
zcat [FILE]...
解压缩到标准输出。
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 中的两个错误(被终止进程的退出代码)