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 ...
随机推荐
- Terminator快捷键
窗口相关 窗口开关 上下开新窗口 Ctrl+Shift+O垂直开新窗口 Ctrl+Shift+E关闭当前窗口 Ctrl+Shift+W 改变当前激活窗口 逆时针改变当前窗口 Ctrl+Sh ...
- 条款14:在资源管理类中小心copying行为
请牢记: 1.复制RAII对象必须一并复制它所管理的资源,所以资源的copying行为决定RAII对象的copying行为. 2.普遍常见的RAII class copying行为是:抑制copyin ...
- mac下 编译php的 openssl
编译openssl.so tar zxvf php-7.2.8.tar.gz# 进入PHP的openssl扩展模块目录cd php-7.2.8/ext/openssl/brew install ope ...
- Linux上整数和浮点数的运算
一:shell中对整数和浮点数的运算 常用的运算符号 加法+ 减法 - 乘法* 除法/ 求余% += -= ...
- ChannelPipeline----贯穿io事件处理的大动脉
ChannelPipeline贯穿io事件处理的大动脉 上一篇,我们分析了NioEventLoop及其相关类的主干逻辑代码,我们知道netty采用线程封闭的方式来避免多线程之间的资源竞争,最大限度地减 ...
- centos7.3nginx启动命令
#!/bin/sh # chkconfig: 2345 80 90 # description: Start and Stop nginx #PATH=/usr/local/sbin:/usr/loc ...
- 如何用css实线所需要的小三角
使用css实现三角符号 关于使用css制作三角符号,网上有很多的例子了,在这里只是为了详细的向各位解释一下三角符号的原理 下图,是一个长宽为100px,边框宽度为100px的一个元素,由此可见,在cs ...
- navicat远程连接mysql10060
navicat连接mysql时,出现2003-Can't connect to MySql server on '47.106.228.160'(10060"Unknow error&quo ...
- Codeforces Gym101341I:Matrix God(随机化构造矩阵降维)***
http://codeforces.com/gym/101341/problem/I 题意:给三个N*N的矩阵,问a*b是否等于c. 思路:之前遇到过差不多的题目,当时是随机行(点),然后验证,不满足 ...
- c++快速排序算法
c++快速排序算法 题目描述 利用快速排序算法将读入的NN个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.(C++选 ...