Малі імена файлів Linux


11

Оскільки я знаходжу, що UpperCase справді читається для розділення слів першої літери у довгих складних назвах, я схильний давати деякі мої імена файлів Linux з деякими UpperCase. Переважно виконувані файли, деякі каталоги теж.

Але минуло кілька тижнів, я зауважив, що величезна більшість усіх імен файлів у моєму дистрибутиві Linux - це малі літери ...

Тому я зробив деякий гугл перед миттю, і знайшов цю статтю: Імена файлів Linux , в яких зазначається, що завжди слід використовувати малі регістри у світі Unix,

... Краще завжди використовувати малі регістри в Linux, якщо ви не можете придумати вагомий привід використовувати великі регістри або змішані регістри. Більшість людей Unix користуються малими літерами майже виключно, але окрім цієї "культурної" точки, є ще одна вагома причина використовувати малі регістри. Якщо ви надаєте спільний доступ або використовуєте файлову систему DOS з Linux, DOS не зможе побачити файли з великими або великими іменами файлів ...

Це справді так?


2
так, це дійсно так. люди, схожі, не можуть знайти ключ зміни. але насправді немає нічого виправданого для підтримки правил проти змішаного випадку. це просто зухвала.
Росс Паттерсон

Відповіді:


20

Програмісти відхиляються від використання клавіші shift (і блокування шапок - це те, що багато хто намагається усунути ). Продовжуючи з місця, де написано "завжди використовуйте малі регістри" ...

Найкраще завжди використовувати малі регістри в Linux, якщо ви не можете придумати вагомий привід використовувати великі регістри або змішані регістри. Більшість людей Unix користуються малими літерами майже виключно, але окрім цієї "культурної" точки , є ще одна вагома причина використовувати малі регістри. Якщо ви надаєте спільний доступ або використовуєте файлову систему DOS з Linux, DOS не зможе побачити файли з великими іменними файлами чи великими регістрами.

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

Файли на вашій машині Linux є вашими. Робіть з ними так, як вам подобається, так, щоб мати сенс для вас.

Я виявив, що умова використання верхнього регістру для провідної літери каталогу полегшує мені орієнтування в них. Виконання 'ls' у каталозі автоматично ставить усі каталоги у верхню частину списку та відокремлює каталоги від файлів, що полегшує їх перегляд та перехід до них. Але знову це для мене - робіть те, що працює для вас .


1
DOS? Дійсно? Це вже не актуально.
Максим Мінімус

3
@ mh01 Я вважав, що EBCDIC не був актуальним до минулого року, мені довелося мати справу з системою, яка надсилала цей набір символів, а не ascii. Я бачив системи OpenVMS навколо (останній реліз був лише 2 роки тому, непогано для чогось, що вийшов перший реліз 35 років тому) ... і його файлова система все ще не чутлива. Мабуть, у Mac є чутливі до регістру і регістри (а пара і Photoshop не люблять файлові системи, що враховують регістри на mac ). Справа нечутлива жива.

3
Не кажучи вже про величезну більшість настільних машин, що працюють з нечутливими до регістру файловими системами Windows.
Кіліан Фот

Хороший момент щодо нечутливості регістру до збереження регістру, але якщо у вас різні файли, які відрізняються лише корпусом імені файлу, я б подумав, що є інші проблеми, ніж перенесення до файлових систем, що не чутливі до регістру, які можуть викликати плутанину. ..
CVn

9

"Споживчі орієнтовані на споживача" (що б це не означало) звичаї зазвичай використовують Title Case навіть у світі Unix. Частіше це трапляється, коли у відповідній організації є люди, чия ціла робота - думати про досвід користувачів.

Наприклад, мій робочий стіл Ubuntu має папки в домашній директорії під назвою Downloads, Pictures, Documentsі т.д. Те ж саме для моєї OSX ноутбук (так, він вважає, що це BSD). Хоча варто зазначити, що Apple іде так далеко, щоб назвати власні системні каталоги з заголовком (наприклад /Library/Audio/Apple Loops/), зберігаючи "класичну" базову файлову систему всі малі регістри (наприклад /usr/libexec/dtrace/). Але жоден дистрибутив Linux Я не знаю, що використовує заголовок заголовка в будь-якому місці, за межами домашнього каталогу користувача.

Імовірно, відмінність полягає в тому, що каталоги, на які ви очікуєте, що люди насправді подивляться, - це заголовки, тоді як місця, на які ви очікуєте, що люди не збираються досліджувати, - це малі літери. Подібна відмінність, схоже, грає з Ubuntu; лише каталоги, які, як очікується, відображатимуться у списку папок у вікні Nautilus, є заголовком, тоді як імена папок, які, як очікується, будуть введені (не переглянуті), все нижчі.

І ось суть цього; Заголовок або великі регістри складніше набрати. Але заголовок краще виглядає в списку або наборі папок з плиткою. Отже, вибирайте відповідно. Люди з Linux часто працюють у командному рядку навіть для мирських завдань, тому малі регістри мають більше сенсу.


Хороший момент, але я хотів би додати, що пробіли або підкреслення легше читати, ніж верблюд або випадок Паскаля
jk.

4

Про аргументі DOS: файлові системи DOS / Windows , дійсно побачити ваші файли незалежно від регістру, і вони можуть звертатися з ними добре. Дуже старі файлові системи DOS не підтримують нічого, крім 8,3 імені файлів, але навіть FAT32 може обробляти довгі імена файлів. Єдина проблема полягає в тому, що, хоча файлові системи DOS / Windows зберігають регістр (у більшості випадків; деякі смаки відкидають регістр файлів файлів, що входять у формат 8.3), вони не залежать від регістру, коли мова йде про порівняння імен файлів; Windows вважає "foobar", "Foobar", "FOOBAR" і "fOObAr" однаковим іменем файлу.

Однак, це здебільшого культурна річ, але для цього є певна передумова. Причиною, чому ця конкретна конвенція застрягла у світі UNIX, є зручність використання . Тут є два основні аргументи:

  • Відокремлення слів за допомогою буквених літер краще для зручності читання, ніж використання корпусу для позначення меж слова. IfYouDonTBelieveMe, CompareThisSentenceWithTrePreviousOneAndTellMeWhichIsEasierToRead. (І звичайно, невидима паралельна загальнодоступність).
  • Малі літери мають більш різноманітні форми, ніж великі, що в свою чергу призводить до більш різноманітних форм слів. ЦЕ ТЕКСТ ЗАПИСАЄ В МИСЛО ЛЕГКІШЕ ДЛЯ ЧИТАННЯ, ЩО ТЕКСТ ПИСЬМО В ПОВЕРХНЕННІ.

Ці спостереження легко перевірити, і вони навіть були підтверджені науковими дослідженнями.

Крім того, культура UNIX надає перевагу конвенціям, які не тільки легко читаються, але й легко записуються; Хакери UNIX, як правило, люди, які проводять багато часу за допомогою своєї клавіатури, і багато хто використовує або офіційну систему набору сенсорного тексту, або якусь особисту похідну, підроблену для програмування. Концепція перебування на домашньому ряду важлива в будь-якому випадку, тому людям подобається уникати використання клавіш, до яких неможливо дістатися з домашнього ряду, особливо клавіш зсуву.

Якщо поєднувати ці три обмеження, існує лише одна розумна умова, яка є all-lowercase-with-dashes.


3
@StephaneRolland: дотримуватися послідовного називання таких різних речей, як ідентифікатор у різних мовах програмування та назви файлів, не є розумним. Будьте послідовними у кожній царині та дотримуйтесь встановлених конвенцій, але не намагайтеся знайти одну конвенцію, яка б правила їх усіх. Змінні Java не є іменами таблиці SQL, і вони також не називають іменами.
tdammers

@StephaneRolland - я вважаю, що потрібне вам слово snake_case .
Камберлен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.