2024-04-19 04:09:31
Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
boot分区
在linux中,boot是存储内核及在引导过程中使用文件的分区,是启动linux时使用的一些核心文件;在boot中包括了系统Kernel的
/boot分区就是操作系统的内核及在引导过程中使用的文件,一般是几年前的版本要求划分的一个区,大小为100MB左右,但现在的新版本都不需要对这个分区进行单独划分,也就是说你完全可以不分/boot。
安装Linux只要求两个基本分区,即根分区及交换分区,如果你的磁盘空间足够大,可以多划分空间给根分区,你也可以把常用的目录新建到桌面,如下载的软件包,放到桌面不影响你进入Linux系统的速度,当然这要求你有足够大的根分区。
swap分区
SWAP就是LINUX下的
它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法.
根分区
linux根分区是系统分区的意思,系统内所有的东西都存放在根分区中,也被称为root分区;Linux是一个树形
所谓根分区,说白了就是系统分区,是root分区,所有的东西都放在这里面。
Linux是一个树形文件系统,根分区就是它的root节点,任何的目录文件都会挂在根节点以下。Linux只有一个根。你可以给你的硬盘进行分区,但是,分区设备一定挂载到linux根目录下的指定位置,如/usr,/var,/home等。如果要对分区进行操作的话,只能到分区所挂载的目录中进行操作。所以,不管对硬盘分多少个区,都要将这些分区挂载到根目录底下才可以使用。
2024-04-19 11:30:06
相信很多人已经接触了Windows操作系统的电脑(以下称呼为PC),也对PC电脑中的CDEF...盘符印象也比较深,那个就是在PC下,系统对硬盘的各个分区。但是你有没有想过,我们为什么要分区?
我个人觉得之所以要分区的一个很重要的原因就是方便的管理在磁盘中的文件还有数据
我们先来了解一下分区的类型
首先呢,在Linux系统中,我们分区主要分为三种: 主分区,拓展分区和逻辑分区
在Linux系统中,一个硬盘的主分区只能有四个
我们可以对主分区进行 格式化操作 和 挂载操作
当我们的硬盘越来越大的时候,只有四个主分区有的时候不能满足我们的需求,所以就有了 拓展分区 这个概念
对于拓展分区,我们需要注意几点:
至于逻辑分区, 它跟主分区相同的地方就是逻辑分区也可以进行格式化还有挂载的操作 ,但是,逻辑分区在物理上是放在拓展分区中的,逻辑分区可以是任意个数,任意大小(当然这取决于拓展分区的大小)
打个比方,我们假设我们要建房子, 假设有一个规定,你建房子如果要划分空间只能划分四个空间(四个主分区) ,比方我们一个空间给厨房,一个给客厅,一个洗浴室和厕所(三个主分区), 再来一个空间给房间(拓展分区) ,然后, 我们可以在给房间的空间中,我们创建三个房间或者两个房间(房间就相当于是逻辑分区)
格式化就是根据用户选择的文件系统在磁盘的特定区域写入特定数据,在分区中划分出一片用于存放文件分配表,目录表等用于文件管理的磁盘空间(有很多人将格式化理解成清空一个区所有的数据的意思,其实并不是, 因为如果我们要更换文件系统的时候,我们需要进行格式化在磁盘中存放文件分配表,目录表,这样原有的文件分配表就不适用新的,所以我们才要把数据清空我们更换文件系统 ,这就是为什么我们对一个有数据的分区进行格式化的时候分区会没有任何数据) 总之我们记住一句话,格式化的目的就是为了在磁盘中写入文件系统
Windows适用的文件系统有:
Linux适用的文件系统有:
我们默认使用的文件系统是 EXT4
现在CENTOS可以支持XFS,所以现在使用CENTOS 7 的话默认使用的文件系统时 XFS
还是来拿房子做例子,就比方说我们两个空间(分区),一个分区我们想要用来做厨房,一个我们想要用来做房间。那么你想一下,你觉得厨房的装修风格能适合用来作房间的空间吗?很明显不能,反之用来作厨房的空间也是如此的,这个装修风格你可以理解为格式化。 所以我们进行格式化的时候,我们需要根据自己本身对各个文件系统的需求来进行格式化操作
我们再来聊一下文件系统,文件系统的数据块的存放它有可能不是连续的,可能是“东放一个西放一个”,零散地放在分区的各个地方。 在Windows系统中我们可以对盘符进行碎片整理操作,将一些本应连续的数据块连续的放在一起,提高读取效率
既然在Linux系统中,数据块(block)是零散地放在分区中的,那么我们是怎么样取出我们数据的? 是因为我们的数据块都是由编号的,Linux系统是根据数据块的编号来进行读取操作的
具体来说格式化后的操作便是
可能大家在接触Linux的时候就听说过在Linux系统中一切东西皆文件这种说法了,我们的硬件设备对于Linux系统来说也是一个文件,我们插入设备,我们就可以在/dev 这个文件夹中可以找到我们相应的设备文件,不同设备在Linux系统中的命名也是不同的:
我们常见的是设备可能就有/dev/sd[a-p] , /dev/cdrom(可能光驱都很少能见到了) 这种设备
我们只需要把常见到的设备记下来即可
我们刚才说过在Linux系统中,一切东西皆文件,既然我们有设备文件,那么我们肯定也有分区设备文件。 分区设备文件存放的位置跟设备文件存放的位置是一样的,也是/dev下 。为了区分是分区设备文件名, 分区设备文件名的后面有一个1或者2,代表的是1分区或2分区
例如 /dev/sda 这个硬盘的第一分区的文件名字是 /dev/sda1
对于分区设备文件名,我们要注意以下几点:
假设我们只分了两个主分区一个拓展分区,拓展分区有两个逻辑分区。我们在Linux系统中可以将文件列出来,我们发现我们的分区号不是连贯的。 那是为了更好区分是主分区还是逻辑分区文件,第一个逻辑分区文件的号码总是从5开始的
在Windows系统中,我们经常接触一个东西叫盘符。但是,在Linux系统中是没有盘符这样的概念的,类似盘符的概念的说法在Linux系统中我们叫 挂载点 ,我们了解挂载点之前先了解什么是挂载
假设说我们将一个磁盘分区挂载到一个文件夹中,这就代表当我们往这个文件存放文件的时候,在物理方面来说我们是将数据存放在了这个磁盘分区中 ,但是我们如果是往其他文件夹放置文件的时候,并不会放到这个磁盘分区中, 那是因为其他的文件夹不是这个磁盘分区的挂载点
在Linux系统中我们也有要挂载的必须分区
还有一个分区是推荐使用的,那就是 /boot ,如果我们没有对它进行挂载,万一将来我们把 / 写满了之后,我们可能就开不了机了。启动分区不需要太大,只需要200MB就够了
我们会给根分区分配一个磁盘分区,那么我们访问的根分区旗下的二级目录和文件是不是就是在访问同一个磁盘分区呢?答案是不一定,因为如果我把新建的一个分区挂载到一个二级目录下,那么当我访问这个二级目录的时候,我是访问这个新建的磁盘分区的
例如 / 旗下有 home 文件夹,如果我们实现分配了一个磁盘分区,并且挂载到了 /home ,那么当我们访问 /home 的时候,我们是访问了我们分配的磁盘分区,并非挂载到 / 的磁盘分区