我正在尝试删除一组目录,但不包括正在使用的目录和symlink ed到其他目录的目录。

确定给定目录是否被symlink编码的最有效方法是什么?

我已经尝试过os.stat(dir).mt_nlink,但是即使对于我想要删除的目录,它也会返回3

编辑:

symlinked表示这个目录是某些符号链接(symbolic link)的目标。

最佳答案

没有简单的方法来确定其他人是否已链接到给定的“硬”目录。您只能检查给定目录是否是到另一个目录的符号链接(symbolic link)。

这意味着您需要遍历整个目录结构,查找符号链接(symbolic link),然后检查它们是否指向相关目录。

符号链接(symbolic link)是一个特殊的文件,它指向目录结构中某个位置的另一个文件/目录。符号链接(symbolic link)也可以指向其他文件系统。创建符号链接(symbolic link)不会更改目标文件/文件夹的 inode (与硬链接(hard link)相反),因此您无法仅通过链接本身来查看目标文件。

10-04 12:42
查看更多