1、使用命令:df -lk
找到已满磁盘
2、使用命令:du --max-depth=1 -h
查找大文件,删除
3、保留最新的5个文件:ls -t | tail -n +6 | xargs rm -f --
ls -t:按修改时间排序文件(最新的在前)
tail -n +6:从第6行开始显示(即跳过最新的5个文件)
xargs rm -f --:删除这些文件
4、让/www/yd_backup/bt_backup/site目录的子目录中保留最新的3个文件
cd /www/yd_backup/bt_backup/site || exit 1 # 遍历每个子目录 for dir in */; do ( cd "$dir" || exit 1 echo "处理目录: $dir" # 按修改时间倒序排列文件,保留最新的3个,删除其余 ls -tp | grep -v "/$" | tail -n +4 | xargs -d '\n' rm -f -- ) done echo "完成!所有子目录只保留最新的3个文件"