歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

什麼是Bash Shell的內建(build in)命令

1.什麼是build in命令:

shell內建命令是指bash(或其它版本)工具集中的命令。一般都會有一個與之同名的系統命令,比如bash中的echo命令與/bin/echo是兩個不同的命令,盡管他們行為大體相仿。當在bash中鍵入一個命令時系統會先看他是否是一個內建命令,如果不是才會查看是否是系統命令或第三方工具。所以在bash中鍵入echo命令實際上執行bash工具集中的bash命令也就是內建命令,而不是/bin/echo這個系統命令。
 

2.內建命令與系統命令
 
內建命令要比系統論命令有比較高的執行效率。外部命令執行時往往需要fork出(產生出)一個子進程,而內建命令一般不用。下面(或許以後還會有)這一篇文章將介簡bash的內建命令。

3.查看一個命令是系統命令還是內建命令:type
 
[email protected]:~/Documents
 $ type -a pwd
 pwd is a shell builtin
 pwd is /bin/pwd
 
[email protected]:~/Documents
 $ type -a echo
 echo is a shell builtin
 echo is /bin/echo
 

可以看出,有些命令,echo和pwd同時是內建命令和系統命令。

4.常見命令的類型 


[root@linuxidc ~]# type -a cd 

cd is a shell builtin
 [root@linuxidc ~]# type -a pwd
 pwd is a shell builtin
 pwd is /bin/pwd
 [root@linuxidc ~]# type -a time
 time is a shell keyword
 time is /usr/bin/time
 [root@linuxidc ~]# type -a date
 date is /bin/date
 [root@linuxidc ~]# type -a which
 which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
 which is /usr/bin/which
 [root@linuxidc ~]# type -a whereis
 whereis is /usr/bin/whereis
 [root@linuxidc ~]# type -a whatis
 whatis is /usr/bin/whatis
 [root@linuxidc ~]# type -a function
 function is a shell keyword
 [root@linuxidc ~]# type -a ls
 ls is aliased to `ls --color=tty'
 ls is /bin/ls
 [root@linuxidc ~]# type -a ll
 ll is aliased to `ls -l --color=tty'
 [root@linuxidc ~]# type -a echo
 echo is a shell builtin
 echo is /bin/echo
 [root@linuxidc ~]# type -a bulitin
 -bash: type: bulitin: not found
 [root@linuxidc ~]# type -a builtin
 builtin is a shell builtin
 [root@linuxidc ~]# type -a keyword
 -bash: type: keyword: not found
 [root@linuxidc ~]# type -a command
 command is a shell builtin
 [root@linuxidc ~]# type -a alias
 alias is a shell builtin
 [root@linuxidc ~]# type -a grep
 grep is /bin/grep
 [root@linuxidc ~]#

Copyright © Linux教程網 All Rights Reserved