ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

find 查找文件或目录 及du命令

2020-11-09 16:34:44  阅读:1003  来源: 互联网

标签:oldboyedu name type 查找文件 du root find dir


格式

  find /data -type f 
  find /data -type f -name "name"
[root@oldboyedu ~]# find ./ -type f # 查找当前目录 并且显示隐藏文件  
                                      默认显示目录及目录以下所有符合的文件

按照名称查找

  [root@oldboyedu dir]# find ./ -type f -name "1.txt"	
  ......
* 表示匹配任意的字符
匹配以.txt结尾的文件

[root@oldboyedu dir]# find ./ -type f -name "*.txt
......

[root@oldboyedu dir]# find ./ -type f -name "[1-3].txt"
......

匹配以.bak结尾的文件
[root@oldboyedu dir]# find ./ -type f -name "*.bak"
......
?代表任意单个字符 --->  通配符匹配   大部分命令都支持
[root@oldboyedu dir]# find ./ -type f -name "1.t?t"		
....
拓展 :
    找出最长的一行的那个个数
      [root@oldboyedu dir]# cat 1.txt
      123456
      123456789
      12
      [root@oldboyedu dir]# cat 1.txt|wc -L
      9

    查看brt-action-analyze-vmcore的个数
      [root@oldboyedu dir]# echo abrt-action-analyze-vmcore|wc -L
      26
    查看password的每个单词出现的个数
      [root@oldboyedu dir]# cat /etc/passwd|sed -r 's#[:\]# #g'|xargs -n1|sort |uniq -c|sort -rn

按照大小查找

   -size k M G
查找大于90M的文件
				 
[root@oldboyedu ~]# find ./ -type f -size +90M		
......

查找小于90M的文件
			
[root@oldboyedu ~]# find ./ -type f -size -90M		
......


查找大于80并且小于90的文件
-and  并且 
-or   或者
[root@oldboyedu ~]# find ./ -type f -size +80M -and -size -90M  # find默认就是并且关系
                        |
                        | 所以 -and 可省略
                        ↓
[root@oldboyedu ~]# find ./ -type f -size +80M  -size -90M
......

[root@oldboyedu ~]# find ./ -type f -size +80M -or -size +90M
......

按目录大小

文件的大小是不会影响目录的大小
目录中存放着下级的所有的文件名和目录名
文件越多 目录越大  小文件过多 inode不够用
如何找小文件 目录越大 小文件越多

ind ./ -type d -size +1M
       如果过长可用下面			
find dir/ -type f -name "*.txt"|xargs rm

du 查看当前目录下文件大小

[root@oldboyedu ~]# du -h
0	./.pki/nssdb
0	./.pki
0	./dir/oldboy
651M	./dir
731M	.
[root@oldboyedu ~]# du -h dir/
0	dir/oldboy
651M	dir/
[root@oldboyedu ~]# du -h dir/*
651M	dir/all.hosts
0	dir/oldboy
0	dir/oldboy.bak
			
			
[root@oldboyedu ~]# du -h /mnt
9.8G	/mnt
[root@oldboyedu ~]# du -h /mnt/*
9.8G	/mnt/10g.txt

find查找到的文件 如何cp rm mv

cp

方法1: 把前面的内容  -i插入 到后面
[root@oldboyedu ~]# find ./ -type f -name "test.sh"|xargs -i cp {} /opt

方法2: 把前面的内容  cp复制 到后面 
[root@oldboyedu ~]# find ./ -type f -name "test.sh" -exec cp {} /tmp \;   ————> ;在这里㓟特殊含义 用\转义
			      
方法3: 用反引号  把执行的命令留在原地再供其他命令使用
[root@oldboyedu ~]# cp `find ./ -type f -name "test.sh"` /etc/

       rm mv按以上套用即可
       find中别名失效,所以rm不会提示交互信息

标签:oldboyedu,name,type,查找文件,du,root,find,dir
来源: https://www.cnblogs.com/hsqKTm/p/13941166.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有