目录

Linux命令格式

Linux命令分类

如何判断命令的类型——Type命令

内置命令

外部命令

alias命令

命令的执行效率与过程


Linux命令格式

命令格式

完整的命令格式分为三部分:命令、参数、对象

其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做间隔

不过有些情况下命令格式没有参数或对象,不过命令一定是有的

命令:执行的动作(打)

参数:对于动作进行一个定制化(狠狠的打)–为了让命令更好的贴近工作需要

对象:动作的承受方(狠狠的打你)

参数格式

参数分为长格式和短格式

长格式 大部分情况:–+单词 例如:–list 、–all

短格式 大部分情况:-+字母 例如:-l、-a

有些情况下的参数格式是比较特别的:

find 长格式也是一个- , 即 find / -size

ps 三个短格式合并没有-, 即 ps aux

date命令使用的是 + 号

注意:参数格式不是一定确定的,可能会有其它变化,只是说的是大部分

参数合并

长格式与长格式、长格式与短格式不能合并

短格式和短格式之间能够合并,不过只保留一个-号

例如:-a和-l 合并为-al或者-la(大部分情况下不区分参数合并后的位置,但是有些参数合并需区分合并位置)

例如:压缩命令就需要注意参数的位置(tar czvf、tar xzvf 合并参数的位置不可改变)

注意事项

Linux中的命令、参数都严格区分大小写(一般命令为小写,参数为大写)

Linux命令分类

Linux的命令可以分为内置命令、外部命令、通过alias别名执行的命令三大类

别名命令宏观上说也是内置命令和外部命令的一种

如何判断命令的类型——Type命令

使用格式:type 命令

判断依据:如果结果为shell builtin表示该命令为内部命令;结果为文件路径则表示该命令为外部命令;结果为aliased表示该命令为别名命令

内置命令

Linux自带命令,提交内核执行

exit、history属于内置命令

外部命令

当前系统的某文件系统路径下有对应的可执行程序文件;top、reboot、ls等都属于内部命令

系统在哪些路径下寻找外部命令的可执行文件

外部命令的存放路径都在PATH变量中显示,每个路径通过 : 隔开
系统根据PATH变量中存放的路径,从左往右依次在每个路径中寻找外部命令对应的可执行程序;如果在所有的路径中都没有找到该外部命令,则显示该命令不存在的错误提示

PATH变量内容——外部命令存放路径

/usr/bin 存放所有用户都可用的应用程序

存放着系统安装自带的一些可执行程序(即系统程序),会随着系统的升级而改变

此目录一般不会做修改,修改可能会影响系统启动等

/usr/local/bin 存放所有用户都可用的第三方软件程序

存放着第三方软件程序(即用户自己安装的应用程序),此目录一般可以做修改

/usr/sbin 存放只有管理员用户才可用的应用程序

存放着系统安装自带的一些可执行程序

/usr/local/sbin 存放只有管理员用户才可用的第三方软件程序

存放着第三方软件程序

alias命令

为什么要使用别名命令

别名命令可以简化命令的输入

可以将多个命令组合成一个别名,简化输入

通过简化命令可以防止误操作

alias介绍

通过alias可以查看linux已有的别名信息(例如查看mv的别名,了解到mv=mv -i)

也可以通过 alias 别名=命令 的方式创建别名命令

通过unalias 别名 来删除别名

例子

alias ls=’ls -al’ 设置ls-al的别名为ls

alias查看linux已有的别名信息

unalias ls删除别名ls

注意事项

alias 创建的别名是临时的,如果需要永久保存可以直接编辑/root/.bashrc文件(.bashrc文件相当于Shell的配置文件)

vim /root/.bashrc编辑文件

source /root/.bashrc 更新文件

命令的执行效率与过程

命令的执行效率

Linux中命令执行的效率(优先级)

1、通过文件命令以及路径的方式输入命令(例如/bin/free)

2、通过alias别名命令的方式执行

3、内部命令

4、外部命令(我们所使用的命令99%都是外部命令)

echo $PATH 外部命令都存放在PATH变量中

Linux环境变量讲解-CSDN博客https://blog.csdn.net/m0_49864110/article/details/128998850?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128998850%22%2C%22source%22%3A%22m0_49864110%22%7D

命令的执行过程

1、判断用户是否以相对路径或绝对路径的方式输入命令(例如/bin/free),如果是则直接执行

2、检查用户输入的命令是否为别名命令,如果是别名命令则将其对应的真实命令解析出来,然后判断命令是内置命令还是外部命令;如果是内置命令会直接提交给内核执行;如果是外部命令,则系统会根据配置路径来寻找命令的可执行文件,将其调入内存提交内核执行

3、如果用户输入的命令不是别名命令,则直接判断命令是内置命令还是外部命令,然后执行