Есть ли недопустимые символы для имени файла ext3?

9

Какие символы недопустимы для имени файла ext3? Я полагаю , что по крайней мере , /это неверный символ и , возможно \0. Где-то есть официальный список?

Я не совсем уверен, где искать эту информацию, поэтому, пожалуйста, скажите мне, где вы ее нашли.

User1
источник
Интересное, хотя и продолжительное, чтение: Исправление имен файлов Unix / Linux / POSIX .
Приостановлено до дальнейшего уведомления.

Ответы:

9

Только эти двое.

Со страницы википедии на ext3 :

Допустимые символы в именах файлов - все байты, кроме NULL и '/'

отметка
источник
Ах, я не видел статистику на странице википедии. Спасибо!
User1
3

/ кажется разрешенным, по крайней мере, для ext3 (предположительно во всех, как минимум, ext, ext2 и ext3, вероятно, также ext4) - просто попробуйте это:

е = «тест / файл»; echo "Test: '$ {f}'"
для c в контакте ll rm; сделать
eval "$ {c} '$ {f}'"
сделанный

Это создаст "test / file", меня тоже удивило ... Он создаст его, покажет с помощью команды ls и, наконец, удалит с помощью rm

Вы можете напечатать это в одной строке в bash:

$ f = 'test / file'; для c на связи ll rm; do eval "$ {c} '$ {f}'"; сделано

Так что / кажется (bizerrely) разрешено в именах файлов - вероятно, многие инструменты могут быть перепутаны с таким, хотя ...

robsku
источник
Прикольный трюк, хотя, вероятно, опрометчивый на производственных системах :-)
voretaq7
Э-э-э ... у вас есть каталог под названием "тест"? Это будет иметь значение:touch: cannot touch 'test/file': No such file or directory
MikeyB
Хотя полезно как шутка, чтобы тянуть на своих помощников.
Магеллан
Не просто удалось создать файл с именем «test / file» - было бы интересно попробовать его с существующим каталогом с именем test ... Это может даже не доставить проблем, в конце концов, / в конце имени каталога не совсем часть его названия ... Так что я могу представить, что они на самом деле работают вместе ... Хотя это будет выглядеть странно ... Или вы имели в виду, что на самом деле пытались это сделать? :)
Робску,