《关于我学CentOS-7跳进坑里忘记跳出来的那些事》——第三集:我的指令不是我的指令但是我可以用

本文以个人理解分享了Linux命令的本质,解释了Linux命令与Shell的关系,指出Bash是默认的Shell程序。文章通过简单的例子解析了命令、选项和参数的含义,并对经典命令`rm -rf /*`进行了详细解读,帮助读者理解Linux命令的使用。

注:以下大部分内容属于个人理解,如果有其他见解请以百度说法居多的那一方为主;

每次一个游戏推荐:废品机械师;英文名: SCRAP MECHANIC(好像是这个英文名字吧);

这个游戏可以用一句话形容:花钱玩废品。打折和朋友一起购入更香

1. Linux命令到底是啥🤓

在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都 可以称为命令。严格来说,命令通常只代表实现某一类功能的指令或程序的名称。Linux 命令的执行必须依赖于 Shell 命令解释器。Shell 实际上是在 Linux 操作系统中运 行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释, 将需要执行的操作传递给系统内核执行,Shell 在用户和内核之间充当了“翻译官”的角色。 当用户登录到 Linux 系统时,会自动加载一个 Shell 程序,以便给用户提供可以输入命令的 操作系统(说法并不严谨)

Bash 是 Linux 操作系统中默认使用的 Shell 程序,文件位于/bin/bash。根据 Linux 命令与 Shell 程序的关系,Linux 命令一 般分为以下两种类型

1. 内部命令:是指集成于 Shell 解释器程序(如 Bash)内部的一些特殊指令,也称 为内建(Built-in)指令。内部命令属于 Shell 的一部分,所以没有单独对应的系统文件,只要 Shell 解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无须从硬盘中重新读取文件,因此执行效率较高

外部命令:是指 Linux 操作系统中能够完成特定功能的脚本文件或二进制程序,每 个外部命令对应系统中的一个文件,是属于 Shell 解释器程序之外的命令,所以称为 外部命令。Linux 必须知道外部命令对应的文件位置,才能够由 Shell 加载并执行

Linux 操作系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin 等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具 体的位置。因此在大多数情况下,不用刻意去分辨内部命令和外部命令,其使用方法是基本类似的

对的有点难看明白没关系;简单说就是:你打的命令(就是cd,ls这一类),其实Linux看不懂也不知道是啥意思,那为什么你输入ls就能查看文件呢,是因为有一个外交翻译官(Shell,其实这么说也不太严谨,具体位置位于/bin/bash中,基本意思到位)帮你做翻译,你也可以这么理解:

使用者尝试输入:cd (想跳转到家目录中) >> 回车 >> Bash(或者说是Shell)接收到了你的信息,帮你把你的cd转换成Linux看得明白的东西(二进制编码或者是任何一种奇奇怪怪的语言,这里不必追究)>> Linux 收到了来自Bash的翻译,你想要跳转到家目录 >> 把家目录的信息全都呈现在屏幕上

【再次声明:这个过程仅帮助理解,并不代表完整的过程就是这个意思!】🤪

那么Linux的命令格式是这样的:命令字 [选项] [参数]

先解释他们分别是什么意思:

命令字:命令字即命令名称,是整条命令中最关键的一部分。在 Linux 的字符操作界面中,使用 命令字唯一确定一条命令,区分大小写

选项:选项的作用是调节命令的具体功能,决定这条命令如何执行。同一个命令字配合不同的 选项使用时,可以获得相似但具有细微差别的功能

参数:命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名 或用户名等内容

但是你一般在网上看资料的时候可能看到的是这样的:

genisoimage -joliet-long -V hhhh -o nikanbudong.iso -b kenengnikandongle/a.bin -c kenengnikandongle/meiyou.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /root/nikanbudong/

对的没错,基本上加一点逻辑就能看出来这是什么指令,但是很明显,我不会英文,而且这一大串那么多是一条指令非常之烦恼看不懂,不要急,先往下看:

举个简简单单的🌰

rm -rf ./*

这个指令应该在很多地方都看到过甚至有很多大佬称之为是:“回车解忧愁”;那么就剖析一下,这个指令到底是什么意思对应什么部分

根据上面的格式可以划分为三个部分:

rm -rf /* 别问为什么用两个红色🥴

rm 自然而言就是第一个部分了,为什么这么说呢,一般情况下,是一般情况下,空格就可能代表是两个不同的字段,随着学习深入你会逐渐发现很多都是酱汁

-rf 第二部分,其实这里是两个指令的短缩写,也就是说:rm这个命令的附加选项是r 和 f

/* 自然就是第三部分了,基本上,参数都属于,命令施加的对象,这么理解就是:(目录)受害者

开始解释:

首先:rm 指令:全名叫做:remove(英语里面move是移动,前面加个re的基本没好事😡)字面意思,用于删除一个文件或者一个目录;选项:-r:将目录及之下的档案全部删除(有点像-R的递归)选项 -f 让这一次操作强制进行,忽略错误提示,即使属性是只可读(f有些像force,也就是强制)那么选项都添加完成了,最后就要选择受害者了(也就是指令的施加对象),这个对象是谁呢,就是参数;参数写的是:/* (/就是根目录的意思,*号是通配符,类似所有东西的意思,合在一起念就是:根目录下的所有东西)

那么全部合在一起念就是:删除(命令) -将目录及以下之档案亦逐一删除,强制性的执行该操作且不提示(选项)根目录下的所有东西(参数);也就是:强制删除根目录下的所有东西(回车解忧愁)

烂尾🤣

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值