哪一天当我们服务器磁盘满了,用df(Disk Free)命令一查,确实能看到那个目录下空间满了:
Filesystem Size Used Avail Use% Mounted on /dev/vda1 77G 47G 0.2G 99% / devtmpfs 16G 0 16G 0% /dev tmpfs 16G 64K 16G 1% /dev/shm tmpfs 16G 1.5G 15G 10% /run /dev/vda2 20G 33M 20G 1% /tmp /dev/mapper/vgapp-lvapp 200G 37G 164G 19% /app /dev/mapper/vg00-lvtmp 20G 33M 20G 1% /mnt
但具体是哪个文件夹下,就还得继续检查。
例如现在某个文件夹下有如下目录列表:
drwxr-xr-x 8 root root 111 Jun 9 15:40 . dr-xr-xr-x. 20 root root 260 Apr 11 08:54 .. drwxr-xr-x 5 root root 157 Apr 21 17:27 lems-web drwxr-xr-x 4 root root 49 Jun 9 15:08 mongodb drwxr-xr-x 3 root root 37 Jun 9 15:47 mongodb_27017 drwxr-xr-x 5 root root 63 Jun 12 13:38 mongodb_new drwxr-xr-x 4 root root 49 Jun 9 13:44 mongodb_test drwxr-xr-x 7 root root 293 Apr 21 17:28 upload
du -sh *
即可。
-s,summarize,英文为概括总结之意,即代表总空间大小。
-h,human-readable,代表通过k、M、G这些人为方便识别的方式展示空间大小
默认 du -sh 即 du -sh ./,查的是当前目录所占空间的大小。
du -sh 后加了个*,则查的是当前目录下所有文件(linux中文件的概念,包含文件夹)的大小。
结果如下所示:
[root@CN0015VMG0190 app]# du -sh * 361M lems-web 19G mongodb 0 mongodb_27017 17G mongodb_new 1.1G mongodb_test 3.6M upload
缩略版:du -d 1 -h
冗长版:du -ah --max-depth=1