在由软链接链接的目录中查找文件

时间:2017-11-08 14:55:09

标签: linux bash find symlink

ln -s /horribly/long/and/annoyin/path/to/java/jdk java

现在,

$ find java -name "jni.h"
$ cd java && find . -name "jni.h" && cd ..
./include/jni.h

当你没有cd到目录时,找不到文件似乎是违反直觉的。

这是预期的行为,还是我只是使用了错误的命令?

1 个答案:

答案 0 :(得分:3)

这是预期的,正如man page所说:

  

-P   切勿遵循符号链接。这是默认行为。当find查看或打印文件信息,并且文件是符号链接时,使用的信息应取自符号链接本身的属性。

尝试:

find java/ -name "jni.h"

find -L java/ -name "jni.h"

为:

  

-L遵循符号链接。 ...