Я столкнулся с очень своеобразной ошибкой:
# 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 должен показать вам все остальные "забавные" символы, составляющие имя файла :)