【Linux基础】Linux磁盘空间管理之批量删除文件

📊 1. 查看目录大小

1.1 基本命令

复制代码
# 查看当前目录总大小
du -sh

# 查看当前目录下各子目录和文件大小
du -sh *

1.2 排序显示

复制代码
# 按大小排序(从小到大)
du -sh * | sort -h

# 按大小排序(从大到小)
du -sh * | sort -rh

# 显示前10大目录
du -sh * | sort -rh | head -10

🔍 2. 查找大文件

2.1 按大小查找

复制代码
# 查找大于100MB的文件
find . -type f -size +100M

# 查找大于1GB的文件
find . -type f -size +1G

# 查找大于1000MB的文件
find . -type f -size +1000M

2.2 显示详细信息

复制代码
# 显示文件详细信息
find . -type f -size +100M -ls

🗑️ 3. 删除文件操作

3.1 先查看再操作

复制代码
# 先查看文件确认
find . -type f -name "neSNeP.ld" -ls

3.2 交互式删除(安全)

复制代码
# 每个文件都询问确认
find . -type f -name "neSNeP.ld" -ok rm {} \;

# 使用rm的交互模式
find . -type f -name "neSNeP.ld" -exec rm -i {} \;

3.3 直接删除

复制代码
# 直接删除不询问
find . -type f -name "ld.vcf" -exec rm {} \;

# 使用delete参数
find . -type f -name "ld.vcf" -delete

# 批量删除特定扩展名
find . -type f -name "*.fst" -delete

📁 4. 控制搜索范围

4.1 限制搜索深度

复制代码
# 仅搜索当前目录
find . -maxdepth 1 -type f -name "*.ped" -ls

# 搜索两层深度
find . -maxdepth 2 -type f -name "*.log"
#./com_ped/merge.log

# 指定深度范围
find . -mindepth 2 -maxdepth 3 -type f -name "*.log"
# ./5breedrm12s/output/IBSmatrix.log

🎯 5. 常见应用场景

场景1:清理临时文件

复制代码
# 删除所有.tmp文件
find . -type f -name "*.tmp" -delete

# 删除超过7天的.tmp文件
find . -type f -name "*.log" -mtime +7 -delete

场景2:删除含关键词文件

复制代码
# 删除文件名包含temp的文件
find . -maxdepth 1 -type f -name "*temp*" -exec rm -v {} \;

⚡ 6. 高级技巧

6.1 查找并统计

复制代码
# 统计大于100M的文件数
find . -type f -size +100M | wc -l

# 计算大文件总大小
find . -type f -size +100M -exec du -ch {} + | tail -1

6.2 按时间查找

复制代码
# 查找7天前修改的文件
find . -type f -mtime +7

# 查找24小时内修改的文件
find . -type f -mtime -1

# 删除30天前且大于100M的文件
find . -type f -size +100M -mtime +30 -delete

📋 7. 命令速查表

功能 命令 说明
目录大小 du -sh * 查看各项目大小
大小排序 du -sh * | sort -h 从小到大排序
查找大文件 find . -type f -size +100M 找大于100M文件
安全删除 find . -name "*.tmp" -ok rm {} \; 每个文件确认
批量删除 find . -name "*.tmp" -delete 直接删除
当前目录 find . -maxdepth 1 -name "*.log" 不搜索子目录

🚨 8. 安全操作建议

  1. 先查看后操作 :永远先用-ls查看确认

  2. 交互式确认 :重要文件使用-ok或-i参数

  3. 定期备份:重要数据定期备份

  4. 测试环境练习:不熟悉的命令先在测试环境练习

  5. 记录操作:重要删除前记录文件列表

💡 使用流程建议

  1. 诊断 :使用du -sh *查看空间占用

  2. 定位 :使用find . -type f -size +100M定位大文件

  3. 确认 :使用-ls查看文件详情

  4. 备份:重要文件先备份

  5. 删除 :使用-ok交互式删除或-delete批量删除

黄金法则:不确定时,先查看,再确认,最后删除!

前面也写了几篇关于linux最基本入门的命令可以做参考

相关推荐
AI_Lab012 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by209992 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
feng_you_ying_li5 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务5 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统5 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter5 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
用户8351414049496 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
Ruiery6 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu6 小时前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip