文件名的查找——find

  查找文件!!!

  • 命令格式:find [PATH] [option] [action]

一、参数1——与时间有关的参数

  • -atime、-ctime、-mtime

  -mtime n:在n天之前的“一天之内”被更改过的文件名

  -mtime +n:在n天之前(不含n天本身)被更改过的文件名

  -mtime -n:在n天之内(含n天本身)被更改过的文件名

  -newer file:比file还要新的文件名

  注:这三个基于时间的参数的计量单位是“天”,天数前面带的-代表小于,而+代表大于。

范例一:将过去系统上面24小时内有改动(mtime)的文件列出

执行命令:find / -mtime 0

评讲:0代表目前的时间,所以,从现在开始到24小时前,有改动内容的文件都会被列出来。

范例二:将过去系统上面3天前的24小时内有改动(mtime)的文件列出

执行命令:find / -mtime 3

范例三:寻找/etc下面的文件,如果文件日期比/etc/passwd新就列出

执行命令:find /etc -newer /etc/passwd

二、参数2——与用户或用户组名有关的参数

  • -uid UID、-gid GID、-user 用户账号名称-group 用户组名
  • -nouser:寻找文件的所有者不存在于/etc/passwd的文件
  • -nogroup:寻找文件的所有用户组不存在于/etc/group中的文件

范例一:查找/home下面属于liuyu的文件

执行命令:find /home -user liuyu

评价:这个命令可以将属于某个用户的所有文件都找出来

范例二:查找系统中不属于任何人的文件

执行命令:find / -nouser

三、参数3——与文件权限及名称有关的参数

  • -name 文件名:根据文件名查找文件
  • -size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件
  • -type TYPE:查找文件类型为TYPE的
  • -perm mode:查找文件权限“刚好等于”mode的文件
  • -perm -mode:查找文件权限“必须要全部包括mode的权限”的文件
  • -perm +mode:查找文件权限“包含任一mode的权限”的文件

范例一:找出文件名为passwd的这个文件

执行命令:find / -name passwd

范例二:找出系统中大于1MB的文件

执行命令:find / -size +1000k

范例三:找出/var目录下文件类型为Socket的文件名有哪些

执行命令:find /var -type s

范例四:查找文件当中含有SGID或SUID或SBIT的属性

执行命令:find / -perm +7000

四、其他可进行的操作

  • -exec 命令:-exec后面可再接其他的命令来处理查到的结果
  • -print:将结果打印到屏幕上,这个操作是默认操作

范例一:将上一范例找到的文件使用ls -l列出来

执行命令:find / -perm +7000 -exec ls -l {} ;

【评讲】

  1. {}:代表的是“由find找到的内容”,我们可以想象find的结果会被放置到{}位置中
  2. {}是一个与-exec选项搭配使用的特殊字符串,对于每一个匹配的文件,{}会被替换成相应的文件名
  3. -exec一直到;是关键字,代表find额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额外命令。在本例中就是“ls -l {}”
  4. 因为“;”在bash环境下是有特殊意义的,因此利用反斜杠来转义
  5. 如:find . -name "*.txt" -exec cp {} 某个目录 ;  //将当前目录下的以.txt结尾的文本文件复制到

五、其他

  • find 目录

  列出当前目录及子目录下所有的文件和文件夹

  注:和ls的区别在于子目录下的文件和目录也会被列出来

  • find 目录 -maxdepth 深度n
  • find 目录 -mindepth 深度n

  注:深度n来限制find命令遍历的目录深度,-maxdepth指定最大深度,而mindepth指定最小深度。

  如:find . -maxdepth 1 的作用效果就等同于 ls

  • find 目录 -type d|f|l|c|b|s|p

  如:find . -type f  列出当前目录下的文件

  • find 目录 -size +2k  大于2KB的文件
  • find 目录 -size -3M  小于3MB的文件
原文地址:https://www.cnblogs.com/xzxl/p/7555084.html