上一篇:网站请求总时不时的报502 Bad Gateway错误(2023-06-25 10:16:05)
文章大纲

一天一个linux命令:用du来查看文件夹的大小

2023-06-26 09:25:36

哪一天当我们服务器磁盘满了,用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  *

即可。


命令详解

du,Disk Usage,展示磁盘空间使用情况。

-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

-a,是查看目录下所有文件的大小,就不怕多层文件夹的情况。
-d,--maxdepth,及代表遍历文件夹要遍历多深。查看当前目录下的一级目录,设置--maxdepth=1即可。
所以上面du -sh * 也几乎等下于下面两个命令:
缩略版:du -d 1 -h
冗长版:du -ah --max-depth=1



上一篇:网站请求总时不时的报502 Bad Gateway错误(2023-06-25 10:16:05)
我要评论
评论列表