文章目录
前言
一、du:查看文件和目录占用的磁盘空间
二、df:查看文件系统的整体磁盘使用情况
三、lsblk:查看设备挂载情况
四、fdisk:磁盘分区
4.1、查看磁盘分区列表
4.2、磁盘分区
4.2.1、交互命令的功能
4.2.2、对/dev/sda进行MBR分区
4.2.3、对/dev/sdb进行GPT分区
五、mkfs:构建/格式化文件系统
六、mount、unmount:挂载、卸载磁盘
前言
一个磁盘从插到服务器,到我们能正常使用他,查看他的剩余空间,一共包括以下几个步骤:
- 首先查看服务器是否将磁盘挂载:lsblk
- 然后进行磁盘分区:fdisk
- 在分好的分区上创建文件系统:mkfs
- 最后将创建好的文件系统挂载到Linux系统上
- 在使用了一段时间后想看看剩余空间:df、du
我在下面对磁盘整个使用过程进行了介绍,希望帮到大家。
一、du:查看文件和目录占用的磁盘空间
基本语法:
du 目录/文件 显示目录下每个子目录的磁盘使用情况
选项说明:
-h 以人们较易阅读的GBtypes,MBtypes,KBytes等格式自行显示
-a 不仅查看子目录的大小,还要包括文件
-c 显示目录下每个子目录大小后,显示总和
-s 只显示总和
--max-depth=n 指定系统子目录的深度为第n层
实例:
显示 /dev 目录下子目录和文件的磁盘使用情况以较易阅读的形式,最多显示到深度4层的文件和子目录。
du -ah --max-depth=4 /dev
二、df:查看文件系统的整体磁盘使用情况
df -h
三、lsblk:查看设备挂载情况
这里说的挂载是挂载到了服务器上,但是不能直接使用,需要挂载到系统上才可用。
基本语法:
lsblk 选项 设备名称
选项说明:
-a 显示所有设备
-b 以字节为单位显示设备的大小
-f 显示设备的文件系统类型-m 显示权限信息
-o 允许用户定义要显示的列:name,fstype,size,type,mountpoint
-p 以完整路径的形式显示设备名
实例:
lsblk
输出字段解释:
NAME 块设备名
MAJ:MIN 主要和次要设备号
RM 设备是否可移动设备(0:非移动设备、1:移动设备)
SIZE 设备的容量大小
RO 设备是否为只读(0:不是只读、1:只读)
TYPE 块设备类型
MOUNTPOINT 设备挂载点
四、fdisk:磁盘分区
基本语法:
查看磁盘分区列表:fdisk -l 设备名称
磁盘分区:fdisk 设备名称
4.1、查看磁盘分区列表
fdisk -l
输出字段含义:
Disk /dev/sde: 894.26 GiB, 960197124096 bytes, 1875385008 sectors
Disk model: SAMSUNG MZ7KH960
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 87BC99AE-A102-4194-8E7D-5092B46D6B36
Device Start End Sectors Size Type
/dev/sde1 2048 2099199 2097152 1G EFI System
/dev/sde2 2099200 4196351 2097152 1G Linux filesystem
/dev/sde3 4196352 1875384319 1871187968 892.3G Linux LVM
输出内容包括两部分:
磁盘部分:
第一行:
Disk /dev/sde: 894.26 GiB, 960197124096 bytes, 1875385008 sectors
Disk 表示磁盘
/dev/sde 磁盘名称
894.26 GiB 磁盘大小GiB
960197124096 bytes 磁盘大小bytes
1875385008 sectors 扇区数
第二行:
Disk model: SAMSUNG MZ7KH960
Disk model 产品名称
SAMSUNG MZ7KH960 三星的MZ7KH960
第三行:
Units: sectors of 1 * 512 = 512 bytes
这句话的意思是1个扇区的大小是512bytes
第四行:
Sector size (logical/physical): 512 bytes / 4096 bytes
表示1个逻辑扇区512bypte,1个物理扇区是4096bytes
第五行:
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
一次输入输出的最小字节数4096bytes,最佳字节数4096bytes
第六行:
Disklabel type: gpt
磁盘分区表格式:gpt
第七行:Disk identifier: 87BC99AE-A102-4194-8E7D-5092B46D6B36
磁盘标识符:87BC99AE-A102-4194-8E7D-5092B46D6B36
分区部分:
Device Start End Sectors Size Type
/dev/sde1 2048 2099199 2097152 1G EFI System
/dev/sde2 2099200 4196351 2097152 1G Linux filesystem
/dev/sde3 4196352 1875384319 1871187968 892.3G Linux LVMDevice 设备名称
Start、End 分区在硬盘上的起始扇区和结束扇区编号
Sectors 分区占用的扇区数
Size 分区的大小
Type 分区的类型:EFI System、Linux filesyste、Linux LVM等
4.2、磁盘分区
4.2.1、交互命令的功能
命令 | 功能 |
Generic 通用的 | |
d | delete a partition 删除分区 |
F | list free unpartitioned space 列出空闲的未分区空间 |
l | list known partition types 列出已知分区类型 |
n | add a new partition 添加一个新分区 |
p | print the partition table 打印分区表 |
t | change a partition type 更改分区类型 |
v | verify the partition table 验证分区表 |
i | print information about a partition 打印分区信息 |
Save & Exit 保存 & 退出 | |
w | write table to disk and exit 将表写入磁盘并退出 |
q | quit without saving changes 不保存更改就退出 |
Create a new label 创建新标签 | |
g | create a new empty GPT partition table 创建一个新的空GPT分区表 |
G | create a new empty SGI (IRIX) partition table 创建一个新的空SGI (IRIX)分区表 |
o | create a new empty DOS partition table 创建一个新的空DOS(MBR)分区表 |
s | create a new empty Sun partition table 创建一个新的空Sun分区表 |
4.2.2、对/dev/sda进行MBR分区
创建3个主分区,1个扩展分区
对sda进行分区:
fdisk /dev/sda
首先创建一个新的DOS分区表
添加第一个主分区,分区大小200GB:
n:添加分区
p:主分区
1:分区表位置
分区的起始位置默认就行
+200G:结束位置
添加第二个主分区,分区大小300GB:
添加第三个主分区,分区大小400GB
添加一个扩展分区,分区大小100GB
打印分区表,可以看到刚才分的三个主分区和一个扩展分区
将分区表写入磁盘并退出
查看分区是否成功 fdisk -l /dev/sda
4.2.3、对/dev/sdb进行GPT分区
对 /dev/sdb进行分区
创建一个空的GPT分区表
创建5个分区,大小分别是50G、60G、70G、80G、90G,可以看到GPT分区表最大可以创建128个分区
打印分区表,可以看到五个分区已经分好
保存分区表,退出,查看 /dev/sdb 的分区信息,可以看到已经分区成功
五、mkfs:构建/格式化文件系统
通过tab键补全,可以看到 mkfs 可以构建的文件系统格式有:cramfs 、ext2、ext3、ext4、fat、minix、msdos、vfat、xfs
CSDN的C知道的回答,可以参考一下,其中ext4和xfs是Linux服务器上常用到的文件系统格式:
- cramfs是一种只读文件系统,它被设计成非常紧凑,可以在嵌入式系统和小型设备上使用。
- ext2是Linux操作系统中广泛使用的一种文件系统,它是一种可靠的、高性能的文件系统,支持大多数UNIX文件系统的特性。
- ext3是Linux操作系统中的一种日志文件系统,它在ext2的基础上增加了日志功能,提供了更好的文件系统保护和恢复能力。
- ext4是Linux操作系统中最新的一种文件系统,它在ext3的基础上进行了改进,提供了更高的性能和更好的可靠性。
- FAT是一种广泛使用的文件系统,被广泛应用于闪存、USB驱动器和其他便携设备中。
- MINIX是一个小型的UNIX操作系统,minix文件系统是其默认的文件系统。
- MSDOS是微软开发的一种磁盘操作系统,它使用FAT文件系统作为默认的文件系统。
- VFAT是FAT文件系统的一个扩展版本,它增加了对长文件名、大容量硬盘驱动器和其他高级特性的支持。
- XFS是一个高性能、可扩展的文件系统,主要应用于高负载的服务器环境中。它支持大容量、高速度和快速恢复等特性。
实例:
将 /dev/sdb 中的5个分区,构建成 xfs 类型的文件系统
构建 ext4 文件系统
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkfs.ext4 /dev/sdb3
mkfs.ext4 /dev/sdb4
mkfs.ext4 /dev/sdb5
再次查看可以看到五个分区的文件系统类型都是 ext4
将 /dev/sdb/sdb1 的文件系统格式化为 xfs
mkfs.xfs -f /dev/sdb/sdb1
可以看到 /dev/sdb1 的文件系统类型变为 xfs
六、mount、unmount:挂载、卸载磁盘
基本语法:
挂载设备:mount [-t vfstype][-o options] device dir
卸载设备:umount 设备文件名或挂载点
参数说明:
参数 | 功能 |
-t vfstype | 指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。 常用类型: 光盘或光盘镜像:iso9660 Windows NT ntfs文件系统:ntfs Mount Windows 文件网络共享:smbfs UNIX(LINUX)文件网络共享:nfs |
-o options | 主要用来描述设备或档案的挂接方式 常用的参数有: loop:用来把一个文件当成硬盘分区挂载上系统 re:采用只读方式挂接设备 |
device | 要挂载(mount)的设备 |
dir | 设备在系统上的挂载点(mount point) |
实例:
将sda设备以硬盘分区的形式挂载到/mnt
mount -o loop /dev/sda /mnt
卸载刚才挂载的设备
unmount /dev/sda
或
unmount /mnt