在Linux中查找大文件可以通过多种命令实现,以下是几种常用的方法:
1. 使用 find
命令查找指定大小的文件
-
查找大于100MB的文件:
find /path/to/search -type f -size +100M
-
/path/to/search
:替换为要搜索的目录(如/
表示整个系统,.
表示当前目录)。 -
-type f
:仅搜索文件(排除目录)。 -
-size +100M
:筛选大小超过100MB的文件。
-
-
显示文件大小:
find /path/to/search -type f -size +100M -exec du -h {} \;
-
-exec du -h {} \;
:对每个找到的文件执行du -h
以显示可读大小。
-
2. 使用 du
结合 sort
和 head
列出最大文件/目录
-
查看当前目录下各文件/目录的大小:
du -sh *
-
列出系统中最大的10个文件/目录:
sudo du -ah / | sort -rh | head -n 10
-
-a
:显示所有文件(包括隐藏文件)。 -
-h
:以人类可读格式(如KB、MB)显示大小。 -
sort -rh
:按人类可读的数值逆序排序。 -
head -n 10
:仅显示前10个结果。
-
-
仅显示文件(排除目录):
sudo find / -type f -exec du -h {} + | sort -rh | head -n 10
3. 快速定位大文件并忽略权限错误
-
忽略权限拒绝的错误:
sudo find / -type f -size +500M 2>/dev/null
-
2>/dev/null
:将错误信息(如权限不足)重定向到黑洞,避免干扰输出。
-
-
组合命令(显示大小并排序):
sudo find / -type f -size +500M -exec du -h {} + 2>/dev/null | sort -rh
4. 按文件大小排序的 ls
命令
-
当前目录下按大小逆序排序:
ls -lS
-
-S
:按文件大小排序。 -
-l
:显示详细信息。
-
总结
-
快速定位大文件:用
find
直接筛选(如find / -size +1G
)。 -
查看详细大小并排序:用
du
+sort
(如du -ah | sort -rh | head
)。 -
权限问题:添加
sudo
或忽略错误(2>/dev/null
)。
根据需求选择合适的方法,处理系统文件时谨慎使用 sudo
避免误操作。