【Linux】Linux 命令的分类

命令的分类

  1. shell内部命令,由shell自带的,而且通过某命令形式提供
  2. 外部命令,在当前系统的某文件系统路径下有对应的可执行程序文件,C、C++、shell、perl、python、ruby等,二进制文件、脚本文件,shell程序搜寻可执行程序文件的路径定义在$PATH环境变量中,自左至右搜寻
  3. shell函数,环境变量中
  4. 命令别名

外部命令

外部命令都有一个可执行程序,位于文件系统某目录下,通过 which, whereis可以查看
shell程序搜寻可执行程序文件的路径定义在PATH环境变量中

1
2
echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/xxl/.local/bin:/home/xxl/bin

:分隔,自左至右搜寻


type 查看命令类型

可以用来区别内部或外部命令

1
2
3
4
type 命令名
type pwd # pwd 是 shell 内嵌
type mkdir # mkdir 是 /usr/bin/mkdir


which 显示一个外部命令对应的程序文件路径

1
2
3
which [OPTION] COMMAND
# 不能看到命令的别名
# 不能看到shell内部命令


whereis 显示外部命令所在路径及帮助文档所在位置

1
2
3
4
5
6
7
whereis 命令名
选项:
-b:只查找可执行文件
-m:只查找帮助文件
# 只能搜索系统命令,不能搜索自己凭空创建的普通文件
# whereis不能看到shell内部命令(如:cd),只能看到外部安装的命令


whatis 查询一个命令执行什么功能

1
2
3
whatis 命令名
whatis ls # 显示ls的作用


apropos 通过关键字搜索命令

1
2
3
apropos 关键字
# 和man -k一样