Назад | Перейти на главную страницу

Ошибка "Каталог не найден", хотя он присутствует в списке каталогов.

Я столкнулся с очень своеобразной ошибкой:

# ls -l
drwxr-sr-x 8 kay users 4096 Aug 17 15:07 1. Crisis Core Workflow
drwxr-sr-x 6 kay users 4096 Aug 17 15:41 2. Contact Cards or Sheets    
drwxr-sr-x 3 kay users 4096 May 12 20:31 5. Distribution Lists

# cd 5.\ Distribution\ Lists
-bash: cd: 5. Distribution Lists: No such file or directory

# cd "5. Distribution Lists"
-bash: cd: 5. Distribution Lists: No such file or directory

Проблем с пространством здесь нет, я это проверил.

cat -v показывает только непечатаемые символы, что может быть полезно, но на самом деле вам нужно od -c

ls -d 5* | od -c

ls -d гарантирует, что при перечислении каталога вы видите права доступа к каталогу, а не файлы, содержащиеся в каталоге.

например

$ mkdir "blah "
$ ls -d b* | od -c
0000000   b   l   a   h      \n
0000006

Конечный пробел, возможно, или какой-то другой безумный скрытый персонаж? Пытаться cd 5<tab>, и посмотрите, что он заполнит.

есть пара переключателей для ls, которые могут помочь.

ls -w

ls -B

ls -b

-b может быть наиболее полезным, он покажет непечатаемые символы bu, используя их escape-коды C.

хвостохранилища, о которых вы не знаете

пытаться

cd 5*

для начала, но обрезка хвостовых пространств тоже приветствуется

Вы пробовали fsck'ing раздела?

ls | cat -v должен показать вам все остальные "забавные" символы, составляющие имя файла :)