Linux Shell 命令行:命令行基础知识 0 个改进

在 Linux 操作系统中,命令(command)是你指示系统去完成一些动作或任务的指令途径或方法。 命令(commands)运行在 命令行(command line) 环境中。

语法:

command [option] [argument]  
#命令 [命令选项] [命令参数]

有一些命令,不接受任何命令选项和命令参数。诸如: clearpwd 命令。

clear

clear 命令清除屏幕上所有之前执行的命令的输出。(译注:快捷键 Ctrl+l

pwd

pwd 命令的含义是 '显示工作目录(print working directory)' 的缩写(译注:工作目录可理解为当前目录)。它不接受任何命令选项和命令参数和任何进一步显示当前目录详细信息的要求。

命令的类别

外部(External)或 内建(Bulit-in)命令

Built-in 命令 -- 内建命令指命令是 外壳(shell)程序本身内部有的命令。它们是内建在 shell 外壳程序中的逻辑代码,shell 外壳程序自己负责调用和执行它们。你可使用help 命令或 compgen -b 列出系统中所有的 内建命令 。一些内建命令有: pwdhelptypeset 等等。

External 命令 -- 外部命令相比内建命令。这些命令都是存储在文件系统中的可执行程序的二进制文件。这些由系统提供单独的二进制执行文件总的来说不依赖 shell 外壳命令环境的存在就可执行。大部分被保存在 /bin/sbin/usr/sbin 等目录下。


type 命令

Linux 中 'type' 命令告诉我们给定的命令是外部命令还是内建命令。

语法:

type <command>  
# type <命令名>

举例:

$ type pwd  
$ type cd  
$ type man  
$ type cat  
$ type file  

Linux Shell Expansion Command1

如上截图,如 pwdcd 命令是内建命令(builtin),而 mancatfile 命令是外部命令。

type 命令也告诉你一个命令是否是 别名(aliased)

举例:

$ type ls  

Linux Shell Expansion Command2

如上截图,type 命令显示 ls 命令是 ls --color=auto 的命令行别名。


type 命令 -a 选项

type -a 命令选项命令告诉我们命令的内建、外部 和 别名的全部信息。一些命令既有内建,也有外部。但内建命令总是被优先调用,除非调用时通过目录指明要调用的是存在在指定目录下的同名外部可自行程序。

语法:

type -a <command>  

举例:

type -a echo  

Linux Shell Expansion Command3

如上截图, echo 命令既是内建命令,也存在外部同名执行程序。使用 echo 同名的外部命令,可通过给出其全路径名 /bin/echo 进行调用。


which

Linux 中的 which 命令给出命令的全路径名(内建命令不显示信息)。

语法:

which <command1> <command2> <command3>....  
# which <命令1> <命令2> <命令3>...

举例

$ which ls pwd rmdir mkdir cp cd file man  

Linux Shell Expansion Command4

如上截图,除了 cd 命令(内建命令),所有其它外部命令显示其存储的系统全路径名。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!