在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做。这样做的一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
实例1:find命令从文件系统的根目录开始,查找一个名为CON.FILE的文件。
命令:
find / -name "CON.FILE" -depth -print
说明:
它将首先匹配所有的文件然后再进入子目录中查找
12.使用mount选项:
在当前的文件系统中查找文件(不进入其他文件系统),可以使用find命令的mount选项。
实例1:从当前目录开始查找位于本文件系统中文件名以XC结尾的文件
命令:
find . -name "*.XC" -mount -print
13、
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出
# find . -type f -exec ls -l {} \;
-rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic
-rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README
Fetty:姓名、性别、年龄、具体职业不详,更无联系方式。 本人在博客园发布的文章(包括但不限于:简体中文、英文、标点符号、图像,以及以上任意组合等)均为敲打键盘、鼠标、屏幕等工具所造成结果,用于检验本人电脑、显示器的各项机械性能、光电性能,并不代表本人观点,如有雷同,不胜荣幸!
14、 ok选项
查询文件并询问是否要显示
[root@linuxidc class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls … ./classDB.inc.php > ? y
-rw-r–r– 1 cnscn cnscn 13709 1月 12 12:22 ./classDB.inc.php
[root@linuxidc class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls … ./classDB.inc.php > ? n
[root@linuxidc class]#
find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;
15、
查询并交给awk去处理
[root@linuxidc class]# who | awk ’{print $1"\t"$2}’
cnscn pts/0
=================================================
awk—grep—sed
[root@linuxidc class]# df -k | awk ‘{print $1}’ | grep -v ’none’ | sed s"/\/dev\///g"
文件系统
sda2
sda1
[root@linuxidc class]# df -k | awk ‘{print $1}’ | grep -v ’none’
文件系统
/dev/sda2
/dev/sda1
三、 find命令答疑
我用find / -name filename| rm -rf,不成功,请问为什么不成功?
find / -name filename -exec rm -rf {} \;
find . -name filename |rm -rf试一下{} 表示你找出来的结果。
\; 则相当于“宪法”,没什么说头,就是这么规定的,在 -exec 后面需要一个表示该命令终结的的符号。可以在 man find 中找到答案。
要让rm识别find的结果,如下:
find / -name filename |xargs rm -rf
之所以find . -name filename |rm -rf不通过,是因为rm命令不接受从标准输入传过来的指令
查找含特定字符串的文件
例如查找当前目录下含有"the string you want find…"字符串的文件:
$find . -type f -exec grep “the string you want find…” {} ; -print
四、自己的使用经历
1、find输出几个文件的具体修改时间
[linuxidc@xingzhengzhongxin Exp]$ ls Para.1106.* Para.1107.* Para.1109.* -al
-rw-r--r-- 1 linuxidc aas 5178 Apr 11 22:30 Para.1106.00000227.77.00
-rw-r--r-- 1 linuxidc aas 22043 Apr 11 22:30 Para.1107.00000227.77.00
-rw-r--r-- 1 linuxidc aas 7410 Apr 11 22:30 Para.1109.00000227.77.00