1.Linux 基础之系统分区与格式化

讲分区之前,先说一下硬盘结构:硬盘(机械)的横截面是一个圆,并且被分成等大小的扇区,每个扇区的大小是 512Byte,其中有 446Byte 被用来存储启动信息,剩下的 64Byte 用来进行分区表示,并且每 16Byte 表示一个分区,也就是说一块硬盘最多只能表示 4 个分区(主分区+扩展分区),并且每块硬盘最多只能有 1 个扩展分区。

其中:
主分区——最多只能有 4 个,与硬盘结构有关,与系统类型无关;
<br>扩展分区——最多只能有 1 个,主分区+扩展分区最多只能有 4 个,不能写入数据,只能包含逻辑分区;
<br>逻辑分区——序号从 5 开始;

1.1 系统分区

为什么要分区?

一块硬盘的存储空间通常都有 500GB 至 1TB 甚至更多,为了能让数据类存放,就必须分区。这样,当你去找硬盘中的某个文件时,就不必搜索整个硬盘,而只需要去某个分区中查找就行了。其实硬盘分区的好处还有很多,这里就不再赘述。

1.2 硬盘格式化

分区完了就能直接使用了吗?

不不不,要先格式化硬盘。关于格式化,有一个共同的误区,那就是都以为格式化的目的是用来删除硬盘中的文件的,实际上格式化的根本目的是为了写入文件系统。

常见的文件系统有 FAT16,FAT32,NTFS,EXT2,EXT3,EXT4 等文件系统。其中,越新的文件系统越先进,FAT16 中分区的大小不能超过 2GB;FAT32 中分区的大小能达到 16TB,但是单个文件的大小不能超过 4GB;NTFS 是 Windows 中最先进的文件系统,支持更大的分区和更大的文件;而在 Linux 中能识别的文件系统则是 EXT2,3,4,也是越新的文件系统越先进(CentOS6.3中默认是EXT4)。

如上图所示,格式化分区主要做了 2 件事情:

  1. 将分区分成等大小的数据块:


    每个块大小为 4KB(视文件系统而定)。若要往其中存储一个大小为 18KB 的数据,需要占用 5 个数据块,存放的位置不一定是连续的,其中第 5 个数据块只存放了 2KB 的数据,且该数据块不能再存放其他数据。
  2. 建立分区列表(二维表格):


    为分区建立一个二维表格,该二维表格的内容有:每个文件的 ID(inode),修改时间,权限和存放的数据块等。当用户需要读取某个文件时,先去分区列表中查找文件的 ID(inode) 号,若存在则判断该用户是否有权限访问,若有权限则从分区数据块中提取出文件的碎片再组合成完整返回给用户。


    其中:在第 1. 步中,将分区分成等大小的数据块,会附带地清空原有数据块的数据,所以格式化宏观上看就是删除磁盘数据的现象,导致常常被人误解。


    所以格式化确实可以删除磁盘中的数据,但是格式化的目的是写入文件系统。

2. Linux 基础之设备文件名与挂载

在 Windows 中:分区 -> 格式化 -> 分配盘符 ;就能使用


在 Linux 中:分区 -> 格式化 -> 给分区起设备文件名 -> 分配盘符 ;就能使用



Linux 中的设备文件名实际上是系统自己检测的(无需手动分配),我们只需要看懂即可,如下图所示:

2.1 硬件设备文件名

![硬件设备文件名](https://i.imgur.com/ROhBvig.png)

如上图所示:

其中,/dev/ 目录专门用来存放设备文件名;中括号 [] 中如 [a-p] 指的是硬盘的分区号,a 代表第 1 块硬盘,b 代表第 2 个块硬盘,以此类推;


例如:/dev/sda5 代表第 1 个 SCSI(SATA) 硬盘的第 1 个逻辑分区(1-4是主分区或者扩展分区,逻辑分区从5开始)

设备文件名是系统起的,我们只要能看懂就行了。

2.2 挂载

在 Linux 中,我们将硬盘分区好了之后,分区的名字保存在 /dev/ 目录下,如 /dev/sda1 是第 1 个 SATA 硬盘的第 1 个(主)分区。那么我们怎么去访问硬盘分区中的数据呢?可以将该分区 "挂载" 到某个目录下,如 /temp/sda1,这样我们去到 /temp/sda1/ 目录下就能看到该硬盘第一个分区的数据了,所以目录就是我们所说的挂载点


具体的挂载命令是 mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点。即 mount /dev/sda1 /temp/sda1

刚装系统时,推荐:

必须分区:

1. `/`(根分区)
2. `swap`(交换分区,虚拟内存):内存在 4G 以内则 swap 为内存的 2 倍,内存在 4G 以上则 swap 要和内存一样大

推荐分区:

1. `/boot`(启动分区,非必须):200MB。
进行 /boot 分区的目的就是为了防止磁盘被写满,导致系统崩溃

Linux 基础一(系统分区、格式化与挂载)的更多相关文章

  1. linux增加硬盘 磁盘分区格式化及挂载

    nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件  + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualB ...

  2. linux硬盘分区格式化及挂载

    1.硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为 ...

  3. Linux基础四---系统监控&硬盘分区

    ---恢复内容开始--- 一系统分区 1.top [参数] -b 批处理 -c 显示命令完全模式 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u< ...

  4. linux运维基础知识-系统分区及LVM逻辑卷的创建

    系统分区及LVM逻辑卷的创建 分区 创建逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图 ...

  5. ubuntu server下建立分区表/分区/格式化/自动挂载(转)

    link:http://www.thxopen.com/linux/2014/03/30/Linux_parted.html 流程为:新建分区-->格式化分区-->挂载分区 首先弄明白分区 ...

  6. Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python

    作业一:1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区 ...

  7. linux 新添加的硬盘格式化并挂载到目录下

    需求: 新增加一块硬盘sdb,将sdb分区,只分一个区,格式化,挂载到目录/ssd下. 1.  查看现在已有的分区状态 # df –l 图中显示,没有看到sdb硬盘 2.  查看服务器安装的硬盘状态( ...

  8. linux 新添加的硬盘格式化并挂载到目录下方法

    需求: 新增加一块硬盘sdb,将sdb分区,只分一个区,格式化,挂载到目录/ssd下.原文:https://www.cnblogs.com/ddbear/p/7009736.html 1.  查看现在 ...

  9. Linux基础-09-磁盘分区、挂载及文件系统管理

    1. 硬件设备与文件名的对应关系 1) 在Linux系统中,每个设备都被当初一个文件来对待. 2) 各种设备在Linux中的文件名 2. 硬盘的结构及硬盘分区 1) 为什么要进行硬盘分区: a) 更容 ...

随机推荐

  1. BZOJ4894:天赋(矩阵树定理)

    Description 小明有许多潜在的天赋,他希望学习这些天赋来变得更强.正如许多游戏中一样,小明也有n种潜在的天赋,但有一些天赋必须是要有前置天赋才能够学习得到的. 也就是说,有一些天赋必须是要在 ...

  2. WCF简单实例--用Winform启动和引用

    以订票为例简单应用wcf程序,需要的朋友可以参考下 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 namesp ...

  3. Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-2-Compose 命令说明

    Compose 命令说明 1)命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中 的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有 ...

  4. tomcat 启动,停止,查看端口,日志位置

    1.启动之前先看看是否已经启动tomcat ,避免端口被占用 ps -ef|grep tomcat 2.启动:进入tomcat下的“bin”目录 输入命令:./startup.sh 3.查看tomca ...

  5. Linux下安装与配置snmp服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  6. Hibernate Validator注解大全

    hibernate Validator 是 Bean Validation 的参考实现 .Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现, ...

  7. 多线程之CAS

    在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度延时,引起性能问题. (2 ...

  8. Vue购物车

    index.html <!DOCTYPE html><html>    <head>        <meta charset="utf-8&quo ...

  9. Android 将拼接好并加上边框的图片保存到内存卡中

    通过前两篇文章,问们学会了怎样拼接图片.给拼接好的图片加上边框样式,但这还不够,忙活了大半天 终于拼接好并给图片美化了,但是程序一旦推出,之前做的工作都白费了.这时我们会想,能不能把拼接好的图片保存起 ...

  10. day46

    CSS选择器 盒模型 标签a.img.list 伪类选择器 CSS选择器 一.基础选择器 1.通配选择器 - { border: solid; } 匹配文档中所有标签:通常指html.body及bod ...