Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在linux中查找叶目录_Shell_Unix_Find_Posix - Fatal编程技术网

Shell 在linux中查找叶目录

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文件系统上受支持,并且仅适用于 文件

似乎不起作用,并产生空输出,可能是因为我试图在NTFS格式化光盘上执行此操作?在我的家庭卷上,它起作用了

而且,有趣的是,似乎所有类型的dir都只输出
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