作者:林健铭丶 | 来源:互联网 | 2023-10-10 21:58
1.如何快速查找大文件比如根文件系统,最大的前10个文件?bashtree-finxs-L5|sort-k2n-t[|tail-f列出全路径,直观,方便后面使用-x当前文件系统。比
1. 如何快速查找大文件
比如根文件系统,最大的前10个文件?
bash
tree -finxs -L 5 / |sort -k2n -t '[' |tail
-f 列出全路径,直观,方便后面使用
-x 当前文件系统。比如/ 下面挂载个/wls卷(另外一个ext4文件系统),就不会去查找
-L 列出路径深度,越深越慢,5 层挺好的
实例:
shell
[root@localhost mreald]# tree -finxs -L 5 / |sort -k2n -t '[' |tail
[142363262] //public/jdk1.7.0_67.tgz
[161505713] //public/sosreport-CNSZ031314-702153-da593f.tar.bz2
[162204545] //public/wlas.tar.gz
[167106418] //root/slogs/2015-04-28_20:20:42pts-203public.log
[175738200] //public/PA18CMSDMZ7603.out.20150511
[647942144] //root/chkusr@10.11.100.141
[694297784] //root/slogs/2015-05-15_11:03:00pts-255public.log
[700575507] //root/slogs/2015-05-15_10:26:39pts-271public.log
[1101279689] //root/slogs/2015-04-24_14:02:48pts-177public.log
[1956988917] //chkusr/CNSZ040588.osbackup.tgz
如果空间满了,又不能删除,这样处理
shell
gzip /public/PA18CMSDMZ7603.out.20150511
就会生成 //public/PA18CMSDMZ7603.out.20150511.gz 并会自动删除原文件
2. 查找一个路径下面哪些目录占的空间大:
shell
du -hx --max-depth=1 /
–max-depth 设置列出层次
-x 只在当前文件系统
这样可以递归查询哪些目录最大
3. 查找一个文件或者目录或者路径:
shell
locate filename/path/dirname/keyword
原理:cron 每天会跑一次 /etc/cron.daily/mlocate.cron ,把所有的文件路径写到一个小小数据库里面,查找的时候用索引,非常快速。
比如 昨天老大的大作,修改 getPdf_IDG.py
但我想看看内容,找找在哪儿,下面就用0.4s 找到所有:
shell
[mreald@localhost ~]$ locate getPdf_IDG.py
/b4p/apache/appsystems/epcisprint/common/apps/python/getPdf_IDG.py
/b4p/apache/appsystems/epcisprint/common/apps/python/jaspergetPdf_IDG.py
/wls/apache/appsystems/ap_epcis-print-stg2/common/apps/python/getPdf_IDG.py
/wls/apache/appsystems/ap_epcis-print-stg2/common/apps/python/jaspergetPdf_IDG.py
4.查找少不了find ,按大小,时间,类型等等。
生产的wls 卷99%了,怎么办?
shell
find /wls/applogs/rtlog/ -type f -size +100M |grep \.out$ |xargs -I{} cp /dev/null {}
先清理下,再慢慢处理别的大个文件
5. 查找被误删除,还在被应用使用的文件:
shell
tree -fin /proc/|grep \(deleted\) |grep log
or
lsof +aL1 |grep delete |sort -k 7 -n
至于怎么清理见:手把手教你清理 应用末释放的大文件
6.查找文件内的关键字
shell
grep -c/-o/-n/-i/-l/-w/-v/-h
不用说了,很多选项,详见: Linux命令 常用实例汇总(一)
原文:小命令大作用—linux 下快速查找