突然想以忽略大小写的方式查找文件,上网没找到有用资料,只好求助man,无聊的很,就翻译了下,没翻译完,下次待续。但是找到了自己想要的东西 -iname 以忽略大小写的方式查找。

Find的主要功能是在文件树中查找符合条件的文件。

语法:

Find [-H] [-L] [-P] [path...] [expression]

语法很简单,[-H] [-L] [-P] 是一些关于如何处理符号连接的选项,[path...] 说明可以同时指定多个目录,[expression]是查找表达式。[-H] [-L] [-P] 后面的参数会被认为要搜索的目录名称,直到遇到‘-’,‘(’,‘)’,‘,’‘!’等符号,接下来的参数将被认为是expression的组成部分。如果没有指定任何目录,则当前目录会被使用;如果没有指定表达式,则' -print' 会被使用,如果没有指定[-H] [-L] [-P] ,则-P将被使用。

-P:忽略所有符号连接

-L查找所有软连接,使用源文件的属性,不使用连接文件的属性。

-H:除非在处理命令行参数,否则忽略符号连接。文件属性使用符号连接文件的。不明白。

所以,find命令其实很简单,复杂的是最后的expression。

表达式包括options,tests和actions。他们通过操作符进行连接,如果没有指定,则默认是-and操作符。如果表达式没有任何返回,像-prune,-print,则默认其为true。

Options:除了-follow和-daystart ,所有的options都返回true。

-daystart:从当天的开始测试时间,而不是24小时前,这个选项

-depth 深度优先遍历。

-maxdepth levels:最深遍历深度,当前目录为1,没进一个子目录,+1,当前命令行为0。

-mindepth levels:忽略小于mindepth的文件

-mount:不搜索其他文件系统的文件。

-warn , -nowarn打开或关闭警告信息 

TESTS:

可以使用的数字参数,+n(>n) -n(<n) n(==n),以后出现n代表此处可以出现此三参数。

-amin n:最后n分钟访问的文件

-anewer file:最后访问时间比file新的文件。

-atime n:n天【前,后】访问的文件

-cmin n

-cnewer file

-ctime n:此三参数同上,检查创建时间

-mmin n

-newer file

-mtime n:同上,检查修改时间

-empty:查找空文件

-fstype type:文件的类型

-gid id:查找属于特定组的文件

-uid id

-group gname:查找属于特定组的文件

-user uname

-name fname:查找名字为fname的文件,大小写敏感

-iname fname:查找名字为fanme的文件,大小写不敏感

Fname可以使用*代表任意字符,?代表一个字符。推荐用单引号或双引号将模式引起来。

-inum file的inode节点为n,推荐使用-samefile

-links n:文件由n个硬连接

-nouser:没有拥有者的文件

-nogroup:没有组的文件

-path pattern

-perm mode:以权限进行查找。Mode可以是数字,也可以是表达式:-perm 755, -perm u=x

精确匹配。-perm -u=x:只要u拥有x 权限,则为真。

-size n[cwbkMG]

-type c

Actions:

-delete:删除文件

-exec command ;执行命令,直到遇到;为止。