清理磁盘
查看当前目录最大的占用
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 {} \;