巧妙使用df和du查看文件和目录的内存占用

第一步 使用df命令

df -h
Filesystem            Size          Used            Available   Use% Mounted on
/dev/vda1             8254240   3710232      4124716     48%   /
/dev/vdb1             30962748  21870140   7519728     75%   /usr/local
/dev/vdb2             20641788  1672712     17920480    9%   /home
/dev/vdb4             138303008 131277884  0              100%  /data

df命令可以显示目前所有文件系统的可用空间及使用情形
参数-h表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
上面的命令输出的第一个字段Filesystem及最后一个字段Mounted on分别是档案系统及其挂入点。我们可以看到/dev/vda1 这个分割区被挂在根目录下。
接下来的四个字段 Size、Used、Available、及Use%分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。

第二步 使用du命令
进入data目录
$ cd /data

执行du命令
$ du --max-depth=1 -h
15G  ./jweb_static
108G ./jweblog
8.2M ./news
1.3G ./japplog
16K  ./lost+found
7.7M ./backup
595M ./varlog
1.1G ./pyweb_log
125G .

du命令可以查询文件或文件夹的磁盘使用空间
参数-h表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式
参数--max-depth指定深入目录的层数,这是个极为有用的参数,如果当前目录下文件和文件夹很多,使用不带参数du的命令,会循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的
可以看到的是jweblog这个目录有108G个G,我们赶紧进去看看:
进入jweblog目录
cd jweblog/

继续执行du命令
du --max-depth=1 -h
32K  ./jweb_mbox_acs
4.0K ./jweb_cz_gmaster
732K ./jweb_coomix_scibo
15G  ./jweb_game_farm
23G  ./jweb_open_manager
404M ./jweb_mbox_app
8.2M ./jweb_ak_backend
14M  ./jweb_wifishare_manager
23M  ./jweb_yzj_open
4.3G ./jweb_akgame_third
4.2G ./jweb_mpos_wxuser_auth_ak
654M ./jweb_mbox_wifi_svr
608K ./jweb_qqy_wx_auth
970M ./jweb_wb_gmwx
8.3G ./jweb_mpos_wxuser_auth
4.2G ./jweb_bc_bottle
160K ./jweb_mbox_wifi_wx_svr
132K ./jweb_wb_gmaster
1.1G ./jweb_mpos_kmkuser_auth
4.0K ./default
35G  ./jweb_promotion_manager
12G  ./jweb_mpos_wxuser_auth_cn
108G .

这样就一目了然,只要确定这些文件都不再使用到,就可以删除释放内存。

总结:

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但无法查看文件内存占用情况。
然而,du可以查看文件及文件夹的大小。
所以,通常情况下,我们可以巧妙地使用df和du, 比如用df查看哪个一级目录过大,然后用du查看文件夹或文件的大小,这样可以迅速找到具体是哪个文件占用内存大。

原文地址:https://www.cnblogs.com/Xbingbing/p/8698254.html