linux - 查看目录 rec 是否在 Linux 中用作符号链接(symbolic link)

标签 linux symlink

我想看看,如果符号链接(symbolic link)指向特定目录中的目录 - 递归地。 当然,我可以使用

find / -type l -ls 2>/dev/null |grep /targetpath

但我不想键入所有(递归)路径。

所以我将我系统上的所有符号链接(symbolic link)一次放入一个文件中。

find / -type l -ls 2>/dev/null >~/symlinks.txt

然后我递归地列出目录。

find /targetpath to start/ -maxdepth 2 -type d

这就是我的问题: 我可以将这些路径从最后一个命令传递给 grep 吗? Grep 应该查看我的文件 symlinks.txt 并显示匹配行的内容(可能是指向此目录的更多符号链接(symbolic link))

我试过类似的东西

find /targetpath to stat/ -maxdepth 2 -type d | xargs -0 -ifoo grep foo symlinks.txt 

但它并没有像我期望的那样。

或者其他更好的解决方案?

最佳答案

来自 man find :

-lname pattern
File is a symbolic link whose contents match shell pattern pattern. [...]

尝试:

find / -lname '*/targetpath/*'

参见 find-all-symlinks-to-a-directory-and-change-target-to-another-directory .

关于linux - 查看目录 rec 是否在 Linux 中用作符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50815228/

相关文章:

linux - 为什么我的 bashrc 脚本不起作用?

python - 我可以忽略 setuptools MANIFEST.in 中的符号链接(symbolic link)吗?

apache没有读取更新的符号链接(symbolic link)

linux - 类 Unix 系统中的循环符号链接(symbolic link)有什么用?

linux - docker-compose/boot2docker 在 Ubuntu 中的使用

linux - 如何让 Jenkins 脚本中的 $PATH 与运行 Jenkins 的用户下的 $PATH 相匹配?

linux - 使用 --device 标志时,在主机上创建的新设备节点不会反射(reflect)在 Docker 容器中

PHP 检查符号链接(symbolic link)文件的年龄

shell - 检查文件是否是 Linux 上的链接

java - 来自 FileOutputStream.close() 的设备的不适当 ioctl