LINUX下查找大文件及大的文件夹
原帖地址:https://www.cnblogs.com/iyoume2008/p/6105590.html
今天正好碰到这样的问题,在博客园中看到有以上地址的一篇文章,照着上面的操作解决了问题,但是排版上看着不是特别舒服,自己也想记录下来,就全文COPY了,只是改了下版式。望作者谅解
1 如何查找大文件
其实很多时候,你需要了解 /u01/app/oracle/oradata/prod/ 下有哪些大的数据文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?
1.1搜索指定目录下超过指定大小的文件
例如我要搜索 /u01/app/oracle/oradata/prod/ 下,超过500M大小的文件
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M /u01/app/oracle/oradata/prod/sysaux01.dbf /u01/app/oracle/oradata/prod/system01.dbf
如上命令所示,我们仅仅能看到超过500M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,那么能否更详细显示一些文件属性或信息呢,当然可以
1.2搜索指定目录下超过指定大小的文件(显示文件用户、属组)
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M -print0 | xargs - ls –l -rw-r----- oracle oinstall - : /u01/app/oracle/oradata/prod/sysaux01.dbf -rw-r----- oracle oinstall - : /u01/app/oracle/oradata/prod/system01.dbf
1.3搜索指定目录下超过指定大小的文件(显示文件详细size)
当我们只需要查找超过500M大小文件,并显示查找出来文件的具体大小,可以使用下面命令
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M -print0 | xargs - du –h 521M /u01/app/oracle/oradata/prod/sysaux01.dbf 711M /u01/app/oracle/oradata/prod/system01.dbf
1.4搜索指定目录下超过指定大小的文件(按大小排序,结果有出入)
如果你还需要对查找结果按照文件大小做一个排序,那么可以使用下面命令
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M -print0 | xargs - du -h | sort -nr 711M /u01/app/oracle/oradata/prod/system01.dbf 521M /u01/app/oracle/oradata/prod/sysaux01.dbf
1.5搜索指定目录下超过指定大小的文件(按大小排序,严格的)
不过如上截图所示,有时候排列的顺序并不完全是按大小一致,这个是因为du命令的参数h所致,你可以统一使用使用MB来显示,这样就能解决这个问题
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M -print0 | xargs - du -hm | sort –n
/u01/app/oracle/oradata/prod/sysaux01.dbf
/u01/app/oracle/oradata/prod/system01.dbf
1.6 搜索指定目录下超过指定大小的文件(详细显示文件的属主、属组、文件大小(M为单位))
[oracle@Oracle11g ~]$ find /u01/app/oracle/oradata/prod/ -type f -size +500M -print0 | xargs - ls -lh | sort -nr rw-r----- oracle oinstall 711M - : /u01/app/oracle/oradata/prod/system01.dbf
-rw-r----- oracle oinstall 521M - : /u01/app/oracle/oradata/prod/sysaux01.dbf
2 如何查找Linux下的大目录
譬如有时候磁盘空间告警了,而你平时又疏于管理、监控文件的增长,那么我需要快速的了解哪些目录变得比较大,那么此时我们可以借助du命令来帮我们解决这个问题
2.1查找指定目录下的大目录
[oracle@Oracle11g ~]$ du -h /u01 --max-depth= .7G /u01/app 16K /u01/lost+found .7G /u01 [oracle@Oracle11g ~]$ du -h /u01 --max-depth= 2.6M /u01/app/oraInventory .7G /u01/app/oracle .7G /u01/app 16K /u01/lost+found .7G /u01 [oracle@Oracle11g ~]$ du -h /u01 --max-depth= 16K /u01/app/oraInventory/ContentsXML .0K /u01/app/oraInventory/oui 2.6M /u01/app/oraInventory/logs 2.6M /u01/app/oraInventory .7G /u01/app/oracle/oradata .0K /u01/app/oracle/checkpoints .0G /u01/app/oracle/product 716K /u01/app/oracle/admin 232K /u01/app/oracle/cfgtoollogs 6.8M /u01/app/oracle/diag .7G /u01/app/oracle .7G /u01/app 16K /u01/lost+found .7G /u01
如果你想知道/u01目录下面有哪些大文件夹,那么可以将参数max-depth=2 ,如果你想对搜索出来的结果进行排序,那么可以借助于sort命令。如下所示
[oracle@Oracle11g ~]$ du -h /u01 --max-depth= |sort -n 2.6M /u01/app/oraInventory .7G /u01 .7G /u01/app .7G /u01/app/oracle 16K /u01/lost+found [oracle@Oracle11g ~]$ du -h /u01 --max-depth= |sort -n .7G /u01/app/oracle/oradata 2.6M /u01/app/oraInventory 2.6M /u01/app/oraInventory/logs .0G /u01/app/oracle/product .0K /u01/app/oracle/checkpoints .7G /u01 .7G /u01/app .7G /u01/app/oracle 6.8M /u01/app/oracle/diag .0K /u01/app/oraInventory/oui 16K /u01/app/oraInventory/ContentsXML 16K /u01/lost+found 232K /u01/app/oracle/cfgtoollogs 716K /u01/app/oracle/admin
有时候搜索出来的结果太多了(譬如,我从根目录开始搜索),一直在刷屏,如果我只想查出最大的5个文件夹,怎么办呢?此时就要借助head命令来显示了
[oracle@Oracle11g ~]$ du -hm /u01/app/oracle/ --max-depth= | sort -nr | head -
/u01/app/oracle/
/u01/app/oracle/product/11.2.
/u01/app/oracle/product
/u01/app/oracle/oradata/prod
/u01/app/oracle/oradata
3.自己整理的(实用的)
3.1 查找系统中的大目录(从大到小排序,取前5个)
[root@Oracle11g ~]# du -hm / --max-depth= | sort -nr | head -
/
/u01
/usr
/dev
/lib
3.2 查找上面目录(/u01)中的大文件
[root@Oracle11g ~]# find /u01/app/oracle/ -type f -size +500M -print0 | xargs - ls -lh | sort -nr -rw-r----- oracle oinstall 711M - : /u01/app/oracle/oradata/prod/system01.dbf
-rw-r----- oracle oinstall 521M - : /u01/app/oracle/oradata/prod/sysaux01.dbf
LINUX下查找大文件及大的文件夹的更多相关文章
- linux下使用split 来分割大文件
linux下使用split 来分割大文件 2010-07-27 15:46:27| 分类: 技术文稿 | 标签:split 分割 linux |字号 订阅 平常都是使用ssh来进行远程 ...
- linux下查找某个目录下包含某个字符串的文件
有时候要找一些字符串,但是又不知道在哪个文件,只记得一些字符串 那么如何在linux下寻找包含某段文字的文件呢? 强大的find命令可以帮你完成不可能的任务. 比如我只记得我的程序里包含唯一的字符串“ ...
- Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50
Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l ...
- linux下查找文件
1,find 经常在linux下工作,总要查找一些文件,于是就搜索的学习了一下 find 指定目录 指定条件 指定动作 举例:find . -name "my*" 查找 当前目录下 ...
- linux下查找指定后缀的文件
1.linux下查找指定后缀的文件 例如查找当前目录下的所有后缀名时.c或.h的文件 find . -type f -regex ".*\.\(c\|h\)"
- 在Linux下查找文件内容包含某个特定字符串的文件
如何在Linux下查找文件内容包含某个特定字符串的文件? 我的目录下面有test1和test2两个文件夹,里面都含有很多文件,其中test2里面还包含一个test文件夹 我想请问的是,如何通过查找关键 ...
- linux下查找文件中空行的行号
linux下查找文件中空行的行号 linux下查找文件中空行的行号 以aa.txt举例: 方法1:sed -n '/[a-zA-Z0-9@#$%^&*]/!=' aa.txt 方法2:grep ...
- [转帖]linux下查找文件及查找包含指定内容的文件常用命令。
linux下查找文件及查找包含指定内容的文件常用命令. https://blog.csdn.net/yangyu19910407/article/details/18266821 最简单的查找 fin ...
- Linux 下三种提高工作效率的文件处理技巧
Linux 下三种提高工作效率的文件处理技巧 在 Linux 下工作,打交道最多的就是文件了,毕竟 Linux 下工作一切皆文件嘛.Linux 也为大家提供了多种用于处理文件的命令,合理使用这些命令可 ...
- vim linux下查找显示^M并且删除
linux下 ^M的输入方法是ctrl+v然后再ctrl+m vim下在文件中显示^M:e ++ff=unix % 在文件中删除^M:%s/^M$//g 在linux下查找^Mfind ./ | xa ...
随机推荐
- Qt学习虚拟机--基于MSYS2-MinGW环境并带有各种开源的软件库!
Qt学习虚拟机--基于MSYS2-MinGW环境并带有各种开源的软件库!虚拟机地址,VM10和以上:http://pan.baidu.com/s/1slcTA49包含两个分卷压缩包,加起来5GB多. ...
- Delphi XE6 如何设计并使用FireMonkeyStyle
介绍 FireMonkey使用Style来控制控件的显示方式. 每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配 ...
- jQuery中的Ajax应用<思维导图>
传统的WEB应用程序模型是这样工作的:当用户的界面操作触发HTTP请求,服务器在接到请求后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个html页面.但这种方式并没有给予用户很好的应用体验, ...
- EF 6.0 Code First 迁移MySql数据库
一.准备工作 使用NUGET安装Entity Framework 6,下载MySql Connector/Net 6.9.5 二.创建实体 我们在下面创建了两个类(博客和文章),并 ...
- 前端学习之Bootstrap学习
一,Bootstrap简介 在前端世界,有个叫Bootstrap的家伙,,是twitter 开源出来的一套前端框架,利用Ta可以快速开发网站界面,它的特点就是比自己从头写简单,直观,方便,快捷,省劲. ...
- Zookeeper详解-安装(四)
ZooKeeper服务器是用Java创建的,它在JVM上运行.你需要使用JDK 6或更高版本. 步骤1:验证Java安装 相信你已经在系统上安装了Java环境.现在只需使用以下命令验证它. $ jav ...
- Kafka 学习之路(五)—— 深入理解Kafka副本机制
一.Kafka集群 Kafka使用Zookeeper来维护集群成员(brokers)的信息.每个broker都有一个唯一标识broker.id,用于标识自己在集群中的身份,可以在配置文件server. ...
- spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务
文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...
- idea上MyBatis第一个例子
接着上面创建的maven项目来. 1.java目录下创建cn.happy.entity包 2.idea下创建数据库连接 配置连接参数 3.把数据库表变成实体类 导入成功,改一下包名就可以用了 4.新建 ...
- node中websocket的使用
web Socket和Socket.IO框架 http协议是无状态的,就是说客户端可以给服务器提交请求,但是服务器不能向客户端提交请求,但是我们实际项目中会要求客户和服务器双方是类似电话那种关系, 一 ...