查找某个目录下所有的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 参数直接用 {}就能代替管道之前的标准输出的内容;