zoukankan      html  css  js  c++  java
  • find 查找文件或目录 及du命令

    格式

      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
    ......
    

    按照深度等级查找

    [root@oldboyedu ~]# find ./ -maxdepth 1 -size +50M		# 查找1及目录大于50M的文件
    ./hosts
    
    [root@oldboyedu ~]# find ./ -maxdepth 2 -size +50M		# 查找2及目录大于50M的文件
    ./hosts
    ./dir/all.hosts
    

    按照修改时间查找

      stat 查看文件的详细信息
    
      -mtime 按照文件的修改时间查找
      -atime 按照文件的访问时间查找
      -ctime 按照文件属性的改变时间查找
    
    mtime 后面的值
          -1 按照24小时内 1天之内的时间
    	       1 
    	 
    Access: # 查看文件时间 cat less vim 修改文件后的第一次查看时间会改变 不修改 不会变
    Modify: # 修改文件时间 vi vim echo
    Change: # 属性修改时间 权限 大小 硬链接数 属主 属组
    

    按目录大小

    文件的大小是不会影响目录的大小
    目录中存放着下级的所有的文件名和目录名
    文件越多 目录越大  小文件过多 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

    方法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不会提示交互信息
    
  • 相关阅读:
    微擎开发------day02
    微擎开发------day01
    Myisam 和 Innodb 区别
    Curl的简单使用步骤
    微信小程序之----获取设备信息
    微信小程序之 -----事件
    微信小程序之---- 数据处理
    微信小程序之----制作视频弹幕
    cocos2dx安卓客户端接入移动MM付费SDK
    Win7 / Win8 搭建配置【vs2010】、【cocos2dx环境】、【Android平台】
  • 原文地址:https://www.cnblogs.com/hsqKTm/p/13941166.html
Copyright © 2011-2022 走看看