有时候,我们要想在Linux下查找某个文件,但是不知道放到了哪里,可以用find命令来搜索:

  Linux下的find命令:实际搜寻硬盘查询文件的名称,并执行指定的操作。

  1. 命令格式

    find pathname -option [-print  -exec  -ok]

  2. 命令功能

    用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

  3. 命令参数

    pathname:find命令所查找的目录路径。.来表示当前目录,/表示系统根目录

    -print:find命令将匹配的文件输出到标准输出

    -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应的命令为 commond {} \;

    注意:{}和\之间的空格。

    -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户确定是否执行。

4. 命令选项

 <1> -name 按照文件名查找文件


wKiom1c23QfBFPywAABhQXTy9XY725.png


  <2> -perm 按照文件权限来查找文件

      以User可读可写权限,Group可读权限,Others可读权限为例

     wKioL1c24yGibOPLAAAWMSTQiU0050.png

  <3> -user 按照文件属主来查找文件

      文件所属主为xiaoyu查询

     

wKiom1c244HD_jjbAAANYu6vnrI641.png


  <4> -group 按照文件所属的组来查找文件

      文件所属组为xiaoyu,root查询

wKioL1c25GWyb5YHAAAm9iUb__A428.png

  <5> -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups/中不存在

  <6> -nouser  查找无有效所属主的文件,即该文件的属主在/etc/passwd中不存在

  <7> -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

wKiom1c25gbS5k55AAAUrhZT2hY570.png

  <8> -mtime -n +n 按照文件的更改时间来查找文件, -n 表示文件更改时间距现在几天以内,+n表示文件更改时间距现在n天以前。


   wKiom1c25NXD7I36AAAoztm4jGM410.png

      一天之内更改的文件。一天之前,没有更改文件。


  <9> -type 查找某一类型的文件

   如:查找目录文件

     wKioL1c26GSh_7qgAAAw8t3q_QY960.png  


<10> -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录下查找。

   wKiom1c26H7gdhUfAAAi_OiQ0Kk042.png


   建时间来查找文件,-n 指n天以内, +n 指n前以前


如:在当前文件下查找更改时间在一天以内的文件,并将其列举出来

wKiom1c264DyMyJrAABSxlNZZVM507.png


5. Linux用find命令查找文件大小为XX的文件的办法


  在当前目录下查找文件大小大于4095字节,小于4097字节的文件

  wKiom1c27QnTVeJgAABjO0BJ6G4675.png


总结:

<1>查找/目录下文件名为test.c的目录

<2>查找当前所有目录并排序

wKioL1c2-OnTQjBiAABJmbxkq2w927.png


<3>查找所有名称中按照".log"结尾的目录


wKiom1c2-FrjbJO3AAAN3Ha0K3Q455.png

   没有结果,说明没有以.log结尾的目录。


<4>查找系统最近5分钟访问的目录

<5>查找系统最近5天访问的文件


wKiom1c290WSmg8GAABcDHAyhQ8444.png


<6>查找当前目录下所有权限为644的文件,并设置为666

wKiom1c290aSZ6LeAABjwFNfL68489.png


<7>查找文件大小为4638k的文件,并删除

wKioL1c2-Cri-XpvAAAcJHfhexI571.png