Linux内置命令和外部命令
简介Linux内置命令和外部命令,什么是linux的内置命令,什么是linux的外部命令。
1、Linux的命令可以分为内部命令和外部命令:
- 内置命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
- 而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
2、type - Display information about command type
查看当前系统的命令是否为内置命令和外部命令
实例:
[root@localhost ~]# type history
history is a shell builtin #这个表示是内部命令
[root@localhost ~]# type mysql
mysql is /usr/bin/mysql #表示外部命令
3、BASH_BUILTINS(内部命令如下)
alias, bg, bind, break, builtin, caller, cd, command, compgen,
complete, compopt, continue, declare, dirs, disown, echo,enable,
eval, exec, exit, export, false, fc, fg, getopts, hash, help,history,
jobs, kill, let, local, logout, mapfile, popd, printf, pushd,pwd,
read, readonly, return, set, shift, shopt, source, suspend, test,times,
trap, true, type, typeset, ulimit, umask, unalias, unset, wait
可以通过命令来进行查看:compgen -b
4、内置命令和外部命令的总结
在RHEL6中我们说which只能在PATH变量中搜索命令的绝对路径,内置命令是内置在bash中的,所以我们找不到命令的绝对路径,但是,在RHEL7中好像优化了这么一个特点,内置命令在PAHT环境中能找出命令的绝对路径
可以使用which和whatis来查看
[root@localhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/apps/php/bin:/root/bin)
[root@localhost ~]# which mysql
/usr/bin/mysql
[root@localhost ~]# whatis history
history (1) - bash built-in commands, see bash(1)
history (3) - GNU History Library
[root@izwz9gipf37wcbyspk8o6bz ~]# whatis mysql
mysql (1) - the MySQL command-line tool
```