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博客icon-default.png?t=N7T8https://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、如果用户输入的命令不是别名命令,则直接判断命令是内置命令还是外部命令,然后执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/145476.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有哪些比较好用的协同办公软件

在疫情期间,协同办公大放异彩,解决了很多公司线上办公的问题,所以在后疫情时代,协同办公软件成为了提高工作效率和团队协作的重要工具。 随着科技的不断进步,越来越多的协同办公软件涌现出来。在本文中,我们…

NFTScan | 10.16~10.22 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.10.16~ 2023.10.22 NFT Hot News 01/y00ts:迁移回以太坊的跨链桥已上线,将承担第一天所有 Gas 费 10 月 16 日,y00ts 发推称,将 y00…

k8s-----10、Controller-Deployment

Controller-Deployment 1、什么是controller2、 pod和controller关系3、Deployment控制器应用场景3.1 部署时yaml文件书写3.2 实际部署应用3.3 升级回滚3.3.1 升级3.3.2 回滚 3.4 弹性伸缩 1、什么是controller 在集群上管理和运行容器的对象 2、 pod和controller关系 pod是…

黑豹程序员-架构师学习路线图-百科:SpringBoot

文章目录 1、什么是SpringBoot?2、SpringBoot发展史3、为什么我们要使用SpringBoot 1、什么是SpringBoot? Spring Boot是一个用于创建独立的、基于Spring框架的Java应用程序的开源框架。 Spring Boot简化了Spring应用程序的开发和部署,使开发…

gulp打包vue3+jsx+less插件

最终转换结果如下 在根目录下添加gulpfile.js文件,package.json添加命令npm run gulp var gulp require(gulp) var babel require(gulp-babel) var less require(gulp-less) var del require(del); var spawn require(child_process).spawn;const outDir &…

VS Code C# 开发工具包正式发布

前言 微软于本月正式发布Visual Studio Code C#开发工具包,此前该开发套件已经以预览版的形式在6月份问世。经过4个月的测试和调整,微软修复了350多个问题,其中大部分是用户反馈导致的问题。此外,微软还对产品进行了300多项有针对…

unity脚本_力 c#

创建一个脚本 将代码挂载到物体上 取消物体的重力 运行即向z轴运动 加力之后 是否停止是由阻力影响 如果阻力为零 则会一直运动 如果希望就算有阻力也让物体一直动就将加力代码放在Update函数里 using UnityEngine; public class Power : MonoBehaviour{ Rigidbody rigidBo…

头脑风暴之约瑟夫环问题

一 问题的引入 约瑟夫问题的源头完全可以命名为“自杀游戏”。本着和谐友爱和追求本质的目的,可以把问题描述如下: 现有n个人围成一桌坐下,编号从1到n,从编号为1的人开始报数。报数也从1开始,报到m人离席&#xff0c…

Java面试——RPC协议

涉及到分布式方面知识的话,RPC协议是逃不开的,所以在此记录一下RPC协议。 什么是RPC协议 RPC协议(Remote Procedure Call)远程过程调用,简单的来说:RPC协议是一种通过网络从远程计算机程序获取服务的协议…

cocos creator 小游戏允许他人访问本地项目

需求背景: 发版成微信小游戏前,需要策划介入体验。不上传微信体验版本 实现: 1.发布平台选择web桌面端 2.构建完成后点击运行从浏览器上获取本地的运行地址 3.winR ——》 cmd 控制台 输入 ipconfig 找到IPv4地址,替换本地部分 …

3BHE003855R0001 UNS2882A 用于嵌入式/工业用途的人工智能盒

3BHE003855R0001 UNS2882A 用于嵌入式/工业用途的人工智能盒. 无风扇iBOX 1200系列包括型号iBOX-1265 UE/iBOX-1245 UE/iBOX-1215 UE,由第12代英特尔酷睿i7/i5/i3处理器(Alder Lake-P)提供动力,通过英特尔Iris Xe显卡和两个DDR4 3200MHz SO-DIMM提供高达…

Windows环境如何使用Zblog+cpoalr搭建个人网站并远程访问?

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…