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.rhkb.cn/news/168005.html

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

相关文章

栩栩如生,音色克隆,Bert-vits2文字转语音打造鬼畜视频实践(Python3.10)

诸公可知目前最牛逼的TTS免费开源项目是哪一个?没错,是Bert-vits2,没有之一。它是在本来已经极其强大的Vits项目中融入了Bert大模型,基本上解决了VITS的语气韵律问题,在效果非常出色的情况下训练的成本开销普通人也完全…

全链路压测专题---2、全链路压测架构和技术

如何开展全链路压测 业务模型梳理 首先应该将核心业务和非核心业务进行拆分,确认流量高峰针对的是哪些业务场景和模块,针对性的进行扩容准备梳理出对外的接口:使用MOCK(模拟)方式做挡板千万不要污染正常数据&#xf…

Vue2基础知识(四) 自定义指令

目录 一 自定义指令1.1 定义1.2 自定义局部指令1.3 全局注册指令1.4 钩子函数1.5 动态传参1.6 使用场景 💌 所属专栏:【Vue2】😀 作 者:长安不及十里💻工作:目前从事电力行业开发🌈目标&#xf…

【2024秋招】2023-8-5-小红书-数据引擎团队后端开发提前批面经

1 面试官介绍 OLAP引擎,离线引擎,大数据分析中间件 2 自我介绍 缺点: (1)面试官让重点介绍自己最在行的项目,我真的在自我介绍上扯了一些别的东西… (2)在面试的时候因为想看简…

浅谈RabbitMQ的延迟队列

Part 01、 延迟队列是什么 延迟队列代表了一种强大的消息传递机制,允许我们在将消息发送至RabbitMQ时,规定它们只能在未来某个预定的时间点被消费。这种特殊类型的消息被简称为"延迟消息"。 以RabbitMQ为例,它允许我们通过延迟…

无人值守变电站运维技术模式及应用-安科瑞黄安南

近年来,市场电子资源需求量的逐步上升,使变电系统建设逐步向复杂环境拓展。为保障变电系统运行稳定性及人员管理安全性,无人值班变电站技术运用势在必行,是解决复杂条件下变电设备运行不稳定及人员设备管理效益低下问题的重要核心…

熟练使用 Redis 的五大数据结构:Java 实战教程

入门 入门阶段主要记住 Redis 的命令,熟练使用 Redis 的 5 大数据结构就可以了。 如果没有 Redis 环境,可以直接通过这个网址https://try.redis.io/,很赞,它会给你模拟一个在线的环境可供你尽情使用! 熟练使用Redis的…

AIGCA综述: Survey on Video Diffusion Models

论文作者:Zhen Xing,Qijun Feng,Haoran Chen,Qi Dai,Han Hu,Hang Xu,Zuxuan Wu,Yu-Gang Jiang 作者单位:Fudan University;Microsoft Research Asia;Huawei Noahs Ark Lab 论文链接:http://arxiv.org/abs/2310.10647v1 项目链接&#xff1…

1024程序员狂欢节有好礼 | 前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术

🌹欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 1024程序员狂欢节有好礼 🚩🚩🚩点击直达福利前言一、IT技术 IT Technology《速学Linux:系统应用从入门到精通》《Pytho…

物证管理系统|智物证DW-S404是一套成熟系统

系统背景 我司物证智能管理系统(智物证DW-S404)是一套成熟系统,依托互3D技术、RFID技术、数据库技术、AI、视频分析技术对物证进行统一管理、分析的信息化、智能化、规范化的系统。 物证是公安或者监狱处理案件的关键凭证,针对过…

cmake工程出现“CMAKE_CUDA_ARCHITECTURES must be non-empty if set.“的解决方法

解决方法1: cmake工程出现“CMAKE_CUDA_ARCHITECTURES must be non-empty if set.“的解决方法 – The CUDA compiler identification is unknown CMake Error at /usr/share/cmake-3.24/Modules/CMakeDetermineCUDACompiler.cmake:602 (message): Failed to detect a defaul…

前端数据可视化之【series、series饼图配置】配置项

目录 🌟Echarts配置项🌟series🌟饼图 type:pie🌟写在最后 🌟Echarts配置项 ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观&…

读取不同格式文件中的内容(xlsx,csv,txt,npz,yaml)

1.读取.xlsx中的内容 import pandas as pd# 读取Excel文件 data pd.read_excel(your_file.xlsx) # 替换 your_file.xlsx 为你的文件路径# 现在,data 包含了Excel文件中的数据,可以像访问数据框一样访问和操作它 # 例如,你可以使用 data.he…

计算机网络-计算机网络体系结构-传输层

目录 一、UDP 二、TCP 特点 首部格式 连接管理 可靠传输 流量控制(点对点) 拥塞控制(全局) 三、拥塞控制算法 慢开始&拥塞避免 快重传&快恢复 功能一:提供进程与进程之间的逻辑通信 功能二:复用和分用 功能三:对收到的报…

【MySQL】数据库数据类型

文章目录 1. 整体概要2. 数值类型(有符号) tinyint 创建表(无符号) tinyint 创建表bit类型float 类型(无符号)floatdecimal 3. 二进制类型char类型varchar类型 4. 日期时间日期时间类型 5. string 类型enum类型和set类型enum类型和set类型的查找在枚举中的查找在set中的查找 1.…

openEuler 服务器安装 JumpServer (all-in-one 模式)

openEuler 服务器安装 JumpServer JumpServer 简介什么是 JumpServer ?JumpServer 的各种类型资产JumpServer 产品特色或优势JumpServer 符合 4A 规范 JumpServer 系统架构应用架构组件说明 JumpServer 安装部署环境要求网络端口网络端口列表防火墙常用命令 在线脚本…

图论04-【无权无向】-图的广度优先遍历BFS

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时,将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时,将…

Ubuntu18中的连接网络图标恢复

上图的图标不存在,也连不上网。 输入命令停止网络管理 service NetworkManager stop删除网络管理缓存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state重启网络管理 service NetworkManager start修改网络管理文件 gedit /etc/NetworkManager/Ne…

Plonky2:最好的SNARKs和STARKs

1. 引言 Plonky2为Polygon团队2022年1月发起的项目。其定位为ZKP证明系统。 开源代码实现见: https://github.com/0xPolygonZero/plonky2(Rust 汇编) Plonky2可解锁当今2大主流ZKP类型——SNARKs和STARKs的扩容优势。 每个ZKP证明系统都有…

(一)docker:建立oracle数据库

前言,整个安装过程主要根据docker-images/OracleDatabase/SingleInstance /README.md ,里边对如何制作容器讲的比较清楚,唯一问题就是都是英文,可以使用谷歌浏览器自动翻译成中文,自己再对照英文相互参照来制作提前准备…