unix – 如何找到圆形符号链接?

前端之家收集整理的这篇文章主要介绍了unix – 如何找到圆形符号链接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用HP-UX系统,我想查找是否有任何循环符号链接.

到目前为止我正在使用命令:

ls -lrt  `find ./ -follow -type l`

但它只在当前目录上执行ls -lrt作为结果.

我应该使用什么命令来查找系统中的所有循环符号链接

GNU find的manpage说所有POSIX发现都应该检测文件系统循环并在这些情况下发出错误消息,我已经测试过了
find . -follow -printf ""

在GNU查找,它能够找到形式的循环./a – > ./b和./b – > ./a打印错误

find: `./a': Too many levels of symbolic links
find: `./b': Too many levels of symbolic links

(这也适用于a-> b-> c-> a)

同样,形式的循环./foo/x – > ..和./foo/a – > ./bar ./bar/b – > ./foo打印错误

find: File system loop detected; `./foo/a/b' is part of the same file system loop as `./foo'.
find: File system loop detected; `./bar/b/a' is part of the same file system loop as `./bar'.
find: File system loop detected; `./foo/x' is part of the same file system loop as `.'.

如果你想对输出做一些事情而不是读它,你需要将它从stderr重定向到stdout并将它传递给一些可以解析错误信息的脚本.

猜你在找的Bash相关文章