Shell 在linux中查找叶目录
似乎不起作用,并产生空输出,可能是因为我试图在NTFS格式化光盘上执行此操作?在我的家庭卷上,它起作用了 而且,有趣的是,似乎所有类型的dir都只输出Shell 在linux中查找叶目录,shell,unix,find,posix,Shell,Unix,Find,Posix,似乎不起作用,并产生空输出,可能是因为我试图在NTFS格式化光盘上执行此操作?在我的家庭卷上,它起作用了 而且,有趣的是,似乎所有类型的dir都只输出到ls-dA和find-类型d-链接1输出所有目录 Linux上的NTFS刚刚被破坏吗?您的命令find-键入d-links 2查找具有两个硬链接的目录 在Windows上,使用CreateHardLink函数创建硬链接。此外,该函数不支持目录,只支持文件: 在现有文件和新文件之间建立硬链接。这 函数仅在NTFS文件系统上受支持,并且仅适用于 文件
到ls-dA
和find-类型d-链接1
输出所有目录
Linux上的NTFS刚刚被破坏吗?您的命令
find-键入d-links 2
查找具有两个硬链接的目录
在Windows上,使用CreateHardLink函数创建硬链接。此外,该函数不支持目录,只支持文件:
在现有文件和新文件之间建立硬链接。这
函数仅在NTFS文件系统上受支持,并且仅适用于
文件,而不是目录
换句话说,找到的原因-类型d-links 2
在NTFS上不返回任何目录,因为NTFS上没有硬链接目录。如果你想要硬链接目录,你需要一个不同的文件系统
因此,如果尝试在NTFS文件系统上硬链接目录,ln
将报告错误,这并不奇怪:
find . -type d -links 2
NTFS支持硬链接文件和
find-键入f-links 2将为您提供一个包含两个链接的文件列表。我实际上发现了一个令人讨厌的替代方法,以防有人在linux中的NTFS分区遇到同样的问题:
找到-类型d-exec sh-c'test$(查找“$0”-maxdepth 1-类型d|wc-l)-eq 1'{}\-执行你想要的任何事情{}
这是因为在叶目录中,它返回的唯一目录是“.”
$ ln dir1 dir2
ln: ‘dir1’: hard link not allowed for directory