外部命令
外部命令,有时候也被称为文件系统命令,是存在于bash shell之外的程序。它们并不是shell程序的一部分。外部命令程序通常位于/bin、 /usr/bin、 /sbin或/usr/sbin中。
ps就是一个外部命令。
当外部命令执行时,会创建出一个子进程。
当进程必须执行衍生操作时,它需要花费时间和精力来设置新子进程的环境。所以说,外部命令多少还是有代价的。
内建命令
内建命令和外部命令的区别在于前者不需要使用子进程来执行。它们已经和shell编译成了一体,作为shell工具的组成部分存在。不需要借助外部程序文件来运行。
cd和exit命令都内建于bash shell。
因为既不需要通过衍生出子进程来执行,也不需要打开程序文件,内建命令的执行速度要更快,效率也更高。
echo和pwd既有内建命令也有外部命令。两种实现略有
不同。要查看命令的不同实现,使用type命令的-a选项。
which命令只显示外部命令文件。
要查看最近用过的命令列表,可以输入不带选项的history命令。
当输入!!时, bash首先会显示出从shell的历史记录中唤回的命令。然后执行该命令。
命令历史记录被保存在隐藏文件.bash_history中,它位于用户的主目录中。这里要注意的是,bash命令的历史记录是先存放在内存中,当shell退出时才被写入到历史文件中。
你可以唤回历史列表中任意一条命令。只需输入惊叹号和命令在历史列表中的编号即可。
!20
alias,命令别名允许你为常用的命令(及其参数)创建另一个名称,从而将输入量减少到最低。
alias -p 查看当前可用的别名
alias li='ls -li' 创建别名
网友评论