2013-10-26 2 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 

Как это возможно? что произойдет, если я изложу какой-нибудь из них, в какой директории я попаду?

Существует еще один способ взглянуть на него, когда я сделал ls -liF, перечисленные здесь каталоги придумали различные иноды. и не были даже символическими ссылками или чем-то еще. ???

Пожалуйста, объясните это мне ??

+0

Вы проверили свою файловую систему? Чтобы узнать о поведении компакт-диска, вы можете вставить его и проверить номер inode. чтобы увидеть, где вы оказались. – user2859193

+0

что, если вы 'ls -B'? Это будет печатать непечатаемые символы –

+0

Даже если я вхожу в один из каталогов и вычисляю inode каталога и знаю, в каком каталоге i m, но у меня нет содержимого второго каталога. @ user2859193 – VJ22

ответ

-1

В каждой паре одно имя каталога, вероятно, содержит непечатаемый символ. Попробуйте использовать mv, чтобы переместить оба их в уникальные имена файлов. Один из них нельзя назвать полностью, а затем вы можете указать его с помощью шаблона.

Вы должны иметь возможность переименовать один, просто набрав имя файла, чтобы вы могли временно переименовать его с помощью «mv». Другой, который вы, вероятно, хотите избавиться, будет тем, который вам нужно указать по шаблону. Попробуй это.

+0

, даже если я пишу «mv usr xyz». Как willl я знаю, какие usr выбирает система .... @sdanzig – VJ22

1

ls -b, если вы обнаружили какие-либо «\», добавленные после ваших папок или файлов, которые должны быть пробелами.

1

Вы должны использовать все эти команды, чтобы проверить, что различные символы (включая скрытые) в вашем имени файла:

printf "[%s]\n" * 

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

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

Последний один также сбрасывают каждый дамп каждый символ в восьмеричной и ASCII.

Смежные вопросы