Про именование файлов в Unix
От: Shmj Ниоткуда  
Дата: 26.09.17 18:47
Оценка:
Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.

Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?

Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?
Re: Так нечаянно случилось...
От: Wolverrum Ниоткуда  
Дата: 26.09.17 19:19
Оценка: 2 (2)
Здравствуйте, Shmj, Вы писали:

...что юниксоидные ФС сделаны с регистро-зависимыми путями. В стиле идентификаторов Си.

Негласно (а может и гласно, яхз) принято писать названия программ в нижнем регистре.
Но никем и никак не возбраняется именовать софт так, как тебе вздумается.

Более того. В регистрозависимой имен больше "влезет": плюс это или минус, мне неинтересно, просто к данному отличию от FAT/NTFS банально привык-с
Re: Про именование файлов в Unix
От: Vaynamond Россия  
Дата: 26.09.17 19:28
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.


S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?


S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?


В Unix/Linux имена файлов чувствительны к регистру (в отличие от Windows).
Т.е. document.1 и Document.1 — это два разных файла.

P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.
Re: Про именование файлов в Unix
От: kov_serg Россия  
Дата: 26.09.17 19:37
Оценка: 2 (2) +2
Здравствуйте, Shmj, Вы писали:

S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.


S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?

Там вообще можно любыми юникодными символами файл назвать. Что бы ввести в заблуждение кого-угодно.
А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и
как прнято в Микрософт в разных местах эта таблица может отличаться. В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.

S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?

Маленькими латинскими буквами пишут потому что (kiss) лень нажимать shift лишний раз и что бы потом не заморачиваться лишний раз, вспоминая где какой регистр.
А большие буквы используют из эстетических соображений типа Desktop, Downloads, NVIDIA, ...
Re[2]: Про именование файлов в Unix
От: IID Россия  
Дата: 26.09.17 19:46
Оценка: 2 (2) +3
Здравствуйте, Vaynamond, Вы писали:

V>В Unix/Linux имена файлов чувствительны к регистру (в отличие от Windows).


В Windows, в отличие от буханки, может быть и так и эдак: см. атрибут OBJ_CASE_INSENSITIVE при открытии файла.
kalsarikännit
Re[3]: Про именование файлов в Unix
От: Слава  
Дата: 26.09.17 19:56
Оценка:
Здравствуйте, IID, Вы писали:

IID>В Windows, в отличие от буханки, может быть и так и эдак: см. атрибут OBJ_CASE_INSENSITIVE при открытии файла.


Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.
Re[2]: Про именование файлов в Unix
От: alex_mah Россия www.elsy.ru
Дата: 26.09.17 19:58
Оценка:
Здравствуйте, Vaynamond, Вы писали:

V>P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.


Таки в обратную сторону, Lin->Win, когда винда и каталоги и несколько файлов пытается в одно место записать
Re[2]: Про именование файлов в Unix
От: IID Россия  
Дата: 26.09.17 20:10
Оценка: +1
Здравствуйте, kov_serg, Вы писали:

_>А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и


А ещё есть OBJ_CASE_INSENSITIVE

_>как прнято в Микрософт в разных местах эта таблица может отличаться.В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.


А шо ж ты эксплорер ко всему виндовсу приравнял ? Тогда как буханка — это ядро. Помним, знаем, скорбим.
Native API (да и почти всё Win32 API) прекрасно работает с любыми такими именами.

_>Маленькими латинскими буквами пишут потому что (kiss) лень нажимать shift лишний раз


Буханка ленью вся пропитана, от корней до самых кончиков. Я давно это заметил.
Автор: IID
Дата: 22.02.17
kalsarikännit
Re[3]: Про именование файлов в Unix
От: kov_serg Россия  
Дата: 26.09.17 20:17
Оценка:
Здравствуйте, IID, Вы писали:
IID>Буханка ленью вся пропитана, от корней до самых кончиков. Я давно это заметил.
Автор: IID
Дата: 22.02.17

Да лень двигатель прогресса.
Re[4]: Про именование файлов в Unix
От: CreatorCray  
Дата: 26.09.17 21:57
Оценка:
Здравствуйте, Слава, Вы писали:

С>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.

Вот потому правильные виндовые проги используют WinAPI функцию CreateFileW а не дремучий легаси.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Про именование файлов в Unix
От: sambl4 Россия  
Дата: 27.09.17 05:49
Оценка:
Здравствуйте, Vaynamond, Вы писали:

V>В Unix/Linux имена файлов чувствительны к регистру (в отличие от Windows).

V>Т.е. document.1 и Document.1 — это два разных файла.

V>P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.


А не наоборот ? Внезапно может оказаться, что два файла на Linux не могут быть двумя файлами на винде.
Re: Про именование файлов в Unix
От: MTD https://github.com/mtrempoltsev
Дата: 27.09.17 07:10
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден?


Я думаю первым разработчикам проще было имена побайтово сравнивать, ну и понеслось. На мой взгляд — это косяк, так как Myfile и myfile иногда выстреливают.
Re[5]: Про именование файлов в Unix
От: Vaynamond Россия  
Дата: 27.09.17 07:48
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Слава, Вы писали:


С>>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.

CC>Вот потому правильные виндовые проги используют WinAPI функцию CreateFileW а не дремучий легаси.

А в чем цимес CreateFile по сравнению с fopen ?
Если без фанатизма (прочитать в таком-то каталоге такой-то текстовый файл).
Re[3]: Про именование файлов в Unix
От: neFormal Россия  
Дата: 27.09.17 07:51
Оценка: +1 -2
Здравствуйте, IID, Вы писали:

IID>В Windows, в отличие от буханки, может быть и так и эдак: см. атрибут OBJ_CASE_INSENSITIVE при открытии файла.


по-твоему, костыли — это нормально?
...coding for chaos...
Re: Про именование файлов в Unix
От: vsb Казахстан  
Дата: 27.09.17 08:25
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.


Не так. Именуют как хотят.

S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?


А зачем запрещать пользователю именовать файлы как ему хочется?

На самом деле отличать большие и маленькие буквы это нетривиальная задача для многих языков, даже для русского. Работа с юникодом это огромный пласт кода. Разумней вообще избегать этого на уровне файловой системы — какой массив байтов ей дали в качестве имени, такой она и использует, а что там эти байты значат — это уже пусть конкретные программы разбираются.

S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?


Общепринятого соглашения нет. Часто пишут с большой буквы файлы вроде README, CHANGES и тд, хотя могут и по-другому писать.
Re: Про именование файлов в Unix
От: vdimas Россия  
Дата: 27.09.17 08:36
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?


При чём тут большие буквы? Просто побайтное сравнение быстрее работает, чем регистрово-независимое. К тому же, не зависит от кодировок.
Re: Про именование файлов в Unix
От: fin_81  
Дата: 27.09.17 08:43
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.

S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?
S>Или же есть особые типы файлов, которые принято писать с большой буквы или только большими буквами?

Какие-то слишком гуманитарные вопросы. "Буква", "маленькая", "большая", "слова", "предназначение букв", ...
Файлы и файловая система тут причем? Вне зависимости от ОС и костылей, которые нужны для этих ОС, чтобы "гуманитарии" с подобными вопросами могли пользоваться.

Re: Про именование файлов в Unix
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 27.09.17 09:24
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Как я понял, в Unix файлы именуются маленькими буквами, разные слова пишут через черточку.


Есть и через точку (например, mkfs.ext2), через подчёркивание.

S>Вопрос: а зачем там допустимы большие буквы? Чтобы можно было написать не правильно и файл не был найден? Или для чего, какое предназначение больших букв?


Правильный вопрос — зачем их не допускать? Особенно когда это чревато боком (tm)
The God is real, unless declared integer.
Re[3]: Про именование файлов в Unix
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 27.09.17 09:25
Оценка:
Здравствуйте, alex_mah, Вы писали:

V>>P.S.: В связи с этим портация Win-исходников на Linux местами здорово подбешивает.


_>Таки в обратную сторону, Lin->Win, когда винда и каталоги и несколько файлов пытается в одно место записать


А ещё aux.cc всякие...
The God is real, unless declared integer.
Re[4]: Про именование файлов в Unix
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 27.09.17 09:30
Оценка:
Здравствуйте, Слава, Вы писали:

С>Здравствуйте, IID, Вы писали:


IID>>В Windows, в отличие от буханки, может быть и так и эдак: см. атрибут OBJ_CASE_INSENSITIVE при открытии файла.


С>Но поскольку этой опции нет в кроссплатформенном fopen, про неё гордые линуксисты не знают.


Так её и в CreateFile нету.
А лезть в Nt* как-то не положено, ибо Before using this function, please read Calling Internal APIs..
The God is real, unless declared integer.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.