第9章 Linux的磁盘管理

发布于:2022-11-05 ⋅ 阅读:(889) ⋅ 点赞:(0)

文档配套视频讲解链接地址

  1. 腾讯课堂视频链接地址 : 34_磁盘管理_分区格式化概念1
  2. 腾讯课堂视频链接地址 : 35_磁盘管理_图形化磁盘分区2
  3. 腾讯课堂视频链接地址 : 36_磁盘管理_小节复习3
  4. 腾讯课堂视频链接地址 : 37_磁盘管理_fdisk磁盘分区4
  5. 腾讯课堂视频链接地址 : 38_磁盘管理_mkfs格式化5
  6. 腾讯课堂视频链接地址 : 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均代表不同的目录,并且文件名称中不得包含斜杠(/)。
image-20220823152342269

9.3 物理设备命名规则

​ 在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等。Linux系统中常见的硬件设备及其文件名称如图所示。
image-20220823152945835

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 

image-20220823153846504

image-20220823153935920

image-20220823154054585

image-20220823154112819

image-20220823154146136

image-20220823154238970

image-20220823154317761
image-20220823154509010

9.4 fdisk 分区磁盘

1. 图形化工具分区磁盘

->把u盘插入到电脑
->打开虚拟机的右下角图标
->右击u盘图标
->连接
->出现弹窗, 提示"某个USB设备将要重主机拔出并连接到该虚拟机"
->点击确定
->Ubuntu资源管理窗口会有U盘信息弹出来
->打开Ubuntu的左下角开始图标 
->工具
->磁盘
->选中 U盘 硬盘
->单击 '-' 按钮  , 进行删除分区
->弹窗中选择删除
->点击 '+' 图标, 进行添加分区
->分区大小 设置为: 2G 
->输入 分区名称 : "boot"
->选中剩余的磁盘 
->点击 "+"
->剩余空间即可 
->输入分区名称 : "rootfs"
->至此分区完成

image-20220824090332384

image-20220824090515028
image-20220824091309010
image-20220824090935268
image-20220824091405019

![(https://img-blog.csdnimg.cn/0daf7c8b0a3a4028a77113e65f50b458.png)

image-20220824091609721

image-20220824091647823

image-20220824091745706

image-20220824091822005

image-20220824091929859

image-20220824092108200

2. 命令分区磁盘

  • 同样也可以使用fdisk命令进行分区
  • 查看磁盘信息命令格式: fdisk -l [device…]
  1. 对磁盘进行分区格式化操作: 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

 024  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:~$ 
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到