1. 常识

  • 添加新硬盘--分区--格式化文件系统--挂载使用

  • 扇区是磁盘存储数据的最小单元,默认一个扇区可以存储512字节的数据


2. 磁盘类型介绍

  • IDE接口类型:比较古老的磁盘种类,优点价格便宜,缺点数据传输速度慢

  • SCSI接口类型:早期主要用于服务器理领域

  • SAS接口类型:目前在服务器领域比较流行,数据传出速度快(磁盘转速),支持在线更换硬盘

  • SATA接口类型:跟SAS类似

  • SSD接口类型:固态硬盘接口,价格昂贵,数据传输速度快,利用内存的机制读写数据,主要应用在个人电脑

  • NVMe接口类型:固态硬盘接口,是一种协议,价格昂贵,数据传输速度快,利用内存的机制读写数据

PS:早期公司主流是前面两个,现在主流是加粗的三个


3. lsblk查看系统所有磁盘信息

  • lsblk(英文全拼:list block)用于列出当前系统所有磁盘与磁盘内的分区信息

  • 通常用法:查看系统中硬盘的信息(多少块硬盘以及每个硬盘的分区数量)以及分区的具体信息

  • 命令格式:lsblk 选项...

  • 常用选项:

  • -d #仅显示磁盘本身,不会列出磁盘的分区数据

  • -f #列出磁盘分区使用的文件系统类型

lsblk命令示例

#列出当前系统所有磁盘与磁盘内的分区信息
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part ├─centos-root 253:0    0   17G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  4.3G  0 rom  /mnt/centos
​
#sda1:sd代表SCSI磁盘,a代表第一块磁盘,1代表第一个分区
#sdb:sd代表SCSI磁盘,b代表第二块磁盘,1代表第一个分区
#解释:
NAME        #设备名称
MAJ:MIN     #主设备号:次设备号,内核通过主次设备号识别磁盘
RM          #是否为可卸载设备,1可卸载,0不可卸载
SIZE        #设备的容量大小
RO          #表示设备是否为只读,0非只读设备,1只读设备
TYPE        #表示设备类型(disk为磁盘,part为分区,lvm逻辑卷,rom只读)
MOUNTPOINT  #设备挂载点(SWAP没有挂载点)
​
#列出指定的磁盘信息
[root@localhost ~]# lsblk -d /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda    8:0    0  20G  0 disk
​
#列出所有磁盘分区内使用的文件系统类型
[root@localhost ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         4cb9bb38-c34a-4415-9614-ba38642bb86d   /boot
└─sda2          LVM2_member                 cKn0jP-z8Bq-SNvl-BsNa-7vTg-GBU2-OiHCro ├─centos-root xfs                         55dad88d-a600-42d1-b387-236db62ce396   /└─centos-swap swap                        2e91599a-6d72-483d-add8-6dfb84296170   [SWAP]
sr0             iso9660     CentOS 7 x86_64 2018-11-25-23-54-16-00                 /mnt/centos
​
#列出指定分区的文件系统类型
[root@localhost ~]# lsblk -df /dev/sda1
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sda1 xfs          4cb9bb38-c34a-4415-9614-ba38642bb86d /boot

4. df查看分区使用情况

df命令用于查看文件系统使用情况

  • 命令格式:df 选项...

  • 常用选项:

  • -h 以人类易读方式显示文件系统容量

  • T 显示文件系统类型

df 命令示例

[root@localhost ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  178114563746320  14065136  22% /
devtmpfs                   480884       0    480884   0% /dev
tmpfs                      497948       0    497948   0% /dev/shm
tmpfs                      497948    8340    489608   2% /run
tmpfs                      497948       0    497948   0% /sys/fs/cgroup
/dev/sr0                  44804764480476         0100% /mnt
/dev/sda1                 1038336  169448    868888  17% /boot
tmpfs                       99592      12     99580   1% /run/user/42
tmpfs                       99592       0     99592   0% /run/user/0
​
[root@localhost ~]# df -h /
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  3.6G   14G  22% //dev/目录下文件详解[root@localhost ~]# ls /dev
hd[a-t]:IDE设备
sd[a-z]:SCSI设备
fd[0-7]:软盘驱动设备
md[0-32]:软RAID设备
loop[0-7]:本地回环设设备
lp[0-3]:打印机设备
mem:内存设备
null:空设备,也称为黑洞,任何写入的数据都将被丢弃
zero:零资源设备,任何写入的数据都将被丢弃
full:满设备,任何写入的数据都将失败
tty[0-63]:虚拟终端设备
random:随机数设备
urandom:随机数设备
port:存取I/O端口

5. MBR分区格式

MBR分区格式:比较古老的分区格式,最初只能划分4个主分区,后来新增加扩展分区(容器)功能,可在扩展分区内划分更多逻辑分区,最大支持2.2T磁盘容量

  • SCSI接口硬盘逻辑分区最多可以划分11个

  • 最大支持2.2T以内磁盘容量

fdisk命令用于查看磁盘使用情况和磁盘分区(MBR分区格式)

  • 命令格式:fdisk 选项...

  • 常用选项:-l 列出磁盘分区表类型与分区信息

[root@localhost ~]# fdisk /dev/sdb
m   #获取命令帮助     ※
p   #显示磁盘分区表   ※
n   #新增加一个分区   ※
q   #不保存分区退出   ※
d   #删除一个分区     ※
w   #保存分区退出     ※
a   #设置可引导标记
b   #编辑bsd磁盘标签
c   #设置DOS操作系统兼容标记
l   #显示已知的文件系统类型,82为swap交换分区,83为Linux分区
o   #建立空白DOS分区表
s   #新建空白SUN磁盘标签
t   #改变分区的系统ID
u   #改变显示记录单位
v   #验证分区表
x   #附加功能
​
命令(输入 m 获取帮助):m
命令(输入 m 获取帮助):p
​
#划分第一个主分区
命令(输入 m 获取帮助):n
Select (default p):   回车
分区号 (1-4,默认 1):回车
起始 扇区 (2048-209715199,默认为 2048):回车
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+10G  #指定大小(K,M,G)
分区 1 已设置为 Linux 类型,大小设为 10 GiB
​
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
​
#划分第二个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (2-4,默认 2):
起始 扇区 (20973568-209715199,默认为 20973568):
Last 扇区, +扇区 or +size{K,M,G} (20973568-209715199,默认为 209715199):+10G  #指定分区大小
​
#划分第三个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
​
#查看分区信息
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41945087    10485760   83  Linux
/dev/sdb3        41945088    62916607    10485760   83  Linux
​
#划分第四个分区
命令(输入 m 获取帮助):n
Select (default e): p
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):+10G
​
#继续划分分区
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
#提示如果想要创建更多的分区,先将一个主分区替换为扩展分区
​
#删除分区
命令(输入 m 获取帮助):d4
分区号 (1-4,默认 4):
分区 4 已删除
​
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):3
分区 3 已删除
​
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41945087    10485760   83  Linux
​
#创建主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
​
#创建按扩展分区
命令(输入 m 获取帮助):n
Select (default e):
Using default response e
已选择分区 4
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):
分区 4 已设置为 Extended 类型,大小设为 70 GiB
​
#创建逻辑分区
命令(输入 m 获取帮助):n
添加逻辑分区 5
起始 扇区 (62918656-209715199,默认为 62918656):
Last 扇区, +扇区 or +size{K,M,G} (62918656-209715199,默认为 209715199):+10G
分区 5 已设置为 Linux 类型,大小设为 10 GiB
​
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
磁盘标签类型:dos
磁盘标识符:0xefc65503
​设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41945087    10485760   83  Linux
/dev/sdb3        41945088    62916607    10485760   83  Linux
/dev/sdb4        62916608   209715199    73399296    5  Extended
/dev/sdb5        62918656    83890175    10485760   83  Linux
命令(输入 m 获取帮助):w

6. GPT分区格式

GPT分区格式:可划分128个主分区,最大支持18EB磁盘容量(1EB=1024PB,1PB=1024TB,1TB=1024GB)

gdisk命令用于查看磁盘使用情况和磁盘分区(GPT分区格式)

  • 命令格式:gdisk 选项...

  • 常用选项:-l 列出磁盘分区表类型与分区信息

[root@localhost ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10 #GPT版本
​
Partition table scan:   #分区表扫描MBR: not present      #MBR分区不存在BSD: not present      #BSD分区不存在APM: not present      #APM分区不存在GPT: not present      #GPT分区不存在
​
Creating new GPT entries.  #创建新的GPT分区
​
Command (? for help): ?   #输入?号获取命令帮助
p   #显示磁盘分区表   ※
n   #新增加一个分区   ※
q   #不保存分区退出   ※
d   #删除一个分区     ※
w   #保存分区退出     ※
​
#创建新的分区
Command (? for help): n
Partition number (1-128, default 1): 回车
First sector (34-209715166, default =2048) or {+-}size{KMGTP}: 回车  #输入起始扇区,默认2048开始
Last sector (2048-209715166, default =209715166) or {+-}size{KMGTP}: +20G #输入新增分区的大小,可以通过扇区数来增加,也可以通过+size{KMGTP}方式来增加
Hex code or GUID (L to show codes, Enter =8300):  #这里要求输入分区的类型,直接回车就行
​
#查看分区类型
Command (? for help): p  #输入p查看创建的分区
Disk /dev/sdc: 209715200 sectors, 100.0 GiB  #磁盘总容量
...
Total free space is 167772093 sectors (80.0 GiB)  #磁盘剩余容量
​
Number  Start (sector)    End (sector)  Size       Code  Name1            2048        41945087   20.0 GiB    8300  Linux filesystem
#以创建的分区
​
Command (? for help): w   #输入w保存配置,如果不想保存可以输入q退出
Do you want to proceed? (Y/N): y  #问你是否相想继续,输入y继续
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.   #写入成功
​
#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/sdc1
​
#查看文件系统类型
[root@localhost ~]# blkid /dev/sdc1
/dev/sdc1: UUID="c57746eb-8170-4c86-82ad-6aae95de19f3"TYPE="xfs"
​
#创建挂载点
[root@localhost ~]# mkdir /webbak
[root@localhost ~]# mount /dev/sdc1 /webbak
[root@localhost ~]# df -hT
/dev/sdc1               xfs        20G   33M   20G    1% /webbak
​
#开机自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/mapper/centos-root /                       xfs     defaults        00
UUID=ae55ec6b-973b-498e-a366-f35e14b3d153 /boot                   xfs     defaults        00
/dev/mapper/centos-swap swap                    swap    defaults        00
/dev/sdb1              /mybak                   xfs     defaults        00
/dev/sdc1              /webbak                  xfs     defaults        00   #手动添加这一行
​
[root@localhost ~]# mount -a

7. 格式化文件系统

文件管理系统,赋予分区文件系统,分区才可以正常的使用,根文件系统,多少个多少个文件系统

  • CentOS5:分区默认使用文件系统类型ext3

  • CentOS6:分区默认使用文件系统类型ext4

ext4日志记录功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来
单个文件系统最大支持1EB的分区容量,单个文件最大可以存储16TB数据

  • CentOS7:分区默认使用文件系统类型xfs

xfs开启了日志记录的功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来,数据恢复的速度比ext4文件系统快
单个文件系统最大支持8EB分区容量,单个文件最大可以存储500TB的数据
单个文件每秒读写数据的速度可以达到4G

  • swap文件系统:交换分区,拿硬盘空间去充当(虚拟)内存去使用,降低服务器的性能

临时关闭swap分区功能
# swapoff -a
​
​
永久关闭需要修改/etc/fstab文件,注释swap一行即可,需要经历重启后生效
vim  /etc/fstab
​
上述内容省略...
​
#/dev/mapper/centos-swap swap    swap    defaults       0 0

mkfs命令用于在分区上建立文件系统

  • 常用文件系统类型:ext4,xfs

  • 命令格式:

  • mkfs.xfs 分区设备路径 #格式化为xfs类型文件系统

  • mkfs.ext4 分区设备路径 #格式化为ext4类型文件系统

#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/sdb1

8. blkid查看设备属性

  • blkid命令显示块设备属性信息(设备名称,设备UUID,文件系统类型)

  • 命令格式:blkid 选项...

blkid命令示例

#查看文件系统类型
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="3bb79b0b-3f17-4ad9-ad47-f00dcb6a5afa"TYPE="xfs"
​
​
#可以使用lsblk -f查看
[root@localhost ~]# lsblk -f /dev/sdb1

9. mount挂载

在Linux系统中用户无法直接使用硬件设备的,硬件设备在系统中都是以只读的方式存在的,必须挂载,挂载就是给我们用户提供一个可以使用设备的一个接口

  • 挂载注意事项:

  • 挂载点必须是一个目录,理论上还得是一个空目录

  • 一个文件系统不允许重复挂载到多个目录下

  • 一个目录不允许重复挂载多个文件系统

  • 命令格式:mount 设备路径 挂载点目录

#创建挂载点目录
[root@localhost ~]# mkdir /mybak
​
#挂载文件系统
[root@localhost ~]# mount /dev/sdb1 /mybak
​
#查看正在使用中的分区信息
[root@localhost ~]# df -Th
​
[root@localhost ~]# df -Th /mybak
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/sdb1      xfs    10G   33M   10G    1% /mybak

PS:

总结:

  • 添加硬盘: lsblk 查看系统是否识别新硬盘

  • 划分分区:fdisk/gdisk 设备路径 划分硬盘

  • 格式化文件系统:mkfs.xfs/mkfs.exte

  • 挂载:创建目录--> mount 设备路径 挂载点目录

  • 查看分区使用情况: df -hT


10.umount卸载

umount命令用于卸载文件系统

  • 命令格式:umount 挂载点目录

#卸载文件系统
[root@localhost ~]# umount /mybak
[root@localhost ~]# df -h 

11.开机自动挂载

/etc/fstab用于存放文件系统信息,当系统启动时,系统会自动读取文件内容将指定的文件系统挂载到指定的目录

[root@localhost ~]# vim /etc/fstab
​
上述内容省略...
​
/dev/sdb5 /test xfs defaults 00
​
#解释:该文件内容为6个字段,每个字段详解如下
第一个字段:要挂载的设备路径
第二个字段:挂载点目录
第三个字段:设备文件系统类型
​
第四个字段:挂载参数,参数如下↓
sync,async:  此文件系统是否使用同步写入 (sync) 或异步 (async) 的内存机制,默认为异步(async)
atime,noatime:更新访问时间/不更新访问时间,访问分区时,是否更新文件的访问时间,默认为更新
ro,rw:挂载文件为只读(ro)或读写(rw),默认为rw
auto,noauto:自动挂载/手动挂载,执行mount -a时,是否自动挂载/etc/fstab文件内容,默认为自动(auto)
dev,nodev:是否允许此文件系统上,可建立装置文件,默认为允许(dev)
suid,nosuid:是否允许文件系统上含有SUID与SGID特殊权限,默认为允许(SUID)
exec,noexec:是否允许文件系统上拥有可执行文件,默认为允许(exec)
user,nouser:是否允许普通用户执行挂载操作,默认为不允许(nouser),只有root用户可以挂载分区
defaults默认值:代表async,rw,auto,dev,suid,exec,nouser七个选项
​
第五个字段:是否对文件系统进行备份,0不备份,1为备份
第六个字段:是否检查文件系统挂载顺序,0不检测mount常用选项:
-a:依照配置文件/etc/fstab的数据将所有未挂载的分区都挂载上来[root@localhost ~]# mount -a

如有补充,后续添加

【Linux】系统下的磁盘分区(重难点)相关推荐

  1. Linux系统下的硬盘分区、格式化与挂载

    以下内容源于网络资源的学习与整理,如有侵权请告知删除. 参考内容 分区是什么意思_360问答 磁盘分区_360百科 挂载_360百科 fdisk对一个块设备进行分区_XZY028的博客-CSDN博客_ ...

  2. Linux系统下提示磁盘空间满,但实际占用却很小

    Linux系统下提示磁盘空间满,但实际占用却很小 因为公司放在测试服务器上的服务比较多,磁盘经常性会满.以前满过几次,因为时间比较赶,每次只是草率的删掉一点log或者临时文件,到今天早上又发生一起事故 ...

  3. Linux系统下挂载Windows分区

    1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...

  4. vmware使用已有linux系统的物理磁盘分区

    2019独角兽企业重金招聘Python工程师标准>>> 1.windows7/gentoo linux双系统,想在Windows7下使用vmware直接访问物理盘上的linux. 2 ...

  5. Linux系统发行版磁盘分区方案

    所用发行版Ubuntu,不同发行版且版本不一会有些必要的分区,这里就列举它的基本分区 必看知识点: 一块硬盘最多有4个主分区,主分区以外的分区称为扩展分区,硬盘可以没有扩展分区,但是一定要有主分区,在 ...

  6. linux系统下进行磁盘扩容

    前言 本文中的前提是基于在虚拟化平台中进行扩容,在虚拟化平台中有个centos7.qcow2镜像格式安装的centos7的系统,前面的扩容步骤是针对qcow2格式的:如果使用虚拟机,除前面两大步骤不一 ...

  7. linux系统下对磁盘的,学会在Linux下对硬盘分区

    conqueror 于 2010-03-30 13:17:49发表: 不错不错学习一下,顶...! conqueror 于 2010-03-30 13:17:31发表: 不错不错学习一下,顶...! ...

  8. 开发Linux系统下的磁盘加密方法详解

    随着智能手机的计算能力和存储能力的提高,手机中将会存放越来越多的私有数据,这些数据的泄密可能造成严重后果.手机信息安全一直是我们的重点之一,对于一些重要的功能我们要求鉴权后才能使用,但这只能挡住初级的 ...

  9. linux的磁盘文件系统格式怎么看,linux如何下查看磁盘分区的文件系统格式?

    df -T 只可以查看已经挂载的分区和文件系统类型. FilesystemType1K-blocks Used Available Use% Mounted on /dev/sda1ext420642 ...

最新文章

  1. Node:非IO的异步API
  2. Qt Creator 插件开发(1):编译 Qt Creator
  3. 使用DOM操纵HTML文档几点粗浅认识
  4. 机房收费系统--登录窗体
  5. 干货回顾 | 泛娱乐社交 APP 出海的破与立
  6. 使用 ABAP 代码解析一个 class 的所有方法
  7. matlab中quat2angle,matlab 学习记录
  8. DotNetCommon-搜集.neter开发常用的功能
  9. 腾讯校园招聘面试的秘密
  10. 输入一个正整数n,计算s=1-1/3+1/5-1/7…前n项之和
  11. sqlmap能测试java么_ibatis框架如何测试?ibatis入门解析
  12. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——AlbumView相册控件的使用方式...
  13. 做网站搭建服务器,个人服务器搭建做网站
  14. Git的诞生_繁星漫天_新浪博客
  15. Playing Atari with Deep Reinforcement Learning 学习笔记
  16. NodeMcu arduino ESP8266 使用Ticker库(多任务处理)
  17. chrom浏览器flash_谷歌浏览器怎么打开flash_最新版chrome怎么开启flash-win7之家
  18. STM8-STVD+Cosmic编译输出信息参数配置
  19. 手机淘宝宝贝详情页《问大家》数据爬虫手把手实战,包含动态参数如何生成...
  20. 彪哥情人节期间征女友一名铃声 彪哥情人节期间征女友一名手机...

热门文章

  1. autojs截图并发送邮件
  2. redis twemproxy模式的优点
  3. JS中箭头函数和普通函数的五种区别
  4. 数据湖 与 Lambda 架构
  5. HNUST OJ 2206 小明的衣服
  6. 图文还原HTTPS原理
  7. switch别致源码
  8. 第35篇:某区宽带用户路由器DNS被篡改事件分析(DNS重绑定攻击)
  9. 传感与检测技术(机电)_简要问答题_复习笔记
  10. jQuery遍历页面中的标签