find是一个文件查找命令,通过遍历指定路径下的文件系统完成实时文件查找。其工作特点是:查找速度略慢,精确查找,实时查找,可以满足多种条件匹配。
find 命令不仅可以通过特定条件来查找文件,还可以对查找到的文件使用任意linux命令进行操作。
基本用法:
find [选项] [路径] [查找条件 + 处理动作]
查找路径:指定具体目录路径,默认是当前文件夹;
查找条件:指定的查找标准(文件名/大小/类型/权限等),默认是找出所有文件;
处理动作:对符合条件的文件做什么操作,默认输出屏幕。
处理动作用法介绍:
‐ok COMMAND {} \;对查找到的每个文件执行由COMMAND指定的命令 对于每个文件执行命令之前,都会交换式要求用户确认;
‐exec COMMAND {} \;对查找到的每个文件执行由COMMAND指定的命令。
注:命令中最后的分号需要转义(\),{}用于引用查找到的文件名称自身。
例如:查找/etc/init.d目录下的所有内容并复制到dir1目录下
find /etc/init.d/ -exec cp -r {} dir1/ \;
同理,接其他处理动作就则可以进行相应的操作,如:
‐print:默认的处理动作,显示至屏幕;
‐ls:对查找到的文件执行 “ ls ‐l ” 命令;
‐delete:删除查找到的文件;
‐fls /path/to/somefile:查找到的所有文件的长格式信息保存至指定文件中。