【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最基本入门的命令可以做参考

相关推荐
码农小韩32 分钟前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
Joren的学习记录36 分钟前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
代码游侠1 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
2501_933513041 小时前
Linux下载离线rpm和依赖包的方法
linux·运维·服务器
XiaoHu02071 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
Xの哲學1 小时前
Linux Platform驱动深度剖析: 从设计思想到实战解析
linux·服务器·网络·算法·边缘计算
Y淑滢潇潇1 小时前
RHCE Day 10 流程控制之条件语句和循环结构
linux·运维·rhce
ayaya_mana2 小时前
VS Code 远程开发:SSH连接与远程资源管理器的配置
linux·ide·windows·vscode·远程资源管理
choumin2 小时前
在 Debian 上安装并运行 PoCL
linux·编译·安装·pocl
Shanxun Liao3 小时前
CentOS 7.9 根分区 / 已经 100% 用满隐藏占用解决办法
linux·运维·centos