Linux操作系统——

一、基础铺垫

1、什么是 shell

1、总体概览
(1)计算机硬件:运算器、控制器、存储器、输入输出设备组成。
(2)系统内核:让各种硬件设备,各司其职,协调运转。

系统内核负责对硬件资源的分配,和任务的调度。 由此可见内核对计算的正常运行非常重要,所以不建议直接修改内核的参数
而是通过,系统调用接口(API),开发出来的程序或服务来管理计算机。

(3)shell:将用户和操作系统的内核分隔开来。(也是一个人机交互的东西)
(4)Bash:是一个 shell 命令的解释器。(相当于终端
在这里插入图片描述
2、bash 的主要功能:
在这里插入图片描述
bash 的一些使用小技巧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、命令的格式:

在这里插入图片描述
命令选项:是对该命令切换不同的使用方式
命令参数:一般指要处理的文件、目录、用户等资源。
在这里插入图片描述

3、新手如何获取帮助(3种)

(1)help 命令
(2)–help 选项
(3)man 命令
在这里插入图片描述

七、磁盘管理

1、硬盘的物理介绍

在这里插入图片描述

(1)机械硬盘,分为多层多个扇区,多个磁道
(2)磁盘的读取速度: 取决于磁头的运转速度。(笔记本 5400 , 台式 7200,服务器 10000)
(3)柱面: 以磁盘上的,同心圆为层级,一层层划分。

我们想在硬盘上面进行分区—— 以柱面为界限。
在这里插入图片描述

注意:分区小常识:
磁头划过磁盘的时候,整体的角速度是一样的,所以靠近外面的磁道,单位时间内读取的数据就越多
所以我们一般将,操作系统内核部分,放到磁盘外边。

在Linux 当中,显示我们当前磁盘的分配情况。
在这里插入图片描述

2、计算机启动

一、第一阶段:BIOS
(1)上个世纪70年代初,”只读内存”(read-only memory,缩写为ROM)发明,开机程序被刷入ROM芯片,计算机通电后,第一件事就是读取它
(2)这块芯片里的程序叫做”基本输入输出系統”(Basic Input/Output System),简称为BIOS

(3)BIOS 的作用:BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做”硬件自检”(Power-On Self-Test),缩写为POST。(如果我们的内存没有插好,我们的屏幕就不会有显示

二、第二阶段:主引导记录

BIOS按照”启动顺序”,把控制权转交给排在第一位的储存设备。即根据用户指定的引导顺序从软盘、硬盘或是可移动设备中读取启动设备的MBR,并放入指定的位置(0x7c000)内存中。

这时,计算机读取该设备的第一个扇区,也就是读取最前面的512个字节。如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给”启动顺序”中的下一个设备。

这最前面的512个字节,就叫做”主引导记录”(Master boot record,缩写为MBR)。

“主引导记录”只有512个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统

我们可以进行光盘启动,也可以进行 U 盘启动,就是因为我们有 主引导记录 ,然后才能知道我们去那个设备进行启动。

三、分区表、扩展分区、逻辑分区
分区表:只有64B, 而且只能划分为 4个部分,1个部分只有16B(也称为 主分区)。
所以我们要想扩展更多的分区:将这个 16B 的内存,指向另外大的分区
在这里插入图片描述
最少必须有一个主分区。
在这里插入图片描述

3、分区格式化(创建文件系统)

将磁盘分为:数据存储区,元数据存储区。

数据存储区 :
元数据存储区:inode表 (每一个文件都会占用一个节点)

在这里插入图片描述

磁盘块:数据存储区的单位,我们可以指定他的大小
块位图:用来标识块的使用情况。(使用为1,没有使用为0)。

(1)如果 inode 文件表占满了,而数据存储区还有剩余。 此时这些空间就会被浪费,得不到利用。
所以一般,我们文件比较大,我就设置较少 的 inode ,文件比较小的时候,我就设置较多的 inode。

(2)可以看出,我们磁盘块,有的块有数据有的块没有数据(并不连续)。(这是因为之前创建的文件,后来删除之后,空出来的磁盘块。)(蓝色:被使用,白色:没有被使用)

(3)inode 表格式
在这里插入图片描述
(4)Linux 查看各个分区磁盘块使用情况。和 各个 分区inode 的使用情况。
在这里插入图片描述
在这里插入图片描述
(5)当我们一个文件不足一个磁盘块的时候,我们将给他分配一个磁盘块的空间。
在这里插入图片描述

4、linux 当中对文件的常用操作

1、寻找文件的过程:

在inode 当中没有文件名的信息。所以 Linux 当中寻找该文件对应的磁盘块 过程是:
(1)根目录:这里会包含所有的文件的目录,内核可以自动找到,先在根目录当中找到 var,找到对应的 inode 号。
(2)根据 inode号 ,就可以找到对应的 inode表,然后在找到 var 所在的磁盘块
(3)在 var 所在的磁盘块,就找到 log 对应的 inode 号,然后再返回 inode 表
(4)再通过 inode 表,我们就可以定位 log 所在的磁盘块。依次类推

在这里插入图片描述
2、linux 目录文件详细结构:
在这里插入图片描述
(1)这个目录名不够 4个字节的时候,使用 \0 来补齐。 (.当前文件目录,… 代表上次文件目录)

3、创建文件的过程:
在这里插入图片描述
4. 删除文件过程:
在这里插入图片描述
注:

1、可以看出,我们删除文件,仅仅是将对应的 inode 清空, 而磁盘上的数据并没有真正清空。可以找到专业的软件进行恢复。
2、如果我们又重新拷贝了很多数据,将原来的磁盘块覆盖,那么原来的数据就会被清空。

5、剪切文件:
同一个分区
从日常使用来看,剪切文件非常快。 因为

1、文件里面内容,所占的磁盘块内的数据本身,并没有移动。
2、只是将 dentry (目录项)移动了一个位置
在这里插入图片描述

不同的分区
本质其实就是,先复制再删除,速度比较慢。
因为不同的分区,对应的磁盘块不同。

6、复制文件
时间比较长:我们要创建新的 inode ,和拷贝新的数据块到磁盘块当中。

5、硬连接和软连接

一、硬链接:
对应的磁盘块数量只有一个,(对应的 inode 都一样)修改其中一个,另外也会跟着修改
删除其中一个,另外一个还会存在
在这里插入图片描述

ll -i , 可以看到这两个文件的 inode 相同大小相同权限相同

注意:

1、只能针对于普通文件,不能针对于目录文件
2、不能跨分区创建。

二、软连接
相当于快捷方式, 对应的 inode 编号不同。
删除原来的文件,链接文件就失去了作用
在这里插入图片描述
通过软件链接文件访问的过程:
(1)软连接文件对应的 inode 表当中,存放的是源文件的目录信息。(相当于放了一个指针)
(2)有了目录信息,然后再去访问源文件

本质:都是通过原文件,对对应的数据进行操作。

创建软连接的过程:
在这里插入图片描述

在这里插入图片描述

创建一个软件链接之后的特性:
(1)这个文件的链接数量,没有发生改变,仍然是1 。
(2)链接文件的权限很大,但是访问的时候,还是需要看源文件的权限

注意:

1、可以给目录创建软连接
2、可以跨分区使用。
3、其大小是指向目标字符路径的大小。

6、设备文件

鼠标、键盘、显示器、光驱、U盘, 都在 /dev 目录使用文件进行标识

1、设备文件,并不占用磁盘块来存储数据,只是在 inode 表当中,创建相关信息。
2、真实环境当中,Linux 系统会自动对我们的设备创建对应的文件
3、块设备文件(b): 可以随机访问
4、字符设备文件(c):线性的,不可以随机进行访问。(类似于键盘、终端)

不同设备之间其实也可以相互发送数据:(2个终端设备发送的案例)
在这里插入图片描述

这个操作很危险, 给我们主引导分区里面写入内容,然后重启的时候,就找不到操作系统的位置,重启失败。
在这里插入图片描述
在这里插入图片描述

7、创建分区

存储设备:U 盘、 光盘、 软盘、 硬盘 、磁带

硬盘的接口类型:

IDE : hd a、 hdb 、 hdc、 (用 abc 区分多块硬盘)
ATA: hd a、 hdb 、 hdc、 (用 abc 区分多块硬盘)
SATA: sd sda1、 sda2、 sda3、 sda4(一块硬盘上的分区)
SCSI: sd
USB : sd

在虚拟机当中添加一个硬盘之后:
sda: sda1、sda2、sda3、都是主分区,sda4为扩展分区。(柱面已经利用到了 7708)
sdb: 还没有建立分区。
在这里插入图片描述
创建分区的过程:
1、fdisk /dev/sda 进入到分区的命令行
在这里插入图片描述
2、 输入 m 来查看帮助
在这里插入图片描述
在这里插入图片描述
注意:在这里删除,要使用 ,Ctrl 键
在这里插入图片描述

8、虚拟文件系统介绍(vfs)

创建好文件分区之后,我们还得创建文件系统。(高级格式化)

在这里插入图片描述
分析: 在硬件层 和 用户层当中增加了一个操作系统层
操作系统: 可以对用户和硬件进行一定的隔离, 要不然用户可能不小心损坏硬件(病毒也可以轻易破坏硬件)。

9、真正的文件系统(未统一之前)

1、主引导记录(MBR,Master Boot Record)是硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区。
2、每个磁盘分区都可以安装Linux 操作系统,取决于我们启动哪一个操作系统

在这里插入图片描述

主流的文件系统

非日志文件系统:放一些临时文件,速度比较快,但是断电后没有记录,得从新来。
日志文件系统:断电以后会有记录,不需要重新扫描,但是速度相对比较慢。

查看Linux 支持的文件系统:
在这里插入图片描述

10、在分区上创建文件系统

在这里插入图片描述
主要的参数
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看当前计算机是什么文件系统
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/vincent3678/article/details/113105023