磁盘空间相关命令
目录
磁盘空间相关命令
1、查看linux服务器的文件系统的磁盘空间占用情况:df [option] file
说明:
- 可以用来查看磁盘已被使用多少空间和还剩余多少空间
- 如果没有文件名参数,则显示所有当前已挂载文件系统的磁盘空间使用情况。
- 在默认情况下,磁盘空间是以1KB为单位进行显示的,但是,如果POSIXLY_CORRECT环境变量被设置为true,这种情况下默认使用512字节为单位显示
option:
- -a 显示所有的文件系统,包括虚拟文件系统
- --block-size=SIZE 指定块的大小,比如1k,1m等
- -h 用常见的格式显示出大小(例如:1K 234M 2G)
- -H 同上,但是这里的1k等于1000字节而不是1024字节
- -i 用信息索引点代替块表示使用状况
- -k 指定块大小等于1024字节来显示使用状况,相当于
--block-size=1k
- -l 只显示本地文件系统使用状况
- -m 以指定块大小等于1048576字节(1M)来显示使用状况,相当于
--block-size=1m
- --no-sync 在取得使用信息前禁止调用同步 (default)
- -P 使用POSIX格式输出
- --sync 在取得使用信息前调用同步
- -t 只显示指定类型(TYPE)的文件系统
- -T 输出每个文件系统的类型
- -x, --exclude-type=TYPE 只显示指定类型(TYPE)之外的文件系统.
- -v 输出该命令的帮助信息并退出
输出列说明:
- Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
- 1K-blocks:说明下面的数字单位是1KB,可利用
-h
或-m
来改变单位大小,也可以用-B
来设置。- Used:已经使用的空间大小。
- Available:剩余的空间大小。
- Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况(如/home、/var/spool/mail等)。
- Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
[root@izwz91quxhnlkan8kjak5hz /]# df // 默认情况
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10770136 28268240 28% /
devtmpfs 931032 0 931032 0% /dev
tmpfs 941108 1796 939312 1% /dev/shm
tmpfs 941108 432 940676 1% /run
tmpfs 941108 0 941108 0% /sys/fs/cgroup
tmpfs 188224 0 188224 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df /home/ // 指定文件夹或文件
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10770212 28268164 28% /
[root@izwz91quxhnlkan8kjak5hz /]# df --block-size 1m // 或者:df -B 1m 指定单位大小 以1m为单位
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/vda1 40188 10511 27613 28% /
devtmpfs 910 0 910 0% /dev
tmpfs 920 2 918 1% /dev/shm
tmpfs 920 1 919 1% /run
tmpfs 920 0 920 0% /sys/fs/cgroup
tmpfs 184 0 184 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -h // 以已读形式显示
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 11G 27G 28% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 1.8M 918M 1% /dev/shm
tmpfs 920M 432K 919M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -t ext4 // 指定文件类型
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10763884 28274492 28% /
[root@izwz91quxhnlkan8kjak5hz /]# df -T // 输出每个文件系统的类型
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/vda1 ext4 41151808 10763872 28274504 28% /
devtmpfs devtmpfs 931032 0 931032 0% /dev
tmpfs tmpfs 941108 1800 939308 1% /dev/shm
tmpfs tmpfs 941108 432 940676 1% /run
tmpfs tmpfs 941108 0 941108 0% /sys/fs/cgroup
tmpfs tmpfs 188224 0 188224 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# export POSIXLY_CORRECT=true
[root@izwz91quxhnlkan8kjak5hz /]# echo $POSIXLY_CORRECT
true
[root@izwz91quxhnlkan8kjak5hz /]# df // POSIXLY\_CORRECT为true时,默认512B展示
文件系统 类型 512B-块 已用 可用 已用% 挂载点
/dev/vda1 ext4 82303616 21529552 56547200 28% /
devtmpfs devtmpfs 1862064 0 1862064 0% /dev
tmpfs tmpfs 1882216 3600 1878616 1% /dev/shm
tmpfs tmpfs 1882216 864 1881352 1% /run
tmpfs tmpfs 1882216 0 1882216 0% /sys/fs/cgroup
tmpfs tmpfs 376448 0 376448 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -T -x ext4 // 排除ext4类型文件
文件系统 类型 512B-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1862064 0 1862064 0% /dev
tmpfs tmpfs 1882216 3600 1878616 1% /dev/shm
tmpfs tmpfs 1882216 864 1881352 1% /run
tmpfs tmpfs 1882216 0 1882216 0% /sys/fs/cgroup
tmpfs tmpfs 376448 0 376448 0% /run/user/0
2、显示指定的目录或文件所占用的磁盘空间:du [option] file
说明:
- 默认单位是1024字节,若设置了环境变量POSIXLY_CORRECT为true,则是以512字节为单位
option:
- -a, --all 显示对所有文件的统计,而不只是包含子目录。
- -b, --bytes 输出以字节为单位的大小,替代缺省时1024字节的计数单位
- --block-size=size 输出以块为单位的大小,块的大小为 size 字节
- -c, --total 除了列出文件和目录的容量大小外,列出总的容量大小
- -D, --dereference-args 引用命令行参数的符号连接。但不影响其他的符号连接。 这对找出象 /usr/tmp 这样的目录的磁盘使用量有用, /usr/tmp 等通常是符号连接。 译住:例如在 /var/tmp 下建立一个目录test, 而/usr/tmp 是指向 /var/tmp 的符号连接。du /usr/tmp 返回一项 /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test
- --exclude=pattern 在递归时,忽略与指定模式相匹配的文件或子目录。模式 可以是任何 Bourne shell 的文件 glob 模式
- -h, --human-readable 以人们易读的方式(KB,MB,GB)显示容量大小
- -k 和
--block-size=1k
类似,以KB为单位。- -m 和
--block-size=1m
类似,以MB为单位- -l, --count-links 统计所有文件的大小,包括已经被统计过的
- -L, --dereference 引用符号连接(不是显示连接点本身而是连接指向的文件或 目录所使用的磁盘空间)
- --max-depth=n 只输出命令行参数的小于等于第 n 层的目录的总计。 --max-depth=0的作用同于-s选项,如果
--max-depth=1
,就相当于du -s 目录/*
- -s, --summarize 对每个参数只显示总和
- -S, --separate-dirs 单独报告每一个目录的大小,不包括子目录的大小
- -x, --one-file-system 忽略与被处理的参数不在同一个文件系统的目录
- -X file, --exclude-from=file 除了从指定的文件中得到模式之外与 --exclude 一样。 模式以行的形式列出。如果指定的文件是'-',那么从标准输 入中读出模式
[root@izwz91quxhnlkan8kjak5hz test]# du // 默认情况下,只统计目录的容量大小
8 ./dir2/dir3
16 ./dir2
8 ./dir1
28 .
[root@izwz91quxhnlkan8kjak5hz test]# du -a // 统计目录和文件的容量大小
4 ./dir2/test.txt
4 ./dir2/dir3/test3
8 ./dir2/dir3
16 ./dir2
4 ./dir1/sed.txt
8 ./dir1
28 .
[root@izwz91quxhnlkan8kjak5hz test]# du -c dir2/ // 指定文件夹,并在最下面显示总的容量大小
8 dir2/dir3
16 dir2/
16 总用量
[root@izwz91quxhnlkan8kjak5hz test]# du -b dir2 // 输出以字节为单位的大小
5096 dir2/dir3
9227 dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -B 1k dir2 // 同:du --block-size 1k dir2,指定单位大小
8 dir2/dir3
16 dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -h dir2 // 以易读的方式展示
8.0K dir2/dir3
16K dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -ah --max-depth=1 // 通过指定递归深度方式
4.0K ./file
16K ./dir2
8.0K ./dir1
32K .
[root@izwz91quxhnlkan8kjak5hz test]# du -ah * | sort -rh // 查看目录下所有文件的大小并按照大小排序
16K dir2
8.0K dir2/dir3
8.0K dir1
4.0K file
4.0K dir2/test.txt
4.0K dir2/dir3/test3
4.0K dir1/sed.txt
3、列出所有指定的块设备的信息:lsblk [选项] [<设备> ...]
- -a, --all 打印所有设备
- -b, --bytes 以字节为单位而非易读的格式来打印 SIZE
- -d, --nodeps 不打印从属设备(slave)或占位设备(holder)
- -D, --discard 打印时丢弃能力
- -e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)
- -I, --include <列表> 只显示有指定主设备号的设备
- -f, --fs 输出文件系统信息
- -h, --help 使用信息(此信息)
- -i, --ascii 只使用 ascii 字符
- -m, --perms 输出权限信息
- -l, --list 使用列表格式的输出
- -n, --noheadings 不打印标题
- -o, --output <列表> 输出列
- -p, --paths 打印完整设备路径
- -P, --pairs 使用 key=“value” 输出格式
- -r, --raw 使用原生输出格式
- -s, --inverse 反向依赖
- -t, --topology 输出拓扑信息
- -S, --scsi 输出有关 SCSI 设备的信息
- -h, --help 显示此帮助并退出
- -V, --version 输出版本信息并退出
// 以树状列出所有块设备
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
// 输出权限信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -m
NAME SIZE OWNER GROUP MODE
vda 40G root disk brw-rw----
└─vda1 40G root disk brw-rw----
// 输出文件系统信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
└─vda1 ext4 eb448abb-3012-4d8d-bcde-94434d586a31 /
// 以列表格式列出设备,而不是默认的树状格式
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -nl
vda 253:0 0 40G 0 disk
vda1 253:1 0 40G 0 part /
// 指定块设备查看权限信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -m /dev/vda1
NAME SIZE OWNER GROUP MODE
vda1 40G root disk brw-rw----
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通