1.命令格式:
findpathname-options[-print-exec-ok...]
2.命令功能:
用于在文件树种查找文件,并作出相应的处理
3.命令参数:
pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print:find命令将匹配的文件输出到标准输出。
参数详解
find一些常用参数的一些常用实例和一些具体用法和注意事项。
1.使用name选项:
文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为'pathname'参数,波浪号~代表了你的$HOME目录。
find~-name"*.log"-print
想要在当前目录及子目录中查找所有的‘*.log‘文件,可以用:
find.-name"*.log"-print
想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:
find.-name"[A-Z]*"-print
想要在/etc目录中查找文件名以host开头的文件,可以用:
find/etc-name"host*"-print
想要查找$HOME目录中的文件,可以用:
find~-name"*"-print或find.-print
要想让系统高负荷运行,就从根目录开始查找所有的文件。
find/-name"*"-print
如果想在当前目录查找文件名以一个个小写字母开头,最后是4到9加上.log结束的文件:
命令:
find.-name"[a-z]*[4-9].log"-print
输出:
[root@localhosttest]#ll
总计316
-rw-r--r--1rootroot30210811-1306:03log2012.log
-rw-r--r--1rootroot6111-1306:03log2013.log
-rw-r--r--1rootroot011-1306:03log2014.log
-rw-r--r--1rootroot011-1306:06log2015.log
drwxr-xr-x6rootroot409610-2701:58scf
drwxrwxr-x2rootroot409611-1306:08test3
drwxrwxr-x2rootroot409611-1305:50test4
[root@localhosttest]#find.-name"[a-z]*[4-9].log"-print
./log2014.log
./log2015.log
./test4/log2014.log
[root@localhosttest]#
2.用perm选项:
按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好使用八进制的权限表示法。
如在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件,可以用:
[root@localhosttest]#find.-perm755-print
.
./scf
./scf/lib
./scf/service
./scf/service/deploy
./scf/service/deploy/product
./scf/service/deploy/info
./scf/doc
./scf/bin
[root@localhosttest]#
还有一种表达方法:在八进制数字前面要加一个横杠-,表示都匹配,如-007就相当于777,-005相当于555,