shell的内置命令
shell有很多内置在其源代码中的命令。这些命令是内置的,所以shell不必到磁盘上搜索它们,执行速度因此加快。bash提供的help功能,能提供任何内置命令的在线帮助,表14-12列出了这些内置命令。
表14-12 内置命令
命 令 |
功 能 |
. |
执行当前进程环境中的程序。同source |
. file |
dot命令从文件file中读取命令并执行 |
: |
空操作,返回退出状态0 |
alias |
显示和创建已有命令的别名 |
bg |
把作业放到后台 |
bind |
显示当前关键字与函数的绑定情况,或将关键字与readline函数或宏进行绑定 |
break |
从最内层循环跳出 |
break [n] |
请参见14.6节“break命令” |
builtin [sh-builtin [args]] |
运行一个内置shell命令,并传送参数,返回退出状态0。如果一个函数与一个内置命令同名时,该命令将很有用 |
cd [arg] |
改变目录,如果不带参数,则回到主目录,带参数则切换到参数所指的目录 |
command comand [arg] |
即使有同名函数,仍然执行该命令。也就是说,跳过函数查找 |
continue [n] |
请参见14.6节“continue命令” |
declare [var] |
显示所有变量,或用可选属性声明变量 |
dirs |
显示当前记录的目录(pushd的结果) |
disown |
从作业表中删除一个活动作业 |
echo [args] |
显示args并换行 |
enable |
启用或禁用shell内置的命令 |
eval [args] |
把args读入shell,并执行产生的命令 |
(续表)
命 令 |
功 能 |
exec command |
运行命令,替换掉当前shell |
exit [n] |
以状态n退出shell |
export [var] |
使变量可被子shell识别 |
fc |
历史的修改命令,用于编辑历史命令 |
fg |
把后台作业放到前台 |
getopts |
解析并处理命令行选项 |
hash |
控制用于加速命令查找的内部哈希表 |
help [command] |
显示关于内置命令的有用信息。如果指定了一个命令,则将显示该命令的详细信息21 |
history |
显示带行号的命令历史列表 |
jobs |
显示放到后台的作业 |
kill [-signal process] |
向由PID号或作业号指定的进程发送信号。输入kill –l查看信号列表 |
let |
用来计算算术表达式的值,并把算术运算的结果赋给变量 |
local |
用在函数中,把变量的作用域限制在函数内部 |
logout |
退出登录shell |
popd |
从目录栈中删除项 |
pushd |
向目录栈中增加项 |
pwd |
打印出当前的工作目录 |
read [var] |
从标准输入读取一行,保存到变量var中 |
readonly [var] |
将变量var设为只读,不允许重置该变量 |
return [n] |
从函数中退出,n是指定给return命令的退出状态值 |
set |
设置选项和位置参量。见表14-2 |
shift [n] |
将位置参量左移n次 |
stop pid |
暂停第pid号进程的运行 |
suspend |
终止当前shell的运行(对登录shell无效) |
test |
检查文件类型,并计算条件表达式 |
times |
显示由当前shell启动的进程运行所累计用户时间和系统时间 |
trap [arg] [n] |
当shell收到信号n(n为0、1、2或15)时,执行arg |
type [command] |
显示命令的类型,例如:pwd是shell的一个内置命令 |
typeset |
同declare。设置变量并赋予其属性 |
ulimit |
显示或设置进程可用资源的最大限额 |
umask [八进制数字] |
用户文件关于属主、属组和其他用户的创建模式掩码 |
unalias |
取消所有的命令别名设置 |
unset [name] |
取消指定变量的值或函数的定义 |
wait [pid#n] |
等待pid号为n的后台进程结束,并报告它的结束状态 |