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
到目录时,找不到文件似乎是违反直觉的。
这是预期的行为,还是我只是使用了错误的命令?
答案 0 :(得分:3)
这是预期的,正如man page所说:
-P 切勿遵循符号链接。这是默认行为。当find查看或打印文件信息,并且文件是符号链接时,使用的信息应取自符号链接本身的属性。
尝试:
find java/ -name "jni.h"
或
find -L java/ -name "jni.h"
为:
-L遵循符号链接。 ...