From: http://blog.csdn.net/caspiansea/article/details/7456048
find 命令默认情况下,不会到符号链接指向的文件夹下面搜索匹配的文件。
要想达到此目的,可以使用如下的方法:
- find -L dirname -name "pattern"
find -L dirname -name "pattern"
或者
- find diranme -follow -name "pattern"
find diranme -follow -name "pattern"
在某些CentOS系统上,只支持后一种方式,使用 - L 选项报语法错误。
===================================================================今天,本人在Fedora20上用root用户执行了下find /bin -name 'ba*',发现什么结果都没有。但事实上用which bash执行时,提示该文件在/bin/bash,所以觉得非常奇怪。
找了找原因,最终通过执行"ls -l /"发现了奇怪的现象,原来/bin是指向/usr/bin的符号链接,看结果:
[root@vm-fedora20 ~]# ls -l /
总用量 62
lrwxrwxrwx. 1 root root 7 12月 12 2013 bin -> usr/bin
dr-xr-xr-x. 6 root root 1024 9月 4 14:56 boot
drwxr-xr-x. 19 root root 3240 9月 5 11:29 dev
drwxr-xr-x. 130 root root 12288 9月 5 11:30 etc
drwxr-xr-x. 3 root root 4096 9月 4 14:56 home
lrwxrwxrwx. 1 root root 7 12月 12 2013 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 12月 12 2013 lib64 -> usr/lib64
drwx------. 2 root root 16384 12月 12 2013 lost+found
drwxr-xr-x. 2 root root 4096 8月 7 2013 media
drwxr-xr-x. 3 root root 4096 9月 4 14:56 mnt
drwxr-xr-x. 2 root root 4096 8月 7 2013 opt
dr-xr-xr-x. 156 root root 0 9月 5 11:29 proc
dr-xr-x---. 9 root root 4096 9月 5 13:48 root
drwxr-xr-x. 37 root root 1040 9月 5 12:39 run
lrwxrwxrwx. 1 root root 8 12月 12 2013 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 8月 7 2013 srv
dr-xr-xr-x. 13 root root 0 9月 5 11:29 sys
drwxrwxrwt. 13 root root 440 9月 5 13:48 tmp
drwxr-xr-x. 12 root root 4096 12月 12 2013 usr
drwxr-xr-x. 20 root root 4096 9月 5 11:29 var
[root@vm-fedora20 ~]#
类似地,lib, lib64, sbin也都成了符号链接,这也许是Fedora20作的改变吧。
所以只能参考本文顶端的方法,跟入符号链接指向的目录才能搜索到文件!