什么是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
 
linuxidc@www.linuxidc.com:~/Documents
 $ type -a pwd
 pwd is a shell builtin
 pwd is /bin/pwd
 
linuxidc@www.linuxidc.com:~/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 ~]#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM