什么是命令?如何识别它们?

以下内容来自书籍《The Linux Command Line》。完整的PDF教程也可以在这里找到:

一个命令可以是以下四种不同的东西之一:

1. 可执行程序,就像我们在/usr/bin目录中看到的那些文件一样。在这个类别中,程序可以是编译后的二进制文件,比如用C和C++编写的程序,或者是用脚本语言(如shell、perl、python、ruby等)编写的程序。

2. 内置于shell本身的命令。bash支持一些内部命令,称为shell内建命令。例如,cd命令就是一个shell内建命令。

3. shell函数。这些是嵌入到环境中的小型shell脚本。我们将在后面的章节中介绍配置环境和编写shell函数,但现在只需要知道它们存在即可。

4. 别名。我们可以自定义的命令,由其他命令组成。

要识别命令的类型,您可以使用type:

NAME

type - Display information about command type.

例子:

$ type ls

ls is aliased to `ls --color=auto'

$ type cd

cd is a shell builtin

展示命令的位置,您可以使用which:

$ which info

/usr/bin/info

$ which init

/sbin/init

希望这对新用户了解命令的基本知识有所帮助。