Linux命令——文件查找命令find

来源:互联网 发布:瓶中船的制作材料淘宝 编辑:程序博客网 时间:2024/04/30 09:06
命令格式:find [path] [option] [action]命令功能:用于在文件树中查找文件,并作出相应处理命令参数:[path]:find命令所查找的目录路径。('.'表示当前目录,'/'表示根目录);1、和时间有关的参数:-atime(access time),-ctime(change time),-mtime(modify time)。下面以-mtime为例说明:-mtime n:n为数字,在n天之前的一天之内被修改过的文件—mtime +n:列出在n天之前(不包含n天)被修改过的文件-mtime -n:列出在n天之内(不包含n天)被修改过的文件-newer file:file为文件名,列出比file还要新的文件eg:a、find . —mtime 0 #找出今天之内修改过的文件

1

    b、find . -mtime +1 找出1天前被修改过的文件

2

    c、find . -mtime -1 找出1天内被修改过的文件

3

    d、find . -newer ./code 在当前目录下找出比当前目录下code更新的文件

4

    总结:a、使用n可以查询到n~n+1天的文件;         b、-n可以查询到<n天的文件;         c、+n可以查询到>n天的文件。2、和用户或用户组有关的参数:   a、-user name:name为用户账户名称,(eg:寻找一个用户在系统中的所有文件);     

6

   b、-group name:name为用户组名(eg:寻找一个组在系统中的所有文件);

7

   c、-nouser:寻找文件的所有者不存在/etc/passwd的人(eg:查找系统中不属于任何人的文件);

8

   d、-nogroup:寻找文件的所有者不存在/etc/group中的文件;   总结:1、如果想要了解某个用户在系统下创建了什么,可以使用a/b查找出来;        2、如果经系统里面的谋划个账号删除了,但是该账号已经在系统中创建了很            多文件,就可能发生无主的孤魂文件,此时就可以使用-nouser来查看。3、和文件权限及名称相关的参数:   a、-name filename:查找文件名为filename的文件;

9

   b、-size [+-]SIZE:查找比SIZE还要大(+)/小(-)的文件;SIZE是具有单位的,c表示byte,k代表bytes。(eg:要查找比20b还要大是我文件 find -size +20c)

10

   c、—type TYPE:查找文件的类型为TYPE的文件;(eg:在当前目录下查找普通文件)

12

   d、-perm mode:查找文件权限刚好为"mode"的文件;(eg:在当前目录下查找权限为644(rw-r--r--)的文件)

13

  e、-perm -mode:查找文件权限"全部包含mode的权限";(eg:在当前目录下查找权限为644(rw-r--r--)的文件,在所有文件中只要包含644权限的文件都会被列出来,比如在当前目录下只有文件f.txt只含有644权限,所以该文件肯定被列出来;文件.、./coud、.test均不只含有644权限,也会被列出来)

14

  f、-perm +mode:查找文件权限"包含任意一个mode权限的文件"均会被列出来;(eg:在当前目录下查着含有744任意一个权限的文件)

15

    总结:1、-perm的重点在找出特殊权限的文件。SUID和SGID可以设置在二进制程序上,假如想要将/bin、/sbin这两个目录下只要具有SUID或者SGID的文件列出来。         2、-perm +mode命令如果无法执行,使用-perm /mode 4、其他操作: a、-exec command {} \;:commend为其命令,—exec 后面可以在接其他的命令来处理查找到的结果;(注意:该命令不支持别名操作)

16

b、-print:将结果打印到屏幕上,为默认操作;c、-print命令还支持包含查找,意思就是比如想要查找当前目录下文件名含有"t"的所有文件,则可以使用该命令find . -name '*t*'

16

最后需要说明的是find命令不仅会查找当前指定的命令,如果当前目录中包含有子目录,find则会进入到子目录中进行查找。文中的当前目录中含有子目录code,子目录中含有文件test.c。所以全文中有时会出现./code/test.c文件。
0 0
原创粉丝点击