突然想以忽略大小写的方式查找文件,上网没找到有用资料,只好求助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 ;执行命令,直到遇到;为止。