文章目录
文档配套视频讲解链接地址
- 腾讯课堂视频链接地址 : 34_磁盘管理_分区格式化概念1
- 腾讯课堂视频链接地址 : 35_磁盘管理_图形化磁盘分区2
- 腾讯课堂视频链接地址 : 36_磁盘管理_小节复习3
- 腾讯课堂视频链接地址 : 37_磁盘管理_fdisk磁盘分区4
- 腾讯课堂视频链接地址 : 38_磁盘管理_mkfs格式化5
- 腾讯课堂视频链接地址 : 39_磁盘管理_du与df命令6
第09章 磁盘管理
9.1 文件系统分类
Linux系统中颇具特色的文件存储结构常常搞得新手头昏脑涨,本章将从Linux系统中的文件存储结构开始,讲述文件系统层次标准(Filesystem Hierarchy Standard,FHS)、udev硬件命名规则以及硬盘设备的原理。
为了让读者更好地理解文件系统的作用,将在本章详细地分析Linux系统中最常见的Ext3、Ext4与XFS文件系统的不同之处,练习硬盘设备分区、格式化以及挂载等常用的硬盘管理操作,以便熟练掌握文件系统的使用方法。
Linux系统支持数十种文件系统,而最常见的文件系统如下所示。
Ext2:最早可追溯到1993年,是Linux系统的第一个商业级文件系统,它基本沿袭了UNIX文件系统的设计标准。但由于不包含日志读写功能,数据丢失的可能性很大,因此大家能不用就不用,或者顶多建议用于SD存储卡或U盘。
Ext3:是一款日志文件系统,它会把整个硬盘的每个写入动作的细节都预先记录下来,然后再进行实际操作,以便在发生异常宕机后能回溯追踪到被中断的部分。Ext3能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能100%地保证资料不会丢失。
Ext4:Ext3的改进版本,作为linux系统中默认的文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block(块),从而极大地提高了读写效率。现在很多主流服务器也会使用Ext4文件系统。
9.2 文件系统的根(/)
在Linux系统中,目录、字符设备、套接字、硬盘、光驱、打印机等都被抽象成文件形式,一直强调的“Linux系统中一切都是文件”。既然平时我们打交道的都是文件,那么又应该如何找到它们呢?在Windows操作系统中,想要找到一个文件,要依次进入该文件所在的磁盘分区(也叫盘符),然后再进入该分区下的具体目录,最终找到这个文件。但是在Linux系统中并不存在C、D、E、F等盘符,Linux系统中的一切文件都是从“根”目录(/)开始的,并按照文件系统层次标准(FHS)采用倒树状结构来存放文件,以及定义了常见目录的用途。
另外,Linux系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目录,并且文件名称中不得包含斜杠(/)。
9.3 物理设备命名规则
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等。Linux系统中常见的硬件设备及其文件名称如图所示。
IDE : 老式的硬盘
SATA :目前流行的硬盘
第一个知识点是设备名称的理解错误。比如/dev/sda表示主板上第一个插槽上的存储设备,读者在实践操作的时候会发现果然如此,因此也就对这条理论知识更加深信不疑。但真相不是这样的,/dev目录中sda设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。大家以后在使用SCSI网络存储设备时就会发现,明明主板上第二个插槽是空着的,但系统却能识别到/dev/sdb这个设备—就是这个道理。
第二个知识点是对分区名称的理解错误。分区的编号代表分区的个数。比如sda3表示这是设备上的第3个分区,而学员在做实验的时候确实也会得出这样的结果。但是这个理论知识是错误的,因为分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。因此sda3只能表示是编号为3的分区,而不能判断sda设备上已经存在了3个分区。
首先,/dev/目录中保存的应当是硬件设备文件;其次,sd表示的是存储设备;然后,a表示系统中同类接口中第一个被识别到的设备;最后,5表示这个设备是一个逻辑分区。一言以蔽之,“/dev/sda5”表示的就是“这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件”。
- 例如 :手动添加一个磁盘, 然后对磁盘分区
->关闭虚拟机
->编辑虚拟机设置
->添加
->硬盘
->SCSI(推荐)
->创建虚拟磁盘
-> 磁盘大小: 10G
立即分配所有磁盘空间
将虚拟磁盘存储位单一文件
-> 磁盘命名: Ubuntu18.04-ext.vmdk (VMware disk)
-> 确定
-> 开启虚拟机
-> 左下角开始图标
-> 工具
-> 磁盘
-> 即可看到 我们新加的磁盘: /dev/sdb
9.4 fdisk 分区磁盘
1. 图形化工具分区磁盘
->把u盘插入到电脑
->打开虚拟机的右下角图标
->右击u盘图标
->连接
->出现弹窗, 提示"某个USB设备将要重主机拔出并连接到该虚拟机"
->点击确定
->Ubuntu资源管理窗口会有U盘信息弹出来
->打开Ubuntu的左下角开始图标
->工具
->磁盘
->选中 U盘 硬盘
->单击 '-' 按钮 , 进行删除分区
->弹窗中选择删除
->点击 '+' 图标, 进行添加分区
->分区大小 设置为: 2G
->输入 分区名称 : "boot"
->选中剩余的磁盘
->点击 "+"
->剩余空间即可
->输入分区名称 : "rootfs"
->至此分区完成
2. 命令分区磁盘
- 同样也可以使用fdisk命令进行分区
- 查看磁盘信息命令格式: fdisk -l [device…]
- 对磁盘进行分区格式化操作: fdisk device
- 例如
linux@ubuntu:~$ fdisk -l /dev/sda
fdisk: 打不开 /dev/sda: 权限不够
linux@ubuntu:~$ sudo fdisk -l /dev/sda
[sudo] linux 的密码:
Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe29ed0d4
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 104855551 104853504 50G 83 Linux
linux@ubuntu:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
linux@ubuntu:~$
linux@ubuntu:~$ sudo fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助): m
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助): l
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏 或 In c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 ea Rufus 对齐
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f4 SpeedStor
16 隐藏的 FAT16 63 GNU HURD 或 Sys af HFS / HFS+ f2 DOS 次要
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fd Linux raid 自动
1c 隐藏的 W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e 隐藏的 W95 FAT1 80 旧 Minix be Solaris 启动 ff BBT
命令(输入 m 获取帮助): F
未分区的空间 /dev/sdb:10 GiB,10736369664 个字节,20969472 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
起点 末尾 扇区 大小
2048 20971519 20969472 10G
命令(输入 m 获取帮助): p
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
命令(输入 m 获取帮助): n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-20971519, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): 2048*2048
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): 4194304
创建了一个新分区 1,类型为“Linux”,大小为 2 GiB。
命令(输入 m 获取帮助): t
已选择分区 1
Hex 代码(输入 L 列出所有代码): b
已将分区“Linux”的类型更改为“W95 FAT32”。
命令(输入 m 获取帮助): p
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4194304 4192257 2G b W95 FAT32
命令(输入 m 获取帮助): n
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (2-4, 默认 2): 2
第一个扇区 (4194305-20971519, 默认 4196352):
上个扇区,+sectors 或 +size{K,M,G,T,P} (4196352-20971519, 默认 20971519):
创建了一个新分区 2,类型为“Linux”,大小为 8 GiB。
命令(输入 m 获取帮助): p
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4194304 4192257 2G b W95 FAT32
/dev/sdb2 4196352 20971519 16775168 8G 83 Linux
命令(输入 m 获取帮助): m
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助): w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
linux@ubuntu:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4194304 4192257 2G b W95 FAT32
/dev/sdb2 4196352 20971519 16775168 8G 83 Linux
9.5 mkfs 格式化磁盘
mkfs命令来自于英文词组“make file system”的缩写,其功能是用于对设备进行格式化文件系统操作。在挂载使用硬盘空间前的最后一步,运维人员需要对整块硬盘或指定分区进行格式化文件系统操作,Linux系统支持的文件系统包含ext2、ext3、ext4、xfs、fat、msdos、vfat、minix等多种格式。
语法格式: mkfs [参数] 设备名
常用参数:
-V | 详细显示模式 |
---|---|
-t | 给定档案系统的型式 |
-c | 检查该设备是否有损坏 |
实例
linux@ubuntu:~$ mkfs<TAB><TAB>
mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
linux@ubuntu:~$ mkfs.fat /dev/sd<TAB>
sda sda1 sdb sdb1 sdb2 sdc sdc1 sdc2
linux@ubuntu:~$ mkfs.fat /dev/sdb
sdb sdb1 sdb2
linux@ubuntu:~$ mkfs.fat /dev/sdb1
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: unable to open /dev/sdb1: Permission denied
linux@ubuntu:~$ sudo mkfs.fat /dev/sdb1
[sudo] linux 的密码:
mkfs.fat 4.1 (2017-01-24)
linux@ubuntu:~$ sudo mkfs.ext4 /dev/sdb2
mke2fs 1.44.1 (24-Mar-2018)
创建含有 2096896 个块(每块 4k)和 524288 个inode的文件系统
文件系统UUID:7b6ac31f-7a8c-4bb6-ba2b-fdda970bce63
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块) 完成
写入超级块和文件系统账户统计信息: 已完成
linux@ubuntu:~$
格式化完成后,通过磁盘工具查看
9.6 mount 挂载与umount卸载设备
mount命令的功能是用于把文件系统挂载到目录,文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。
默认情况下Linux系统并不会像Windows系统那样自动的挂载光盘和U盘设备,需要自行完成。
挂载设备语法格式:mount [参数] [设备] [挂载点]
卸载设备语法格式:umount [挂载点]
挂载点:就是一个目录
参考实例
linux@ubuntu:~$ ls /mnt/
linux@ubuntu:~$ sudo mkdir /mnt/linux
linux@ubuntu:~$ ls /mnt/
linux
linux@ubuntu:~$ mount /dev/sdb1 /mnt/linux/
mount: 只有 root 能执行该操作
linux@ubuntu:~$ sudo mount /dev/sdb1 /mnt/linux/
linux@ubuntu:~$ ls /mnt/linux/
linux@ubuntu:~$ ls
Desktop Documents Downloads Music Pictures Public snap Templates Videos work
linux@ubuntu:~$ cp work/
1.txt hello/
linux@ubuntu:~$ touch /mnt/linux/1.txt
touch: 无法创建'/mnt/linux/1.txt': 权限不够
linux@ubuntu:~$ sudo touch /mnt/linux/1.txt
linux@ubuntu:~$ ls /mnt/linux/
1.txt
linux@ubuntu:~$ sudo mkdir /mnt/rootfs
linux@ubuntu:~$ sudo mount /dev/sdb2 /mnt/rootfs/
linux@ubuntu:~$ ls /mnt/rootfs/
lost+found
linux@ubuntu:~$ umount /dev/sdb1
umount: /mnt/linux: umount failed: 不允许的操作.
linux@ubuntu:~$ umount /mnt/linux
umount: /mnt/linux: umount failed: 不允许的操作.
linux@ubuntu:~$ sudo umount /mnt/linux
linux@ubuntu:~$ sudo umount /mnt/rootfs
linux@ubuntu:~$ sudo mount /dev/sdb2 /mnt/rootfs/
linux@ubuntu:~$ sudo mount /dev/sdb1 /mnt/linux/
linux@ubuntu:~$ sudo umount /mnt/rootfs
linux@ubuntu:~$ sudo umount /mnt/linux
linux@ubuntu:~$
9.7 fatlabel e2label 修改盘符
e2label 命令用来设置ext2,ext3,ext4文件系统的卷标, 卷标就是盘符。
fatlabel 命令用来设置fat文件系统的卷标
ntfslabel 命令用来设置ntfs文件系统的卷标
实例
linux@ubuntu:~$ fatlabel /dev/sdb1 hello # fat 文件系统要求盘符是大写字符, 如果小写会有兼容问题
fatlabel: warning - lowercase labels might not work properly with DOS or Windows
open: Permission denied
linux@ubuntu:~$ sudo fatlabel /dev/sdb1 hello # fat 文件系统要求盘符是大写字符, 如果小写会有兼容问题
fatlabel: warning - lowercase labels might not work properly with DOS or Windows
linux@ubuntu:~$ sudo fatlabel /dev/sdb1 HELLO
linux@ubuntu:~$ sudo e2label /dev/sdb2 kernel
linux@ubuntu:~$ sudo fatlabel /dev/sdb1 BOOT
linux@ubuntu:~$ sudo e2label /dev/sdb2 rootfs
linux@ubuntu:~$ sudo e2label /dev/sdb2
rootfs
linux@ubuntu:~$ sudo fatlabel /dev/sdb1
BOOT
linux@ubuntu:~$ sudo e2label /dev/sdb1
e2label: 超级块中的幻数有错 尝试打开 /dev/sdb1 时
/dev/sdb1 有一个标签为“BOOT”的 vfat 文件系统
linux@ubuntu:~$ sudo fatlabel /dev/sdb1
BOOT
linux@ubuntu:~$
9.8 df 查看磁盘
df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算,毕竟135M比138240Kb更利于阅读对吧。
语法格式: df [参数] [对象磁盘/分区]
常用参数:
-a | 显示所有系统文件 |
---|---|
-B <块大小> | 指定显示时的块大小 |
-h | 以容易阅读的方式显示 |
参考实例
linux@ubuntu:~$ df
文件系统 1K-块 已用 可用 已用% 挂载点
udev 974532 0 974532 0% /dev
tmpfs 199940 1680 198260 1% /run
/dev/sda1 51288544 9294812 39356012 20% /
tmpfs 999684 0 999684 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 999684 0 999684 0% /sys/fs/cgroup
/dev/loop1 56832 56832 0 100% /snap/core18/2128
/dev/loop2 2560 2560 0 100% /snap/gnome-calculator/884
/dev/loop0 128 128 0 100% /snap/bare/5
/dev/loop3 2688 2688 0 100% /snap/gnome-system-monitor/178
/dev/loop4 224256 224256 0 100% /snap/gnome-3-34-1804/72
/dev/loop5 2560 2560 0 100% /snap/gnome-system-monitor/163
/dev/loop6 768 768 0 100% /snap/gnome-characters/726
/dev/loop7 768 768 0 100% /snap/gnome-characters/741
/dev/loop8 2688 2688 0 100% /snap/gnome-calculator/920
/dev/loop9 63488 63488 0 100% /snap/core20/1611
/dev/loop10 640 640 0 100% /snap/gnome-logs/112
/dev/loop11 48128 48128 0 100% /snap/snapd/16292
/dev/loop12 93952 93952 0 100% /snap/gtk-common-themes/1535
/dev/loop13 66688 66688 0 100% /snap/gtk-common-themes/1515
/dev/loop14 247168 247168 0 100% /snap/gnome-3-38-2004/70
/dev/loop15 63488 63488 0 100% /snap/core20/1593
/dev/loop16 56960 56960 0 100% /snap/core18/2538
/dev/loop17 410496 410496 0 100% /snap/gnome-3-38-2004/112
/dev/loop18 640 640 0 100% /snap/gnome-logs/106
/dev/loop19 224256 224256 0 100% /snap/gnome-3-34-1804/77
tmpfs 199936 40 199896 1% /run/user/1000
linux@ubuntu:~$ df -h # 便于阅读的方式查看磁盘使用情况
文件系统 容量 已用 可用 已用% 挂载点
udev 952M 0 952M 0% /dev
tmpfs 196M 1.7M 194M 1% /run
/dev/sda1 49G 8.9G 38G 20% /
tmpfs 977M 0 977M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 977M 0 977M 0% /sys/fs/cgroup
/dev/loop1 56M 56M 0 100% /snap/core18/2128
/dev/loop2 2.5M 2.5M 0 100% /snap/gnome-calculator/884
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop3 2.7M 2.7M 0 100% /snap/gnome-system-monitor/178
/dev/loop4 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/loop5 2.5M 2.5M 0 100% /snap/gnome-system-monitor/163
/dev/loop6 768K 768K 0 100% /snap/gnome-characters/726
/dev/loop7 768K 768K 0 100% /snap/gnome-characters/741
/dev/loop8 2.7M 2.7M 0 100% /snap/gnome-calculator/920
/dev/loop9 62M 62M 0 100% /snap/core20/1611
/dev/loop10 640K 640K 0 100% /snap/gnome-logs/112
/dev/loop11 47M 47M 0 100% /snap/snapd/16292
/dev/loop12 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop13 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop14 242M 242M 0 100% /snap/gnome-3-38-2004/70
/dev/loop15 62M 62M 0 100% /snap/core20/1593
/dev/loop16 56M 56M 0 100% /snap/core18/2538
/dev/loop17 401M 401M 0 100% /snap/gnome-3-38-2004/112
/dev/loop18 640K 640K 0 100% /snap/gnome-logs/106
/dev/loop19 219M 219M 0 100% /snap/gnome-3-34-1804/77
tmpfs 196M 40K 196M 1% /run/user/1000
linux@ubuntu:~$
linux@ubuntu:~$ sudo mount /dev/sdb1 /mnt/linux/ # 挂载 sdb1分区
[sudo] linux 的密码:
linux@ubuntu:~$ sudo mount /dev/sdb2 /mnt/rootfs/ # 挂载 sdb2分区
linux@ubuntu:~$ df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 952M 0 952M 0% /dev
tmpfs 196M 1.7M 194M 1% /run
/dev/sda1 49G 8.9G 38G 20% /
tmpfs 977M 0 977M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 977M 0 977M 0% /sys/fs/cgroup
/dev/loop1 56M 56M 0 100% /snap/core18/2128
/dev/loop2 2.5M 2.5M 0 100% /snap/gnome-calculator/884
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop3 2.7M 2.7M 0 100% /snap/gnome-system-monitor/178
/dev/loop4 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/loop5 2.5M 2.5M 0 100% /snap/gnome-system-monitor/163
/dev/loop6 768K 768K 0 100% /snap/gnome-characters/726
/dev/loop7 768K 768K 0 100% /snap/gnome-characters/741
/dev/loop8 2.7M 2.7M 0 100% /snap/gnome-calculator/920
/dev/loop9 62M 62M 0 100% /snap/core20/1611
/dev/loop10 640K 640K 0 100% /snap/gnome-logs/112
/dev/loop11 47M 47M 0 100% /snap/snapd/16292
/dev/loop12 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop13 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop14 242M 242M 0 100% /snap/gnome-3-38-2004/70
/dev/loop15 62M 62M 0 100% /snap/core20/1593
/dev/loop16 56M 56M 0 100% /snap/core18/2538
/dev/loop17 401M 401M 0 100% /snap/gnome-3-38-2004/112
/dev/loop18 640K 640K 0 100% /snap/gnome-logs/106
/dev/loop19 219M 219M 0 100% /snap/gnome-3-34-1804/77
tmpfs 196M 40K 196M 1% /run/user/1000
/dev/sdb1 2.0G 4.0K 2.0G 1% /mnt/linux
/dev/sdb2 7.8G 24K 7.4G 1% /mnt/rootfs
linux@ubuntu:~$
linux@ubuntu:~$ sudo umount /mnt/linux
linux@ubuntu:~$ sudo umount /mnt/rootfs
linux@ubuntu:~$ df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 952M 0 952M 0% /dev
tmpfs 196M 1.7M 194M 1% /run
/dev/sda1 49G 8.9G 38G 20% /
tmpfs 977M 0 977M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 977M 0 977M 0% /sys/fs/cgroup
/dev/loop1 56M 56M 0 100% /snap/core18/2128
/dev/loop2 2.5M 2.5M 0 100% /snap/gnome-calculator/884
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop3 2.7M 2.7M 0 100% /snap/gnome-system-monitor/178
/dev/loop4 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/loop5 2.5M 2.5M 0 100% /snap/gnome-system-monitor/163
/dev/loop6 768K 768K 0 100% /snap/gnome-characters/726
/dev/loop7 768K 768K 0 100% /snap/gnome-characters/741
/dev/loop8 2.7M 2.7M 0 100% /snap/gnome-calculator/920
/dev/loop9 62M 62M 0 100% /snap/core20/1611
/dev/loop10 640K 640K 0 100% /snap/gnome-logs/112
/dev/loop11 47M 47M 0 100% /snap/snapd/16292
/dev/loop12 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop13 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop14 242M 242M 0 100% /snap/gnome-3-38-2004/70
/dev/loop15 62M 62M 0 100% /snap/core20/1593
/dev/loop16 56M 56M 0 100% /snap/core18/2538
/dev/loop17 401M 401M 0 100% /snap/gnome-3-38-2004/112
/dev/loop18 640K 640K 0 100% /snap/gnome-logs/106
/dev/loop19 219M 219M 0 100% /snap/gnome-3-34-1804/77
tmpfs 196M 40K 196M 1% /run/user/1000
linux@ubuntu:~$
9.9 du 查看文件或目录的大小
du命令来自于英文词组“Disk Usage”的缩写,其功能是用于查看文件或目录的大小。人们经常会把df和du命令混淆,df是用于查看磁盘或分区使用情况的命令,而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。
**语法格式:**du [参数] 文件
常用参数:
-a | 显示目录中所有文件大小 |
---|---|
-k | 以KB为单位显示文件大小 |
-m | 以MB为单位显示文件大小 |
-g | 以GB为单位显示文件大小 |
-h | 以易读方式显示文件大小 |
-s | 仅显示总计 |
参考实例
linux@ubuntu:~$ du -h .
32K ./.presage
4.0K ./Downloads
12K ./.dbus/session-bus
16K ./.dbus
4.0K ./Templates
4.0K ./Videos
4.0K ./.config/en
24K ./.vim/bundle/echofunc/plugin
28K ./.vim/bundle/echofunc
8.0K ./.vim/bundle/nerdtree/syntax
140K ./.vim/bundle/nerdtree/plugin
16K ./.vim/bundle/nerdtree/nerdtree_plugin
60K ./.vim/bundle/nerdtree/doc
236K ./.vim/bundle/nerdtree
16K ./.vim/bundle/CmdlineComplete/plugin
24K ./.vim/bundle/CmdlineComplete
1.4M ./.vim/bundle
1.4M ./.vim
4.0K ./.ssh
249M .
linux@ubuntu:~$
linux@ubuntu:~$ sudo du -h /
...
4.0K /root/snap/gnome-system-monitor/178
16K /root/snap/gnome-system-monitor
4.0K /root/snap/gnome-characters/common
4.0K /root/snap/gnome-characters/741
4.0K /root/snap/gnome-characters/726
16K /root/snap/gnome-characters
68K /root/snap
4.0K /root/.gnupg/private-keys-v1.d
8.0K /root/.gnupg
4.0K /root/.cache
96K /root
15G /
linux@ubuntu:~$