LINUX.ORG.RU

Файловая система: Регистро-зависимая vs Регистро-независимая

 , osx, ,


0

1

Добрый день!

В одном из топиков была поднята «данная тема».
Поделитесь мнением: что/как/для чего/лучше/хуже/правильно/неправильно итд

Можно и просто побалагурить на «тему».

спасибо

p.s.
- поднятая тема в топике была: правильно / неправильно (т.е. this - это единственно правильно потому-то и потому-то или наоборот... или просто мысли на тему)

мне-то все давно понятно.
я завел эту тему, что-бы продолжить обсуждение тут а не в «офтоп-теме».
т.е то, что вы «тут обьясняете», вы объясняете, по сути, не мне, а «сообществу»

★★★★★

Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от Loki13

Защита от дурака, слышал такое понятие?

а может быть под сраку таких красавчиков (в смысле, дураков)?
сказано-же?

Нужно делать так, как нужно...

чего тут непонятного?

вы попросили жену приготовить вам манную кашу, а она вам забабахала ненавистную вам «офсянку, сЭр», а машина/плита

помогала человеку

системное программирование - это, пожалуй, посерьезнее каши будет? нет? тут и да ядерной войны, прости господи, не далеко от «такого человека», как «оно» там расшифрует что от «нее» хотели... :о)

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

НО! разговор идет от «файловый системах» - поэтому, увольте, тут поступать нунжно правильно единственным образом, без разночтений! только так и ни как иначе! :о)

sunjob ★★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 6)
Ответ на: комментарий от sunjob

системное программирование - это, пожалуй, посерьезнее каши будет

Системных программистов по пальцам, а вот среди пользователей могут быть совершенно разные особи. И как раз системные программисты пишущие ФС, могли бы облегчить жизнь тем у кого icq ниже чем у них.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

да, ешкин коТ?! вы слышали мой аргумент?

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

sunjob ★★★★★
() автор топика
Ответ на: комментарий от Loki13

а что? сейчас по другому? в кедах - все прекрасно а в гноме - вообще все великолепно...?!!! :о)
вот и пожинаем плоды этих всех «думающих иначе» да «думающих за думающих иначе»... а вот

Нужно делать так, как нужно...

таких что-то не особо много :о)

sunjob ★★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от kaldeon

Системные решения позволяют писать корректный код, не прибегая к сложной обработке, неожиданным ошибкам и маскировке проблем.

Получается драйвер ФС должен зависеть от библиотек работы с юникодом, да ещё и ядро нужно срочно обновлять при выходе новой версии оного. Зачем?

Частный редкий случай

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

Gary ★★★★★
()
Ответ на: комментарий от kaldeon

Я не знаю греческий и немецкий,…

  • В целом не важно. Надо только понимать, что сами преобразования toUpperCase и toLowerCase не являются биекцией, зависят от локали, могут требовать словарь, могут меняться.
  • Во времена перфокарт, когда даже ASCII был слишком большим, регистронезависимость была хоть как-то оправдана.
  • Костыли и привычки из винды являются именно костылями и привычками винды.
  • Поддержка юникода сейчас является нормой, а самое простое с ней - это регистрозависимые ФС.
AlexVR ★★★★★
()
Ответ на: комментарий от kaldeon

На линуксе это работало, а в маке пришлось всё переименовать.

А что, на маке нормальных файловых систем не завезли?

P.S. Если в линуксе всё работает, то исправлять нужно ту систему, где не работает. Очевидно же.

ugoday ★★★★★
()
Ответ на: комментарий от Loki13

Тогда в кедах будет так, а в гноме по-другому. Ещё хуже.

Не хуже, а единственно правильно. Кому нужны подобные «облегчения жизни» (на деле усложнения, ну да ладно) — юзают гномокеды, кому не нужны — не юзают. ФС при этом продолжает прекрасно работать для всех, в том числе когда один и тот же человек сперва попробовал эти «вспоможители», а потом решил от них отказаться.

CrX ★★★★★
()
Ответ на: комментарий от kaldeon

На входе облегчение и вспоможение, чтоб по-проще было. А на выходе — геморрой, который нужно иметь в виду, помнить, приспосабливаться и учитывать. Никогда такого не было и вот опять.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Имя файла состоит из определённых букв в определённом порядке

Так и пытались сделать, была крайне неудобная система 8.3 (wikipedia.org), и хорошо, что в конце концов от нее избавились, пусть и не без дополнительных костылей на совместимость (например, на CD/DVD длинные имена хранились в расширениях ISO9660 – Jolinet или Rock Ridge).

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от ugoday

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

Так сейчас фарси «работает». Вот только отсутствие гласные затрудняет чтение и понимание что фарси, что церковно-славянского. Все эти тексты не самостоятельны, а лишь подпорка для памяти, содержание же передаётся изустно.

Вы забыли, что раньше тяжко было с бумагой (вообще не было) и чернилами (их тоже не было), потому письменность экономила место на носителе (бересте, глиняной табличке). Благодаря этому мы не знаем, как правильно произносить некоторые дошедшие до нас старослявянские слова, например Велес или Волос, или Велос или Волес.

mister_VA ★★
()
Ответ на: комментарий от PeleWin

Зачем человечеству вообще нужны 2 регистра для одних и тех же букв?! Хорошо ещё не 3 регистра и не больше…

Вы будете смеяться, но для монгольского традиционного (старомонгольского) нужны 3 регистра, поскольку там различается написание буквы в начале слова, в середине и в конце. Так сделали, поскольку знаков препинания и пробелов не завезли, ибо письменность там приближали к узелковому письму и писали сверху вниз.

mister_VA ★★
()
Ответ на: комментарий от mister_VA

отсутствие гласные затрудняет чтение и понимание … церковно-славянского

У многорукого Шивы очень много рук. Но даже ему их не хватит, дабы произвести потребное количество фейспалмов.

ugoday ★★★★★
()

Имя файла - это идентификатор. Есть классическое правило именования идентификаторов - цифры,латинские буквы и знак подчеркивания. Почему оно перестало с некоторых пор соблюдаться именно в файловых системах - не знаю. А соблюдаться оно перестало с момента внедрения микрософтом win95. В досе что-то никому не приходило в голову называть файлы по-русски.

watchcat382
()

Файлы называют люди и для людей.

Людям не важна разница между прописными и строчными буквами.

Следовательно, файловая система не должна различать регистр букв.

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

pasquale
()
Ответ на: комментарий от watchcat382

Есть классическое правило именования идентификаторов - цифры,латинские буквы и знак подчеркивания.

Нету такого правила. Есть исторически сложившийся набор костылей, призванный минимизировать боль от использования убогих и неполноценных систем. Всё это имело смысл в 70-х–80-х, потом перестало. После чего и люди перестали себя так ограничивать.

Analogichno ljudi perestali polzovatsa translitom. Ushla epoha! Molodej uje byt mojet i ne razberet eti pismena!

А для имён файлов есть только следующие правила: не больше определённой длинны (зависит от файловой системы), без нулевого символа и символа /. Любая последовательность байт, укладывающаяся в эти ограничения — допустимое имя файла.

ugoday ★★★★★
()
Ответ на: комментарий от pasquale

Вы пропустили всё обсуждение. А людям, так уж мозг устроен, не важно очень много чего. Даже панливьрая псведооалельттнось букв оипцнлоаьна. Гнавлое, чтоб паврея и плядсеоня были на свёом метсе.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Конечно. Не весь софт корректно поддерживает символы за пределами 32..126.

Более того, даже тот, что поддерживает, иногда имеет всякие баги - например у меня как-то не получалось включать русскую раскладку на подключённой через remmina vnc удалённой системе. Потом я это поправил (в чём была проблема не помню и как исправил тоже).

А ещё, даже там где с печатанием кириллицы проблем нет, иногда есть привычка у участников беседы, которые латиницей печатают кратно быстрее и поэтому пользуются ей. Я тоже так делал раньше например, но не на лоре.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от ugoday

А для имён файлов есть только следующие правила: не больше определённой длинны (зависит от файловой системы), без нулевого символа и символа /. Любая последовательность байт, укладывающаяся в эти ограничения — допустимое имя файла.

Вы так говорите, как будто это истина, данная свыше. А почему бы не ограничить имена файлов только некоторым допустимым набором символов? Всё-таки имя файла обычно довольно короткое и вряд ли многие пользователи будут переживать, что не удалось том «Войны и Мира» (вместе со знаками препинания и прочим форматированием) запихнуть в название файла. А если имя файла короткое - роль верхнего регистра частично теряется: уже не нужно искать, где начинается предложение (я вообще ни разу в жизни не видел имён файлов, состоящих из нескольких предложений).

В то же время пробелы в названиях файлов используются постоянно, от них я откзываться не предлагаю.

PeleWin
()
Ответ на: комментарий от kaldeon

По теме: https://dwheeler.com/essays/fixing-unix-linux-filenames.html

чет старовато:

(C) Copyright 2009 David A. Wheeler.

в то время автор даже не подозревал, что в имена файлов начнут эмодзи лепить…

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

Еще очередной пример:

Нормальные люди, управляют своими файлами не путем задействования восклицательных знаков, капслока и эмодзи в именах файлов, а путем раскидывания файлов по директориям и проставления меток, а если посмотреть что творится в Linux, то:

  • метки толком умеет разве что Dolphin в KDE
  • Nautilus в Gnome метки не умеет, XFCE тоже не умеет, насчет остального не в курсе, но наверняка там все понятно
  • Ubuntu по-умолчанию устанавливается без поддержки xattr, т.е. не ставится ни нужное ПО, ни файловые системы не монтируются с нужными флагами
  • смотришь на утилиты: чтобы cp при копировании сохраняла расширенные атрибуты, нужно ей об этом специально говорить, ровно как и со всем остальным - какого хрена?

претендуем 2 десятка лет на десктоп, однако работа с файлами сильно далеко от MSDOS не ушла, но зато можно переносы строк в названия файлов вставлять - свобода такая свобода.

borisych ★★★★★
()
Ответ на: комментарий от PeleWin

А почему бы не ограничить имена файлов только некоторым допустимым набором символов?

А почему бы штаны не начать надевать через голову?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Ситуация же, когда программа до последнего пытается как-нибудь выполниться приведёт только к тому, что и данные запортит и хрен найдёшь на какой стадии начались проблемы.

Это теперь стандартная ситуация, называется AI агент.

anonymous
()
Ответ на: комментарий от borisych

Думаю дело в том, что если иерархический подход к данным не работает, то люди сразу иду в SQL базы данных, kv-хранилища и т.п. Но иерархические файловые системы работают в очень большом количестве случаев. Вот, метки и расширенные аттрибуты и застряли между файловыми системами с базами данных. Идея вроде б и интересная, но не прижилась.

ugoday ★★★★★
()
Ответ на: комментарий от borisych

Какие ещё метки?

смотришь на утилиты: чтобы cp при копировании сохраняла расширенные атрибуты, нужно ей об этом специально говорить, ровно как и со всем остальным - какого хрена?

Потому что xattr ненужно и при этом ещё и некроссплатформенно. Я тоже везде игнорирую их потенциальное наличие, мало того засорять код поддержкой какой-то ерунды, так ещё #ifdef-ами обкладывать, от чего код начинает выглядеть ещё хуже.

претендуем 2 десятка лет на десктоп, однако работа с файлами сильно далеко от MSDOS не ушла, но зато можно переносы строк в названия файлов вставлять - свобода такая свобода.

Если тебе нужна продвинутая каталогизация файлов - для этого можно установить какой-то специализированный под это софт. Файловая система это абстракция нижнего уровня для юзерспейса, её дело - хранить данные, совершенно не следует от неё ожидать нативной пригодности для высокоуровневых задач.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от mister_VA

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

anonymous
()
Ответ на: комментарий от borisych

в то время автор даже не подозревал, что в имена файлов начнут эмодзи лепить…

Они в обсуждаемой там теме ни при чём как раз, и всё что там написано - до сих пор без изменений актуально.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Они в обсуждаемой там теме ни при чём как раз, и всё что там написано - до сих пор без изменений актуально.

а как же (linux.org.ru):

Файловая система должна быть двоично-безопасная. Есть символ с кодом 0, который завершает Си-строки в т.ч. в ядре, и есть символ ‘/’ который разделитель частей пути - эти байты в именах файлов запрещены, всё остальное разрешено и никак не должно интерпретироваться драйвером файловой системы. Имя файла - абстрактная байтовая последовательность.

?

Использовать национальный алфавит в названиях файлов - вполне себе объективная потребность. Использовать служебные символы, все что за пределами национальных алфавитов, а также различать регистр символов - совершенно не имеет никакого смысла.

Какие ещё метки?

File tagging in Dolphin

borisych ★★★★★
()
Ответ на: комментарий от borisych

а как же (linux.org.ru)

Так то что по ссылке - проблемы шелла и командной строки некоторых утилит, а не файловой системы, и эти проблемы никуда не делись. Там действительно проблемы с обработкой пробелов, переводов строки и начальных дефисов. Со смайликами - ни у кого проблем нет. С национальными алфавитами - тоже, если только никто не пытается регистронезависимость устраивать.

firkax ★★★★★
()
Ответ на: комментарий от anonymous

порты игр с Windows не запускаются, потому что пытаются открыть *.MAP, а есть только *.map

Делается раздел под вайнопомойку в ext4 с опцией поддержки utf8 12.1. Далее на корень этого раздела прописывается команда chattr +F. И всё.

ChocoRobo
()
Последнее исправление: ChocoRobo (всего исправлений: 1)
Ответ на: комментарий от unixnik

Пфф, что за глупый ответ? :о) мы обсуждаем тут немного «другое». хотите - подключайтесь и аргументируйте «умными ответами» :о)

sunjob ★★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)