【赠送】IT技术视频教程,白拿不谢!思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读418次。风和日丽,小微给你送福利~如果你是小微的老粉,这里有一份粉丝福利待领取...如果你是新粉关注到了小微,那恭喜你,你赚到了![欢迎关注微信公众号:厦门微思网络]正值微思19周年庆之际,我们在想:是否可以为大家创造更多的价值?为了感激大家长期来的关注,几经商榷,我们决定先给大家发一份大福利!如何索取呢?加小姐姐微信:xmws-IT,验证备注:CSDN学习视频话不多说,直接上福利介绍——福利1思科零基础入门实战视频教程今天我们为大家整理了一份...https://xmws-it.blog.csdn.net/article/details/117297837?spm=1001.2014.3001.5502
工作中系统管理员会使用 du 命令或者 ncdu 等工具来查找/分析文件系统中存在的大文件。
通常系统管理员会使用 du 命令来查看文件或目录,或者直接用 du 命令对目录大小进行排列
如下所示:查找最大的5个目录
[root@localhost ~]# du -h /* 2>/dev/null | sort -rh | head -5
1.5G /usr
878M /usr/lib
677M /usr/lib/firmware
276M /usr/share
255M /var
[root@localhost ~]#
使用这种方法,可以快速定位到 /usr 目录是最占用空间的,然后再使用相同的方法(切换到 /usr 目录)一层一层的往下检查。
这种方法可以定位到哪个目录最占用空间,但是无法定位到哪个文件最占用空间。
想象一下 test 目录下有2个子目录 a 和 b,其中 a 大小 500M,b 大小 200M。
a 目录下有 500个 1MB 的文件,而 b 目录下只有一个 200MB 的文件。
此时使用 du 方法只能知道 a 目录占用空间大,但不意味着最大的文件就在 a 目录下,因为其实最大的文件在 b 目录中
[root@localhost ~]# du -h ~/* | sort -rh
701M /root/test
501M /root/test/a
200M /root/test/b
[root@localhost ~]#
重要的
du 命令默认输出只会显示目录。如果要显示文件大小,需要加上 -a 选项
使用 du -a 选项列出目录下所有文件的大小,此时可以看到 test/b/file 才是最大的文件,占用 200M
[root@localhost ~]# du -ah test/* | tail -10
1.0M test/a/file93
1.0M test/a/file94
1.0M test/a/file95
1.0M test/a/file96
1.0M test/a/file97
1.0M test/a/file98
1.0M test/a/file99
501M test/a
200M test/b/file
200M test/b
[root@localhost ~]#
但是如果文件很多,这样输出的结果还是有点杂乱无章,主要原因是不太容易区分目录和文件。
find 命令可以很好的解决这个问题,如果要找到系统上最大的文件,可以执行:
[root@localhost ~]# find / -type f | xargs du -sh 2>/dev/null | sort -rh | head -3
200M /root/test/b/file
121M /var/lib/rpm/Packages
83M /boot/initramfs-0-rescue-0f1f1093c97f4c6895bec08ebbe382e0.img
[root@localhost ~]#
使用 du 命令列出最大的3个文件
如果非要使用 du 命令来完成这件事,也可以,思路如下:
1. 使用 du -a 列出所有文件的大小
2. 在所有目录后面手动添加 / 目录符用以区分目录
3. 使用 grep -v 命令过滤掉目录条目即可
[root@localhost ~]# du -aSh /* 2>/dev/null | sort -rh | \
> while IFS=$'\t' read -r size line; \
> do printf "%s\t%s" $size "$line"; \
> [[ -d $line ]] && printf "/"; echo; done | \
> grep -v /$ | head -3
200M /root/test/b/file
121M /var/lib/rpm/Packages
83M /boot/initramfs-0-rescue-0f1f1093c97f4c6895bec08ebbe382e0.img
微/信/公/众/号【厦门微思网络】