2013-10-26 112 views
2

虽然我是经历在UNIX系统中,我发现五,两个目录具有相同路径上列出的,当我做了ls -DlUNIX:在同一路径上具有相同名称的两个目录?

这里名称相同的观点,为什么我说同名五,两个目录。 ...

//11/# ls -Dl 

total 553 

drwxrwxr-x 2 root  root   12288 Dec 20 2010 bin 

drwxrwxr-x 2 root  root   16384 Sep 28 2010 bin 

drwxrwxr-x 11 root  root   4096 Oct 25 06:49 etc 

drwxrwxr-x 11 root  root   8192 May 17 07:40 etc 

drwxrwxr-x 3 root  root   4096 Sep 28 2010 qnx4 

drwxrwxr-x 4 root  root   4096 Jul 26 2010 qnx4 

drwxrwxr-- 4 root  root   4096 Sep 28 2010 registry 

drwxrwxr-x 4 root  root   4096 Aug 31 2008 registry 

drwxrwxr-x 16 root  root   4096 Sep 28 2010 usr 

drwxrwxr-x 17 root  root   4096 May 27 03:49 usr 

这怎么可能?如果我cd其中任何一个,哪个目录我最终会在?

还有就是看着它,当我这样做ls -liF这里列出的目录另一种方式提出了不同的inode。甚至没有符号链接或任何东西。

请给我讲解一下?

+0

你有没有检查过你的文件系统?要找出cd的行为,您可以cd并检查inode号。看你最终结束了。 – user2859193

+0

如果你喜欢B吗?这将打印非打印字符 –

+0

即使我最终进入目录的一个,并找出该目录的索引节点,知道读音字哪个目录中,还是我没有第二个目录的内容。 @ user2859193 – VJ22

回答

-1

在每一对中,一个目录名可能包含一个不可打印的字符。尝试使用mv将它们都移动到唯一的文件名。一个你不应该能够完全命名,然后你可以使用通配符来指定它。

您应该能够通过只输入文件名重命名一个,所以你可以用“MV”临时重命名。另一个,你可能想要摆脱,将是你需要通过通配符指定的。试试看。

+0

即使我写“mv usr xyz”如何知道哪个usr系统正在选择.... @sdanzig – VJ22

1

使用ls -b,如果你发现任何“\”您的文件夹或文件后追加,这应该是空格。

1

你应该使用所有这些命令检查哪些不同的字符(包括隐藏的)在你的文件名:

printf "[%s]\n" * 

printf "%s\n" * | cat -vte 

printf "%s\n" * | od -bc 

最后一个也将倾每个转储八进制和ASCII每个字符。

相关问题