shell编程四剑客之find

(1) Find做用ide

  Find主要用来对系统文件,目录的查找it


(2) Find语法io

  find  path  -option      [exec   command   ]  {}  \;class

  注释:test

             <1>  path  表示路径 ,能够从根查找(/)     能够从当前目录查找(.)      能够从指定目录查找(tmp/)权限

             <2>  option 表示选择   -name表示查找文件名称(*.txt)   -type 经过文件类型进行查找   -size  表示经过文件大小查找   语法

                                                   -perm 经过文件权限查找  -mtime  表示经过时间类型查找command

             <3>   exec   接要执行的命令  例如    find  .   -name  "*.txt"  -exec  rm-rf {} \;   {}表示把前面查找的结果放到里面im


(3) find -name 参数案例注释

              <1>  find   /data/  -name   "*.txt"   查找/data/目录以.txt结尾的文件

              <2>  find  /data/  -name   "[A-Z]"  查找/data/目录下以大写字母开头的文件

              <3>  find  /data/   -name   "test"   查找/data/目录下以test开头的文件

              <4>  find  /data/   -name   "*.txt" -exec  mv{}  /tmp/  \;   查找/data/目录下以.txt结尾的文件把它移动到tmp目录下

              <5>  find  /tmp/   -name  "*.txt"  -exec  mv{}  .   \;    查看/tmp/目录下以.txt结尾的文件移动到当前目录下

              <6>  find  .   -name   "jfedu.txt" -exec  rm-rf {}  \;   查找当前目录下文件名称为jfedu.txt的文件,执行删除操做

       注释:

                  不加-type  f |d | l   -name不指定查找的文件类型,默认查找全部


(4) find   -type 参数案例

             <1>  find  /data/  -type  d        查找/data/目录下,是目录类型的文件

             <2>  find  /data/  -type  l         查找/data/目录下的软链接文件

             <3>  find  /data/  -type  f         查找/data/目录下的文件类型文件

             <4>  find  /data/ -type  d  -exec chmod  744 -R   查找/data/目录下是目录类型的文件.并将权限设置为744


(5)  find   -size  参数案例

             <1>  find   /data/  -size 10M    查找/data/目录下是10M的文件

             <2>  find  /data/   -size  -10M   查找/data/目录下小于10M 的文件

             <3>  find  /data/   -size   +10M  查找/data/目录下大于10M的文件


(6)  find   -perm 参数案例

            <1>  find   /data/   -perm   744   查找/data/目录下文件或目录权限是744的

            <2>  find   /data/  -perm   +644  查找/data/目录下文件或目录的权限是644以上的

            <3>  find   /data/  -perm   -644   查找/data/目录下文件或目录权限是644如下的


(7)  find   -mtime 参数案例

          <1> find  /data/   -mtime   +30   -name  "*.log"   查找/data/目录下30天之前的log文件

          <2> find  /data/  -mtime    -30   -name  "*.txt"      查找/data/目录下30天之内的txt文件

          <3> find  /data/   -mtime   30   -name   "*.log"   查找/data/目录下第30天的log文件

          <4> find  /data/   -mmin   +30  -name  "*.log"   查看/data/目录下30分钟之前的log文件

          <5> find  /data/   -amin  -30    -name   "*.txt"  查看/data/目录下30分钟之内txt文件

          <6> find  /data/  -cmin  30  -name  "*.log"  查找/data/目录下第30分钟的log文件


(8) find  综合案例

          <1> 查找/data/目录下以.log结尾的文件,文件大于10k,同时cp /tmp目录下

              find  /data/  -name  "*.log" -type f  -size +10k  -exec  cp { }  /tmp \;


          <2> 查找/data/目录下以.txt结尾的文件,大于10k的文件,权限为644,并删除文件

               find   /data/  -name  "*.txt"  -type   f    -size +10k    -perm 644  -exec rm-rf{}  \;


           <3> 查找/data/目录下以.log结尾的文件,30天之前的文件,文件大小是10M并移动到/tmp目录

                find  /data/  -name   "*.log"  -type  f  -mtime +30  -size 10M  -exec  mv {}   /tmp  \;

相关文章
相关标签/搜索