find 命令练习

   查找某个目录下所有的sql文件时,使用以下命令

   find /opt/  -name  *.sql  

   结果是报错,这个命令是查找 *.sh的那个文件,而不是sh结尾的全部文件。

  如果查找的文件名中有通配符,需要加引号

   find  /opt/ -name  '*.sql'

  

  [查找完执行的action] 

         # -print                               //默认情况下的动作

         # -ls                                    //查找到后用ls 显示出来

         # -ok  [commend]                //查找后执行命令的时候询问用户是否要执行

        # -exec [commend]              //查找后执行命令的时候不询问用户,直接执行

   

  例:1、 将找到的sql文件全部删除:

     find  /opt/   -name  '*.sql'  -exec  rm -rf {} ;

    {}的作用:替代查找到的文件

   或者命令:

     find  /opt/  -name  '*.sql' | xargs rm -rf

  2、 将找到的sql文件复制到root目录下:

     find  /opt/   -name  '*.sql'  -exec  cp {}  /root/  ;

   或者:

   find  /opt/   -name  '*.sql' | xargs -i cp  {}  /root/

   xargs -i   加-i 参数直接用 {}就能代替管道之前的标准输出的内容;

   

原文地址:https://www.cnblogs.com/homehbn/p/5872977.html