磁盘空间相关命令

磁盘空间相关命令

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----
posted @ 2023-06-26 15:03  liuyang9643  阅读(66)  评论(0编辑  收藏  举报