Linux基础命令1——Linux的命令格式与命令分类

目录

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、如果用户输入的命令不是别名命令,则直接判断命令是内置命令还是外部命令,然后执行

相关推荐
对你无可奈何20 分钟前
关于Ubuntu的 update造成的内核升级
运维·服务器·ubuntu
qq_3129201143 分钟前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua1 小时前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm1 小时前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦1 小时前
ELK 集群部署实战
运维·jenkins
不掰手腕1 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen2 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉2 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说2 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx