🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # <span style="font-size:15px">1、查看linux服务器的文件系统的磁盘空间占用情况:df [option] file</span> > **说明**: > * 可以用来查看磁盘已被使用多少空间和还剩余多少空间 >* 如果没有文件名参数,则显示所有当前已挂载文件系统的磁盘空间使用情况。 > * 在默认情况下,磁盘空间是以**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 ``` # <span style="font-size:15px">2、显示指定的目录或文件所占用的磁盘空间:du [option] file</span> > **说明:** > * 默认单位是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 ``` # <span style="font-size:15px">3、列出所有指定的块设备的信息:lsblk [选项] [<设备> ...]</span> > * -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---- ```