1. :
(冒号)
-
功能:无操作命令,仅扩展参数并执行重定向,返回零退出状态。
-
语法 :
: [arguments]
-
示例 :
bash: # 无操作
2. .
(点) 或 source
-
功能:在当前 shell 环境中读取并执行指定文件中的命令,返回文件中最后一个命令的退出状态。
-
语法 :
. filename [arguments]
或source filename [arguments]
-
示例 :
bash. script.sh # 执行 script.sh 文件中的命令
3. alias
-
功能:定义或显示别名。
-
语法 :
alias [-p] [name[=value] ...
-
示例 :
bashalias ll='ls -l' # 定义别名 ll alias # 显示所有别名
4. bg
-
功能:将挂起的作业放到后台运行。
-
语法 :
bg [jobspec ...]
-
示例 :
bashbg %1 # 将作业 1 放到后台运行
5. bind
-
功能:显示或修改 readline 键绑定。
-
语法 :
bind [-m keymap] [-lpsvPSV] [-q function] [-u function] [-r keyseq] [-f filename] [-x keyseq:shell-command] keyseq:function-name
-
示例 :
bashbind -l # 列出所有 readline 函数
6. break
-
功能:退出循环。
-
语法 :
break [n]
-
示例 :
bashwhile true; do break; done # 退出循环
7. builtin
-
功能:执行指定的 shell 内置命令。
-
语法 :
builtin shell-builtin [arguments]
-
示例 :
bashbuiltin cd /tmp # 使用内置的 cd 命令
8. cd
-
功能:更改当前工作目录。
-
语法 :
cd [-L|[-P [-e]] [dir]
-
示例 :
bashcd /tmp # 切换到 /tmp 目录
9. command
-
功能:执行命令,忽略 shell 函数查找。
-
语法 :
command [-pVv] command [arg ...]
-
示例 :
bashcommand ls # 执行 ls 命令,忽略同名函数
10. compgen
-
功能:生成可能的补全匹配。
-
语法 :
compgen [option] [word]
-
示例 :
bashcompgen -c # 列出所有命令
11. complete
-
功能:指定如何补全命令参数。
-
语法 :
complete [-abcdefgjksuv] [-o comp-option] [-DE] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]
-
示例 :
bashcomplete -W "start stop restart" mycommand # 为 mycommand 指定补全选项
12. compopt
-
功能:修改补全选项。
-
语法 :
compopt [-o option] [-DE] [+o option] [name]
-
示例 :
bashcompopt -o filenames # 设置补全选项为文件名
13. continue
-
功能:继续下一次循环迭代。
-
语法 :
continue [n]
-
示例 :
bashfor i in 1 2 3; do continue; done # 继续下一次循环
14. declare
或 typeset
-
功能:声明变量并设置属性。
-
语法 :
declare [-aAfFgilrtux] [-p] [name[=value] ...
-
示例 :
bashdeclare -i num=10 # 声明整数变量 num
15. dirs
-
功能:显示目录栈。
-
语法 :
dirs [+n] [-n] [-clpv]
-
示例 :
bashdirs # 显示目录栈
16. disown
-
功能:从作业表中移除作业。
-
语法 :
disown [-ar] [-h] [jobspec ...]
-
示例 :
bashdisown %1 # 移除作业 1
17. echo
-
功能:输出参数。
-
语法 :
echo [-neE] [arg ...]
-
示例 :
bashecho "Hello, World!" # 输出 Hello, World!
18. enable
-
功能:启用或禁用 shell 内置命令。
-
语法 :
enable [-a] [-dnps] [-f filename] [name ...]
-
示例 :
bashenable -n test # 禁用内置的 test 命令
19. eval
-
功能:将参数作为命令执行。
-
语法 :
eval [arg ...]
-
示例 :
basheval "ls -l" # 执行 ls -l 命令
20. exec
-
功能:用指定命令替换 shell。
-
语法 :
exec [-cl] [-a name] [command [arguments]]
-
示例 :
bashexec ls # 用 ls 命令替换当前 shell
21. exit
-
功能:退出 shell。
-
语法 :
exit [n]
-
示例 :
bashexit 0 # 退出 shell,返回状态 0
22. export
-
功能:标记变量或函数为导出到后续命令的环境。
-
语法 :
export [-fn] [name[=word]] ...
-
示例 :
bashexport PATH=$PATH:/usr/local/bin # 导出 PATH 变量
23. fc
-
功能:修复命令(编辑并重新执行历史命令)。
-
语法 :
fc [-e ename] [-lnr] [first] [last]
或fc -s [pat=rep] [cmd]
-
示例 :
bashfc -l # 列出最近的历史命令
24. fg
-
功能:将后台作业放到前台运行。
-
语法 :
fg [jobspec]
-
示例 :
bashfg %1 # 将作业 1 放到前台运行
25. getopts
-
功能:解析位置参数。
-
语法 :
getopts optstring name [args]
-
示例 :
bashgetopts ":a:" opt # 解析选项 -a
26. hash
-
功能:记住命令的完整路径。
-
语法 :
hash [-lr] [-p filename] [-dt] [name]
-
示例 :
bashhash -r # 清除所有记住的命令路径
27. help
-
功能:显示内置命令的帮助信息。
-
语法 :
help [-dms] [pattern]
-
示例 :
bashhelp cd # 显示 cd 命令的帮助信息
28. history
-
功能:显示或操作命令历史。
-
语法 :
history [n]
或history -c
或history -d offset
或history -anrw [filename]
或history -p arg [arg ...]
或history -s arg [arg ...]
-
示例 :
bashhistory # 显示命令历史
29. jobs
-
功能:列出活动作业。
-
语法 :
jobs [-lnprs] [ jobspec ... ]
或jobs -x command [ args ... ]
-
示例 :
bashjobs # 列出所有作业
30. kill
-
功能:向进程发送信号。
-
语法 :
kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
或kill -l [sigspec | exit_status]
-
示例 :
bashkill -9 1234 # 向进程 1234 发送 SIGKILL 信号
31. let
-
功能:执行算术表达式。
-
语法 :
let arg [arg ...]
-
示例 :
bashlet "a = 5 + 5" # 计算 5 + 5
32. local
-
功能:在函数中定义局部变量。
-
语法 :
local [option] [name[=value] ...
-
示例 :
bashlocal var=10 # 定义局部变量 var
33. logout
-
功能:退出登录 shell。
-
语法 :
logout
-
示例 :
bashlogout # 退出登录 shell
34. mapfile
或 readarray
-
功能:从标准输入读取行到数组。
-
语法 :
mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
-
示例 :
bashmapfile -t lines < file.txt # 将 file.txt 的内容读入数组 lines
35. popd
-
功能:从目录栈中移除目录。
-
语法 :
popd [-n] [+n] [-n]
-
示例 :
bashpopd # 移除目录栈顶的目录
36. printf
-
功能:格式化输出。
-
语法 :
printf [-v var] format [arguments]
-
示例 :
bashprintf "Hello, %s\n" "World" # 输出 Hello, World
37. pushd
-
功能:将目录添加到目录栈顶。
-
语法 :
pushd [-n] [+n] [-n]
或pushd [-n] [dir]
-
示例 :
bashpushd /tmp # 将 /tmp 目录添加到目录栈顶
38. pwd
-
功能:打印当前工作目录的绝对路径。
-
语法 :
pwd [-LP]
-
示例 :
bashpwd # 打印当前工作目录
39. read
-
功能:从标准输入读取一行。
-
语法 :
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
-
示例 :
bashread -p "Enter your name: " name # 提示用户输入名字
40. readonly
-
功能:标记变量或函数为只读。
-
语法 :
readonly [-aAf] [-p] [name[=word] ...]
-
示例 :
bashreadonly var=10 # 将变量 var 标记为只读
41. return
-
功能:从函数中返回。
-
语法 :
return [n]
-
示例 :
bashreturn 0 # 从函数中返回,状态为 0
42. set
-
功能:设置或取消设置 shell 选项和位置参数。
-
语法 :
set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
-
示例 :
bashset -x # 启用命令跟踪
43. shift
-
功能:移动位置参数。
-
语法 :
shift [n]
-
示例 :
bashshift # 移动位置参数
44. shopt
-
功能:切换 shell 选项。
-
语法 :
shopt [-pqsu] [-o] [optname ...]
-
示例 :
bashshopt -s extglob # 启用扩展模式匹配
45. suspend
-
功能:挂起 shell 的执行。
-
语法 :
suspend [-f]
-
示例 :
bashsuspend # 挂起 shell
46. test
或 [
-
功能:评估条件表达式。
-
语法 :
test expr
或[ expr ]
-
示例 :
bash[ -f file.txt ] # 检查 file.txt 是否存在
47. times
-
功能:打印 shell 和进程的累计用户和系统时间。
-
语法 :
times
-
示例 :
bashtimes # 打印时间信息
48. trap
-
功能:设置信号处理程序。
-
语法 :
trap [-lp] [[arg] sigspec ...]
-
示例 :
bashtrap "echo 'Signal received'" SIGINT # 捕获 SIGINT 信号
49. type
-
功能:显示命令的类型。
-
语法 :
type [-aftpP] name [name ...]
-
示例 :
bashtype ls # 显示 ls 命令的类型
50. ulimit
-
功能:控制 shell 和进程的资源限制。
-
语法 :
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
-
示例 :
bashulimit -n 1024 # 设置文件描述符限制为 1024
51. umask
-
功能:设置文件创建掩码。
-
语法 :
umask [-p] [-S] [mode]
-
示例 :
bashumask 022 # 设置文件创建掩码为 022
52. unalias
-
功能:移除别名。
-
语法 :
unalias [-a] [name ...]
-
示例 :
bashunalias ll # 移除别名 ll
53. unset
-
功能:移除变量或函数。
-
语法 :
unset [-fv] [name ...]
-
示例 :
bashunset var # 移除变量 var
54. wait
-
功能:等待指定进程并返回其终止状态。
-
语法 :
wait [n ...]
-
示例 :
bashwait %1 # 等待作业 1 完成