LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :

Вопрос старый.

... но до настоящего времени не звучавший ;-)

Что с этим именем будет «не так»? Ядро его будет неправильно обрабатывать? Или «кто»?

До недавнего времени (до введения поддержки регистронезависимости в нативные ФС) ядру было глубоко фиолетово, что там в нативной ФС в имени, достаточно было знать, что там последовательность байт, завершающаяся нулём и не содержащая внутри '/' и \0, что прочитало, то и отдало, что дали, то и записало. Как эту последовательность проинтерпретирует вызывающий юзерспейс — его личное дело.

Как будет интерпретировать юзерспейс, можете поисследовать сами, тем более, что создавать кривые с точки зрения юзерспейса имена не запрещено.

$ echo $LANG
ru_RU.utf8

$ mkdir test; cd test
$ touch $'\xc1'   # "а" в koi8-r

$ /bin/ls
?

$ /bin/ls -b   # оно же --quoting-style=c
\301

$ /bin/ls --quoting-style=literal | iconv -f koi8-r
а

$ cd ..; rm -r test

В 'man ls' можно почитать про другие варианты квотирования «кривых» имён (см. --quoting-style=).

Исправление bormant, :

Вопрос старый.

... но до настоящего времени не звучавший ;-)

Что с этим именем будет «не так»? Ядро его будет неправильно обрабатывать? Или «кто»?

До недавнего времени (до введения поддержки регистронезависимости в нативные ФС) ядру было глубоко фиолетово, что там в нативной ФС в имени, достаточно было знать, что там последовательность байт, завершающаяся нулём и не содержащая внутри '/' и \0, что прочитало, то и отдало, что дали, то и записало. Как эту последовательность проинтерпретирует вызывающий юзерспейс — его личное дело.

Как будет интерпретировать юзерспейс, можете поисследовать сами, тем более, что создавать кривые с точки зрения юзерспейса имена не запрещено.

$ echo $LANG
ru_RU.utf8

$ mkdir test; cd test
$ touch $'\xc1'

$ /bin/ls
?

$ /bin/ls -b
\301

$ /bin/ls --quoting-style=literal | iconv -f koi8-r
а

$ cd ..; rm -r test

В 'man ls' можно почитать про другие варианты квотирования «кривых» имён (см. --quoting-style=).

Исходная версия bormant, :

Вопрос старый.

... но до настоящего времени не звучавший ;-)

Что с этим именем будет «не так»? Ядро его будет неправильно обрабатывать? Или «кто»?

До недавнего времени (до введения поддержки регистронезависимости в нативные ФС) ядру было глубоко фиолетово, что там в нативной ФС в имени, достаточно было знать, что там последовательность байт, завершающаяся нулём и не содержащая внутри '/' и \0, что прочитало, то и отдало, что дали, то и записало. Как эту последовательность проинтерпретирует вызывающий юзерспейс — его личное дело.

Как будет интерпретировать юзерспейс, можете поисследовать сами, тем более, что создавать кривые с точки зрения юзерспейса имена не запрещено.

$ echo $LANG
ru_RU.utf8

$ mkdir test; cd test
$ touch $'\xc1\

$ /bin/ls
?

$ /bin/ls -b
\301

$ /bin/ls --quoting-style=literal | iconv -f koi8-r
а

$ cd ..; rm -r test

В 'man ls' можно почитать про другие варианты квотирования «кривых» имён (см. --quoting-style=).