查找具有特定名称的文件夹,并且没有指向它们的符号链接

时间:2010-04-03 11:20:14

标签: linux shell

我正在尝试在linux下编写一个shell脚本,它列出了所有具有特定名称的文件夹(递归)和指向它的 no 符号链接。

例如,我有:

/home/htdocs/cust1/typo3_src-4.2.11
/home/htdocs/cust2/typo3_src-4.2.12
/home/htdocs/cust3/typo3_src-4.2.12

现在我想浏览/ home / htdocs的所有子目录,找到那些从某处找不到的文件夹typo3_ *。

应该可以使用shellcript或命令,但我不知道如何。

谢谢你的帮助

的Stefan

1 个答案:

答案 0 :(得分:1)

我认为如果在文件节点中存在指向此文件的符号链接,则不会存储任何常见文件系统,因此您必须扫描所有其他文件以查看它是否是此文件的符号链接。如果您不将搜索深度限制在某个级别,则可能需要非常长时间。例如,如果您想在/home/htdocs中执行该搜索,则可能会执行以下操作:

# find specified folders:
find /home/htdocs -name 'typo3_*' -type d | while read folder; do
    # list all symlinks pointing to $folder
    find -L /home/htdocs -samefile "$folder"|grep -v "$folder\$"
done