973114 发表于 2018-8-19 08:40:38

shell编程四剑客之find

  (1) Find作用
  Find主要用来对系统文件,目录的查找
  (2) Find语法
  findpath-option      {}\;
  注释:
  path表示路径 ,可以从根查找(/)   可以从当前目录查找(.)      可以从指定目录查找(tmp/)
  option 表示选择   -name表示查找文件名称(*.txt)   -type 通过文件类型进行查找   -size表示通过文件大小查找
  -perm 通过文件权限查找-mtime表示通过时间类型查找
     exec   接要执行的命令例如    find.   -name"*.txt"-execrm-rf {} \;   {}表示把前面查找的结果放到里面
  (3) find -name 参数案例
  find   /data/-name   "*.txt"   查找/data/目录以.txt结尾的文件
  find/data/-name   ""查找/data/目录下以大写字母开头的文件
  find/data/   -name   "test"   查找/data/目录下以test开头的文件
  find/data/   -name   "*.txt" -execmv{}/tmp/\;   查找/data/目录下以.txt结尾的文件把它移动到tmp目录下
  find/tmp/   -name"*.txt"-execmv{}.   \;    查看/tmp/目录下以.txt结尾的文件移动到当前目录下
  find.   -name   "jfedu.txt" -execrm-rf {}\;   查找当前目录下文件名称为jfedu.txt的文件,执行删除操作
  注释:
  不加-typef |d | l   -name不指定查找的文件类型,默认查找所有
  (4) find   -type 参数案例
  find/data/-typed      查找/data/目录下,是目录类型的文件
  find/data/-typel         查找/data/目录下的软连接文件
  find/data/-typef         查找/data/目录下的文件类型文件
  find/data/ -typed-exec chmod744 -R   查找/data/目录下是目录类型的文件.并将权限设置为744
  (5)find   -size参数案例
  find   /data/-size 10M    查找/data/目录下是10M的文件
  find/data/   -size-10M   查找/data/目录下小于10M 的文件
  find/data/   -size   +10M查找/data/目录下大于10M的文件
  (6)find   -perm 参数案例
  find   /data/   -perm   744   查找/data/目录下文件或目录权限是744的
  find   /data/-perm   +644查找/data/目录下文件或目录的权限是644以上的
  find   /data/-perm   -644   查找/data/目录下文件或目录权限是644以下的
  (7)find   -mtime 参数案例
   find/data/   -mtime   +30   -name"*.log"   查找/data/目录下30天以前的log文件
   find/data/-mtime    -30   -name"*.txt"      查找/data/目录下30天以内的txt文件
   find/data/   -mtime   30   -name   "*.log"   查找/data/目录下第30天的log文件
   find/data/   -mmin   +30-name"*.log"   查看/data/目录下30分钟以前的log文件
   find/data/   -amin-30    -name   "*.txt"查看/data/目录下30分钟以内txt文件
   find/data/-cmin30-name"*.log"查找/data/目录下第30分钟的log文件
  (8) find综合案例
   查找/data/目录下以.log结尾的文件,文件大于10k,同时cp /tmp目录下
  find/data/-name"*.log" -type f-size +10k-execcp { }/tmp \;
   查找/data/目录下以.txt结尾的文件,大于10k的文件,权限为644,并删除文件
  find   /data/-name"*.txt"-type   f    -size +10k    -perm 644-exec rm-rf{}\;
   查找/data/目录下以.log结尾的文件,30天以前的文件,文件大小是10M并移动到/tmp目录
  find/data/-name   "*.log"-typef-mtime +30-size 10M-execmv {}   /tmp\;

页: [1]
查看完整版本: shell编程四剑客之find