符号链接:find链接到这个文件的所有文件

所有,我需要在Linux中做到这一点:

  • 鉴于:文件名'foo.txt'
  • 查找:符号链接到“foo.txt”的所有文件

怎么做? 谢谢!

这取决于,如果你试图find一个名为foo.txt,的特定文件的链接foo.txt,那么这是唯一的好方法:

 find -L / -samefile path/to/foo.txt 

另一方面,如果你只是想find任何碰巧被命名为foo.txt文件的链接,

 find / -lname foo.txt 

要么

 find . -lname \*foo.txt # ignore leading pathname components 

find文件的索引节点号,然后search具有相同索引节点号的所有文件:

 $ ls -i foo.txt 41525360 foo.txt $ find . -follow -inum 41525360 

或者,尝试findlname选项,但是如果你有相对的符号链接,例如a -> ../foo.txt

 $ find . -lname /path/to/foo.txt 

我更喜欢使用symlinks实用程序,这在search损坏的符号链接时也很方便。 安装方式:

 sudo apt install symlinks 

显示当前文件夹和子文件夹中的所有符号链接:

 symlinks -rv . 
  • -r :recursion
  • -v :verbose(显示所有的符号链接,不仅是破碎的)

要find一个特定的符号链接,只需grep

 symlinks -rv . | grep foo.txt