Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.
Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
...что юниксоидные ФС сделаны с регистро-зависимыми путями. В стиле идентификаторов Си.
Негласно (а может и гласно, яхз) принято писать названия программ в нижнем регистре.
Но никем и никак не возбраняется именовать софт так, как тебе вздумается.
Более того. В регистрозависимой имен больше "влезет": плюс это или минус, мне неинтересно, просто к данному отличию от FAT/NTFS банально привык-с
Здравствуйте, Shmj, Вы писали:
S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
В Unix/Linux имена файлов чувствительны к регистру (в отличие от Windows).
Т.е. document.1 и Document.1 — это два разных файла.
P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.
Здравствуйте, Shmj, Вы писали:
S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
Там вообще можно любыми юникодными символами файл назвать. Что бы ввести в заблуждение кого-угодно.
А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и
как прнято в Микрософт в разных местах эта таблица может отличаться. В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.
S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
Маленькими латинскими буквами пишут потому что (kiss) лень нажимать shift лишний раз и что бы потом не заморачиваться лишний раз, вспоминая где какой регистр.
А большие буквы используют из эстетических соображений типа Desktop, Downloads, NVIDIA, ...
Здравствуйте, kov_serg, Вы писали:
_>А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и
А ещё есть OBJ_CASE_INSENSITIVE
_>как прнято в Микрософт в разных местах эта таблица может отличаться.В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.
А шо ж ты эксплорер ко всему виндовсу приравнял ? Тогда как буханка — это ядро. Помним, знаем, скорбим.
Native API (да и почти всё Win32 API) прекрасно работает с любыми такими именами.
_>Маленькими латинскими буквами пишут потому что (kiss) лень нажимать shift лишний раз
Здравствуйте, Слава, Вы писали:
С>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.
Вот потому правильные виндовые проги используют WinAPI функцию CreateFileW а не дремучий легаси.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Vaynamond, Вы писали:
V>В Unix/Linux имена файлов чувствительны к регистру (в отличие от Windows). V>Т.е. document.1 и Document.1 — это два разных файла.
V>P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.
А не наоборот ? Внезапно может оказаться, что два файла на Linux не могут быть двумя файлами на винде.
Здравствуйте, Shmj, Вы писали:
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден?
Я думаю первым разработчикам проще было имена побайтово сравнивать, ну и понеслось. На мой взгляд — это косяк, так как Myfile и myfile иногда выстреливают.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Слава, Вы писали:
С>>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают. CC>Вот потому правильные виндовые проги используют WinAPI функцию CreateFileW а не дремучий легаси.
А в чем цимес CreateFile по сравнению с fopen ?
Если без фанатизма (прочитать в таком-то каталоге такой-то текстовый файл).
Здравствуйте, Shmj, Вы писали:
S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.
Не так. Именуют как хотят.
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
А зачем запрещать пользователю именовать файлы как ему хочется?
На самом деле отличать большие и маленькие буквы это нетривиальная задача для многих языков, даже для русского. Работа с юникодом это огромный пласт кода. Разумней вообще избегать этого на уровне файловой системы — какой массив байтов ей дали в качестве имени, такой она и использует, а что там эти байты значат — это уже пусть конкретные программы разбираются.
S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
Общепринятого соглашения нет. Часто пишут с большой буквы файлы вроде README, CHANGES и тд, хотя могут и по-другому писать.
Здравствуйте, Shmj, Вы писали:
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
При чём тут большие буквы? Просто побайтное сравнение быстрее работает, чем регистрово-независимое. К тому же, не зависит от кодировок.
Здравствуйте, Shmj, Вы писали:
S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку. S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв? S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
Какие-то слишком гуманитарные вопросы. "Буква", "маленькая", "большая", "слова", "предназначение букв", ...
Файлы и файловая система тут причем? Вне зависимости от ОС и костылей, которые нужны для этих ОС, чтобы "гуманитарии" с подобными вопросами могли пользоваться.
Здравствуйте, Shmj, Вы писали:
S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.
Есть и через точку (например, mkfs.ext2), через подчёркивание.
S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
Правильный вопрос — зачем их не допускать? Особенно когда это чревато боком (tm)
Здравствуйте, alex_mah, Вы писали:
V>>P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.
_>Таки в обратную сторону, Lin->Win, когда винда и каталоги и несколько файлов пытается в одно место записать
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, IID, Вы писали:
IID>>В Windows, в отличие от буханки, может быть и так и эдак: см. атрибут OBJ_CASE_INSENSITIVE при открытии файла.
С>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.
Так её и в CreateFile нету.
А лезть в Nt* как-то не положено, ибо Before using this function, please read Calling Internal APIs..