文章目录
- 一、操作系统OS概念
- 1.OS是什么?
- 2.为什么要有OS?
- 1.一个好的操作系统,他的衡量指标是什么?
- 2.操作系统的核心工作
- 3.理解我们在计算机上的操作
- 4.Linux和Windows的特点
- 二、Linux基本指令
- 1. 指令概述
- 2.ls指令
- 1> ls -l
- 2> ls -a
- 3> ls -d
- 4> ls -F
- 3.pwd与cd指令
- 4.touch指令
- 5.mkdir指令
- 6.rmdir指令和rm指令
- 三、删库跑路之删掉整个Linux系统
一、操作系统OS概念
1.OS是什么?
操作系统是一款做软硬件管理的软件
如下图所示,是计算机的体系结构
首先是硬件,他是计算机体系的最低层,他是看得到摸得到,客观存在的。早期的电脑都是通过硬件电路直接控制的,后来随着硬件的发展,硬件的功能越来越完善。
所以就需要一款软件对硬件进行管理,这款软件称作为操作系统。但是由于硬件的功能越来越丰富,越来越复杂,为了能更精确的管理硬件,再操作系统与硬件之间多了一个设备驱动
我们可以这样理解:操作系统是做决策和管理的,硬件是办事的,驱动是让硬件办事的
如上图所示,我们可以发现,操作系统,设备驱动,硬件就是提供了软硬件服务
但是用户是需要有刷抖音等这些需求的,所以我们在操作系统之上,需要有各种不同应用软件,来满足用户的不同的应用场景,也就是说应用软件是在操作系统之上的
2.为什么要有OS?
1.一个好的操作系统,他的衡量指标是什么?
对于普通用户而言:稳定、快、安全
2.操作系统的核心工作
通过对下管理好软硬件资源的手段,达到对上提供良好(稳定、快速、安全)的操作/使用环境
这也就是为什么要有操作系统的原因。操作系统起了一个承上启下的作用
3.理解我们在计算机上的操作
我们在计算机上产生如下的行为的时候:
1.printf—>显示器上打印
2.文件---->磁盘文件中写入
3.玩游戏---->向网络中发送数据
事实上,我们在计算机产生的所有行为最终都会转换成为硬件行为。
如下图所示,我们的操作都是在应用软件上进行操作的,这些操作最终都会转换为硬件行为。但是这些行为不是直接由应用软件到硬件上的,几乎我们所有的软件行为。全部都要自顶向下贯穿计算机的软硬件结构。几乎我们所有的软件行为,未来都和操作系统直接或间接相关
4.Linux和Windows的特点
LInux的特点是纯命令行,但是LInux也有图形化界面。
Windows也是命令行,只不过他要面向普通用户,所以以图形化界面为主
但是无论是图形化还是指令,其实本质都是一样的。
先有指令再有图形化界面的
因为先有键盘再有鼠标的。先解决输入的问题。
同时因为指令更先诞生,指令操作更贴近操作系统
二、Linux基本指令
1. 指令概述
首先是ls指令,他的语法和功能如下
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
也就是直接显示当前目录下的文件与子目录
如下所示,我们使用ls的时候,什么也没有显示,这是正常的,如果显示一些东西是之前写过的一些痕迹。也是正常的。如果我们之前写过的话,那么就会有一些文件,这些文件或者目录一个一个之间会用空格隔开的
在上面我们注意到当前目录,那么什么是当前目录呢?怎么知道自己的目录呢?我们就有这条指令pwd指令,显示用户当前所在的目录
注意,我们这里显示的是 / root,这是因为我们使用的是root账户,如果使用的是普通用户,那么可能是这样的 /home/XXX,其中XXX就是普通账号的用户名
那么这个当前目录是什么呢?我们在window系统上随便打开一个文件,在上面我们可以观察到下图的路径,这个其实就是我们的当前目录,通过这个目录我们可以直接找到当前的位置
我们知道了上面的东西,如果我们想在windows系统上创建一个文件夹,那么这个我们都很容易就能实现。但是如果在Linux系统下如何创建呢?
我们有这样一条指令mkdir 文件名,如下所示,mkdir后面一个空格后在加文件名,这样我们就创建了2023_test这个文件夹了
注意一定要有空格,否则会出现下面的报错
那么有了这个文件夹,我们该如何查看我们创建的文件夹呢?在windows系统上很容易查看到。在Linux系统上,我们就可以直接使用ls指令来实现了,这样我们就可以看到我们的2023_test文件了
现在我们已经有了一个文件夹了,在windows系统上直接双击,就能进入这个文件夹,那么在Linux系统上如何进入呢?
我们可以使用 cd 目录名这个指令,他此时的意思就是进入这个目录,如下所示
但是我们如何知道我们进去了呢?也很简单,我们使用pwd,可以观察到,我们确实进入了这个文件
2.ls指令
1> ls -l
在上面我们已经大概的了解了ls,pwd,mkdir,cd这四条基本指令的使用
我们现在来深入了解一下ls指令
首先我们要知道,指令是可以带选项的。
比如我们现在在2023_test这个文件下,我们可以使用ls带几个选项,使他呈现出不同的风格
也可以直接使用ls列出当前2023_test文件下的子目录或子文件。但是显然我们当前是个空文件,所以不会呈现出任何东西
为了方便我们呈现出一些东西,我们先在2023_test这个文件下创建几个文件
上面有一点需要注意的是,touch指令其实就类似于在windows系统中的创建一个新的文本文件
有了上面创建的两个文件和一个文本文件,我们先使用ls将他给显示出来
对于这些,我们我们再使用 ls -l这条指令,这条指令他会显示出文件的更多的属性
首先我们知道的是,指令是可以带选项的,可以理解为,这条指令的子功能。而且在window的指令中也是可以带选项的,在之前的关机小程序中,就可以带选项来执行不同的功能。在这里我们需要注意的一点是。当我们在windows系统中的一个文件中创建了一个文本文件,那么这个文本文件是否占据空间呢?
答案其实是占据着。因为我们可以直观的看到文件的属性。文件的属性是数据吗?当然是。是数据当然要存储。
所以文件=文件内容+文件属性
文件的操作=对文件内容的操作 or 对文件属性的操作
所以我们在来看这条指令,ls的意思就是显示文件名这个属性,ls -l 就是显示更多的文件属性了。这个l其实就是list,像清单一样详细列出来
事实上ls -l 这条指令也可以简写为ll
2> ls -a
我们接下来来看 ls -a这条指令。我们发现他多了一些点。对于这些点我们等会在来关注。我们还需要知道的是,在输入指令的时候,可以两个七个八个一起输入,也可以简写,这些风格我们可以自己任意选取
然后我们现在来着重分析这些显示出来的这些东西
如下图所示,这些文件属性的第一列代表着文件的类型
- d:代表着是一个目录
- -:代表着文件是一个普通文件当然我们需要关注的就是这些带点的文件
先说结论:在Linux中,以点开头的文件是,我们称之为隐藏文件
比如下面的例子
所以 -a的意思就是,显示所有的文件,包括隐藏文件
而在我们的Windows中也是有隐藏文件的
现在我们知道以点开头的是隐藏文件了,那么这一个点和两个点究竟是什么呢?
我们可以先进入任何一个新的文件。我们可以发现,这个文件里面也有一个点和两个点这两个隐藏文件
事实上,Linux下,任何一个目录都有两个隐藏文件,分别是 . 和 . .
为了知道这里面是什么,我们可以使用cd指令进去看看
最终,我们发现,我们的目录在不断的回退
所以我们得出结论: . .表示当前路径的上级路径
他可以回退到上级路径
这个功能类似于windows下的这个操作
也就是说,有了这条指令,我们就可以回到上级路径了。可进可退了
我们在回到2023_test这个路径
那么现在我们知道了两个点是什么意思。那么一个点呢?
其实一个点代表的是当前路径
那么这个点代表着当前路径,那这个有什么意义呢?事实上,他的意义在于帮助用户定位当前目录下的一个文件
3> ls -d
他的作用是将目录像文件一样显示出来。而不是显示其下的文件。
如果使用的是ls 文件名的话,那么直接就显示该文件的属性
如果加上-al和文件名的话,那么显示的是该文件内部的具体信息
如果使用-dl 加上文件名的话,那么就是当前目录下的只显示该文件的属性
4> ls -F
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
3.pwd与cd指令
这两条指令其实我们在上面已经提及过了
如上所示,我们可以使用cd…进行回退,用pwd指令显示当前的路径
在这里我们需要注意的一点是这样的,/root/2023_test这里出现的 / 他是LInux下的路径分割符,而Windows下的路径分割符是这样的:D:\code\2023\data-structure。注意他们是相反的。
而我们上面一直cd… 最后一直到/就停住了。回退不了了,这里的/是Linux的根目录的意思
我们可以查看他的属性
我们知道一个目录里面可以在放目录或者普通文件
这就注定了Linux的整个目录结构:一定是一个多叉树的结构
所以我们定位一个文件,通常用路径来进行定位。路径定位具有唯一性。
那么为什么呢?这是因为任何结点都有且仅有一个父节点
我们也把从/开始,定位到指定位置,具有唯一性的路径称之为绝对路径
所以我们就可以直接使用cd和绝对路径来进入文件
我们也可以以自己当前所处的路径为起始参照位置,来进行特定文件的定位,我们这种路径称之为相对路径,当然这种方式也会存在一些问题我所处的路径发生了变化之后,之前的相对路径就失效了
那么相对路径和绝对路径何时用,怎么用呢?
事实上,绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件中使用
一般命令行输入,常用相对路径我们最后需要关注的一点是,当我们打开csdn的网页的时候,上面的网址也就是绝对路径。他的分隔符是/。所以他就是Linux作为后端的
https://blog.csdn.net/jhdhdhehej?spm=1011.2415.3001.5343
我们在来看whoami这条指令,这条指令可以查看当前登录的用户是谁
当前我们登录的是root用户,同时需要注意的是,我们刚登录我们的Linux直接使用pwd指令查看的目录,这个/root目录代表的是root的家目录,也就是默认他是在这个路径下的我们可以在登录一个普通用户看看
我们可以看到我们当前的用户名是jby_1,他是一个普通用户
需要注意的是,在Linux中只有两种用户,一个超级用户root,其他是普通用户,普通用户可以有多个。
同时我们还注意到,jby_1的家目录是/home
也就是说,centos系统中,所有的普通用户账号都会统一放在/home这个路径下我们可以去查看一下,当前只有jby_1这一个普通账号
我们现在可以登录root账号去创建一个普通账号,来进行观察,可见确实有两个账号。
然后我们继续删除这个用户在进行观察
有了上面家目录的概念,我们现在可以了解一下cd ~这个指令,这条指令可以直接进入当前用户所在的家目录
还有一条指令是cd - ,他的作用是返回上一次所在的路径
4.touch指令
touch 的含义是创建一个普通文件,不能创建目录
5.mkdir指令
mkdir的作用是创建一个目录
但是当我们想要创建一批文件的话,我们需要这样创建,与cd指令搭配使用,但是这样过于繁琐了
我们可以先回到前面的目录
我们可以使用tree指令像树一样,输出我们的目录。但是我们的系统大概率是没有tree指令的,我们需要先安装一下
我们需要输入yum install -y tree指令来进行安装,注意这个需要root账号来进行安装
接下来我们就可以输入tree .指令来查看当前的目录的树状结构
然后此时我们可以使用mkdir -p 一堆目录 这种指令。来创建一堆文件
6.rmdir指令和rm指令
rmdir指令是删除一个空目录
如下所示,我们删除了dir1这个空目录
但是当我们想要删除非空目录的时候,就显示不让删除了
如果想要删除普通文件的话,也是删除不了的
为了删除这些,我们有rm指令,他可以直接删除一个普通文件,需要注意的是,由于我们是root账号,所以他会提醒我们是否要删除,我们回答y即可,回答n就是不删除
那么可以不可以让他不要提示呢?有办法,我们加上-f就可
以上就是rm直接删文件。
如果想要让rm删目录是不可以直接删除的
但是我们可以带-r选项,就可以删目录了,带r代表的是递归式删除。
由于是递归式删除,所以也可以直接删除该目录一大堆文件,从下面的会话中也可以看出是递归式删除
但是假如我们要删的东西很多,递归很深。这样有些过于繁琐了,我们可以直接加上-f
三、删库跑路之删掉整个Linux系统
最后我们也知道了上面的一些基本指令,rm -rf可以直接删除一堆文件,那么如果后面带上根目录,那么就直接删除了整个系统了。所以尤其要慎重。 当然也不一定全部删完。因为有些文件正在运行,正在运行的是删不了的
如下就是删除整个操作系统的指令
rm -rf /
当然删除了之后就需要重装整个系统了。
好了本期内容就到这里了
如果对你有帮助的话,不要忘记点赞加收藏哦!!!