linux 下查找大日志文件,比如大于100M的文件

http://friendlysong.blog.163.com/blog/static/3225243920119142325417/

命令行如下

find . -type f -size +1000000k 

Linux系统下查找大文件或目录的技巧


当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢?

  #已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小

  du -sh [dirname|filename]

  如:

  当前目录的大小:

  du -sh .

  当前目录下个文件或目录的大小:

  du -sh *

[root@td-agtfl2 var]# du -sh *
12K     account
1.7M    cache
16K     crash
28K     db
28K     empty
16K     ftp
12K     gdm
3.7G    lib
8.0K    local
36K     lock
13M     log
16K     lost+found
4.0K    mail
8.0K    net-snmp
8.0K    nis
8.0K    opt
8.0K    preserve
240K    run
14M     spool
12K     tmp
8.0K    tux
2.1M    www
24K     yp

  显示前10个占用空间最大的文件或目录:

  du -s * | sort -nr | head

 

 

用root到/目录下去利用命令
du -s -h ./*
查看哪个目录占用了这么多的磁盘,如果找到后,依次进入那个目录,利用相同的办法,就能定位到文件上去。

<think>嗯...用户这次的问题是关于在Linux查找指定路径下的内存文件。虽然用户说"memoryfiles",但结合引用[1]的du命令说明,用户实际应该是指磁盘上的文件(diskusage),因为内存文件通常指临时文件系统里的内容。注意到用户提供的几个引用很有意思:引用[1]详细说明了du命令的功能,这正是查找文件的核心工具;引用[2]提到fd这个更快的替代工具;引用[3]是个文件操作工具的描述,虽然和当前需求关联不。看来用户可能是个系统管理员,需要管理服务器存储空间。用户上次问过类似问题吗?检查对话历史...哦这是首次提问。不过用户明确要求参考之前的引用材料,说明ta可能已经阅读过相关文档,现在需要具体操作指导。考虑到用户要"specifiedpath",应该重点给出带路径参数的示例。du虽然基础但功能全面,而fd更现代快速,两者都需要介绍。特别是引用[2]强调fd的并行处理优势,这对目录扫描很重要。实际方案要分层次:先给最经典的du组合命令:用-h可读格式,-s汇总,再按小排序。但用户可能不知道管道到head的技巧,需要特别说明。然后补充进阶方案:1.用find直接查特定小的文件——比du更直接,但输出不够友好2.fd替代方案——特别要突出它的彩色输出和默认忽略.git的特性,这是引用[2]的重点3.图形化方案——万一用户是在桌面环境呢?啊,突然想到用户说的""是主观标准。应该提醒阈值调整方法,比如把100M改成500M。最后要加安全提醒!很多教程会忽略这点:扫描整个文件系统可能涉及权限问题,引用[3]提到过目录验证的重要性,这里可以呼应下。相关问题设计应该覆盖延伸场景:日志管理(引用[1]的优化存储方向)、自动化处理(呼应引用[3]的工具思路)、以及替代工具深度使用(引用[2]的fd特性)</think> 在Linux系统中查找指定路径下的文件,可参考以下方法(综合引用[1][2]信息): --- ### 📁 基础方法:`du`命令(磁盘空间分析) ```bash # 查找指定路径(如/home)下最的10个文件/目录 du -ah /home | sort -rh | head -n 10 ``` - **参数说明**: - `-a`:显示所有文件(默认只显示目录) - `-h`:以人类可读格式输出(KB/MB/GB) - `sort -rh`:倒序排列小 - `head -n 10`:显示前10个结果 - **优势**:内置工具,兼容所有Linux系统[^1] --- ### 🔍 进阶方法:`find` + `du`组合 ```bash # 查找/home路径下大于100MB的文件 find /home -type f -size +100M -exec du -h {} + | sort -rh ``` - **关键参数**: - `-type f`:仅搜索文件 - `-size +100M`:筛选大于100MB文件 - `-exec ... {} +`:将结果传递给du处理 --- ### ⚡ 高效替代:`fd`工具(引用[2]特性) ```bash # 安装fd(部分系统需先安装:apt install fd-find 或 brew install fd) fd -t f . /home --size +100M --exec du -h | sort -rh ``` - **优势**: - 并行扫描目录(比find更快)[^2] - 默认忽略隐藏文件(减少冗余扫描) - 彩色输出直观显示结果[^2] --- ### 📊 图形化方案(可选) ```bash # 安装ncdu工具(终端可视化磁盘分析) ncdu /home ``` - **操作方法**: 使用方向键导航文件树,`n`键按小排序 --- ### 💡 实用技巧 1. **精确阈值调整**:修改`+100M`为其他单位(如`+1G`查1GB以上文件) 2. **排除特定目录**: ```bash find /home -path "/home/tmp" -prune -o -type f -size +100M -print ``` 3. **跨分区搜索**:使用`-xdev`避免跨文件系统搜索(如`find /home -xdev ...`) --- ### ⚠️ 注意事项 - 需有目录读取权限(无权限目录将显示"Permission denied") - 数据量搜索可能较耗时,建议后台执行(结尾添加`&`) - `du`统计的是磁盘占用空间(非文件实际小),当存在稀疏文件或硬链接时数值可能不同[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值