清理磁盘

查看当前目录最大的占用

du -ah --max-depth=1 . | sort -rh | head -n 20

删除2025的日志,但不删除今天的

find ./ -type f -name 'db.log.2025*' ! -name 'db.log.20250304*' -exec rm {} +

清理当前正在输出的日志

truncate -s 0 my.log  # 文件大小立即可见为0,空间释放

查找大于500M的日志文件

find /home -type f -name "*.log.*" -size +500M -exec du -h {} \;

查找大于500M的文件

find /home -type f -size +500M -exec du -h {} \;

查找大于500M的文件并按照大小排序

find /home -type f -size +500M -exec du -h {} \; |sort -k1,1hr

查找大于500M的日志文件并按照大小排序

find /home -type f -name "*.log.*" -size +500M -exec du -h {} \; | sort -k1,1hr

查找名字叫log的目录,并按照大小排序

find /home -type d -name "log" -exec du -sh {} + | sort -k1,1hr

区别

特性 -exec du -sh {} \; -exec du -sh {} +
处理方式 逐条处理 批量处理
效率 较低(多次调用 du 较高(一次调用 du

把3天前的文件移动到/home/data/下

find ./ -type f -mtime +2 -exec mv {}  /home/data/  \;

把3天前的文件删除

find ./ -type f -mtime +2 -exec rm -rf {} + 

删除txt为后缀的文件,并每个文件之前手动确认

find ./ -name "*.txt" -ok rm {} \;