使用du命令可查看目录占用空间,如du -sh查看总大小,结合sort、find等命令可找出最大文件或目录,而df用于查看文件系统剩余空间,两者互补使用。

在Linux系统中,要查看目录占用的空间,
du
du
最常用、也最能满足日常需求的组合是
du -sh
s
h
所以,如果你想查看当前目录的总大小,只需输入:
du -sh .
.
如果要查看某个特定目录,比如
/var/log
du -sh /var/log
如果你想看看当前目录下所有一级子目录各自占用了多少空间,并且按大小排序,找出“大户人家”,可以这样组合:
du -sh * | sort -rh
*
sort -rh
r
h
sort
有时候,你可能想深入一点,但又不想列出所有文件。比如,只查看某个目录下两级深度的目录占用情况:
du -h --max-depth=2 /path/to/directory
--max-depth
还有一种情况,你可能想排除某些类型的文件或目录。比如,在
/var/log
.gz
du -sh --exclude='*.gz' /var/log
--exclude
du
df
这确实是一个常见的问题,因为两者都和“磁盘空间”有关,但它们关注的角度完全不同。简单来说,
du
df
du
du
而
df
/
/home
/var
如何选择?
/home/user/downloads
/var/log
du
/mnt/data
df -h
它们是互补的工具,通常会配合使用。比如,
df -h
/var
du -sh /var/*
/var
找出系统中的“大块头”是日常维护中非常实用的技能,尤其是在磁盘空间告急时。结合
du
sort
head
最直接的方法,通常从一个较高层级的目录开始,比如
/
/var
/opt
/home
/var
sudo du -h /var/* | sort -rh | head -n 10
这里:
sudo
/var
sudo
du -h /var/*
/var
sort -rh
head -n 10
如果你想找出占用空间最大的文件,而不仅仅是目录,你可以使用
du -a
sudo du -ah /var/log | sort -rh | head -n 10
这会列出
/var/log
更高级一点,如果你想找出某个目录下,所有深度下的最大文件,可以结合
find
/home
sudo find /home -type f -size +100M -print0 | xargs -0 du -h | sort -rh | head -n 10
find /home -type f -size +100M -print0
/home
-type f
-size +100M
-print0
xargs -0 du -h
find
du -h
sort -rh | head -n 10
这些组合命令能够让你高效地定位到磁盘空间占用的大户,从而进行清理或迁移。
du
处理大型目录时,
du
du
1. 性能考量:
du
du
max-depth
--max-depth
du
2. 权限问题:
du
sudo
du
/dev/null
du -sh /path/to/directory 2>/dev/null
3. 结果的准确性与文件系统特性:
du
du
du
ls -s
stat
du
du
du
df
btrfs fi du
zfs list
4. 避免对根目录进行无差别 du
/
du -sh /
/var
/home
/opt
总的来说,
du
以上就是如何在Linux中查看目录占用空间?使用du命令统计目录大小信息的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号