本文记录 Linux 磁盘说明,与磁盘信息查询的方法汇总。
硬盘分区
磁盘的分区主要分为基本分区(primary partion)
和扩充分区(extension partion)
两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。
- 对于windows来说,有几个分区就有几个驱动器,并且每个分区都会有一个字母标识,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的。
- 而对于Linux来说,无论有几个分区,分给哪个目录使用,它归根结底只有一个根目录,一个独立且唯一的文件结构,它的每个分区都是用来组成整个文件系统的一部分,因为它采用一种叫
载入
的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
硬盘说明
Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上都是SCSI硬盘
- 对于IDE硬盘,驱动器标识符为
hdx~
, 其中hd
表明分区所在的设备的类型,这里是指IDE硬盘。x
为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),~
代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。 - 对于SCSI硬盘则标识为
sdx~
,SCSI硬盘是用sd
来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
系统磁盘信息查询汇总
查看系统分区
代码语言:javascript复制lsblk -f
代码语言:javascript复制$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda xfs VS1 9b2ecd09-ca56-400d-b3c0-f9709c8b3cf7
sdb xfs disk2 3bbedaac-4a8e-4b5e-b2d7-b801f03b5ade
sdc
├─sdc1 vfat 8256-9294 505.7M 1% /boot/efi
├─sdc2 xfs e3be39bc-a3d9-4a83-886f-af706c070147 532.3M 27% /boot
└─sdc3 LVM2_member XqJkfT-9pQk-SxcV-FpXV-D53R-8DNP-LKOpi2
├─ubuntu--vg-root xfs 774ad87a-3d9f-418e-b47f-34c223d443d5 93.1G 15% /
└─ubuntu--vg-swap_1 swap 1f90bf3a-e2e0-43a7-9c59-72a08a37adee [SWAP]
其中:
项目 | 含义 |
---|---|
NAME | 设备表示名称 |
FSTYPE | 文件系统格式 |
LABEL | 设备标签 |
UUID | 设备唯一标识 |
FSAVAIL | 设备总空间 |
FSUSE% | 设备已用空间占比 |
MOUNTPOINT | 设备挂载点 (空为未挂载设备) |
查看设备空间
代码语言:javascript复制lsblk
代码语言:javascript复制$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 5.5T 0 disk
sdb 8:16 0 5.5T 0 disk
sdc 8:32 0 111.8G 0 disk
├─sdc1 8:33 0 512M 0 part /boot/efi
├─sdc2 8:34 0 732M 0 part /boot
└─sdc3 8:35 0 110.6G 0 part
├─ubuntu--vg-root 253:0 0 109.6G 0 lvm /
└─ubuntu--vg-swap_1 253:1 0 976M 0 lvm [SWAP]
- 不加
-f
参数可以看到设备信息,包括设备存储空间
查看分区信息
代码语言:javascript复制cat /proc/partitions
代码语言:javascript复制$ cat /proc/partitions
major minor #blocks name
8 0 5860522584 sda
8 16 5860522584 sdb
8 32 117220823 sdc
8 33 524288 sdc1
8 34 749568 sdc2
8 35 115945472 sdc3
253 0 114917376 dm-0
253 1 999424 dm-1
磁盘情况查询
df
命令可以显示已经挂载的磁盘信息
df <-arg>
可选参数
参数 | 含义 |
---|---|
-a | 列出所有的文件系统,包括系统特有的/proc等文件系统 |
-k | 以KB的容量显示各文件系统 |
-m | 以MB的容量显示各文件系统 |
-h | 以人们较易阅读的GB,MB,KB等格式自行显示 |
-H | 以M=1000K替代M=1024K的进位方式 |
-T | 显示文件系统类型 |
-i | 不用硬盘容量,而以inode的数量来显示 |
-l | 只显示本机的文件系统 |
df -hT
代码语言:javascript复制$ df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
udev devtmpfs 5.7G 0 5.7G 0% /dev
tmpfs tmpfs 1.2G 1.6M 1.2G 1% /run
/dev/mapper/ubuntu--vg-root xfs 110G 17G 94G 16% /
tmpfs tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 5.7G 0 5.7G 0% /sys/fs/cgroup
/dev/sdc2 xfs 726M 194M 533M 27% /boot
/dev/sdc1 vfat 511M 5.4M 506M 2% /boot/efi
tmpfs tmpfs 1.2G 8.0K 1.2G 1% /run/user/131
tmpfs tmpfs 1.2G 8.0K 1.2G 1% /run/user/1000
指定目录磁盘占用情况
代码语言:javascript复制du <-arg>
参数 | 含义 |
---|---|
-a | 列出所有的文件与目录容量,默认仅统计目录下面的文件量 |
-h | 以人们较易读的容量格式(G/M)显示 |
-s | 列出目录及子目录下文件总容量,而不列出每个个别的目录占用了容量 |
-S | 不包含子目录的占用量,与-s有点差别 |
-k | 以KB列出容量显示 |
-m | 以MB列出容量显示 |
–max-depth=1 | 子目录深度 |
-c | 列出明细的同时,增加汇总值 |
- 查看目录磁盘占用
du -ach --max-depth=1 /home/vvd
其他磁盘信息获取实用命令
统计文件夹下文件个数
代码语言:javascript复制ls -l /home/vvd | grep "^-" | wc -l
"^-"
表示只统计文件
统计文件夹下文件的个数,包括子目录
代码语言:javascript复制ls -l /home/vvd | grep "^-" | wc -l
统计文件夹下目录个数
代码语言:javascript复制ls -l /home/vvd | grep "^d" |wc -l
"^d"
表示只统计目录
统计文件夹下目录的个数,包括子目录
代码语言:javascript复制ls -lR /home/vvd | grep "^d" |wc -l
树状显示文件夹结构
代码语言:javascript复制tree
参考资料
- 【硬件】Linux查看磁盘信息 李子恒