UNIX / Linux не має тієї самої ранньої спадщини DOS / CP / M, що і Windows. Тож розширення, як правило, менш значні для більшості утиліт та інструментів UNIX.
Зазвичай я використовую лише середовище командного рядка. Розширення в такому середовищі під Linux не є дуже важливими, крім зручності для оператора чи користувача. (У мене недостатньо досвіду роботи з KDE або GNOME, щоб знати, як їх файлові менеджери справляються з розширеннями.)
Але така зручність, як правило, важлива. Якщо config.ini
це дійсно в стандартному форматі ".ini" для Microsoft, я б дозволив розширення стояти. Звичайні старі текстові файли зазвичай не мають розширення в Linux, але це не є універсальним для всіх програм конфігураційних програм. Зазвичай програміст вирішує це.
Я думаю, що .txt корисний у Linux, якщо ви хочете підкреслити, що це НЕ файл конфігурації чи інший машиночитаний документ. Однак у розповсюдженнях джерел умовою є такі файли називати усіма кришками без розширення (тобто README, INSTALL, COPYING тощо)
Існують деякі стандарти та конвенції, але ніщо не заважає вам називати все, що завгодно, якщо ви не ділитесь речами з іншими.
У Windows іменування файлу .exe
вказує оболонці (як правило explorer.exe
), що це виконуваний файл. UNIX вкладає ці знання в дозволи файлової системи. Якщо встановлені належні x
біти (див. man chmod
), Він визнається виконуваним оболонками та функціями ядра (я вважаю). Крім цього, Linux байдуже, більшість оболонок не піклується, і більшість програм шукають у файлі, щоб знайти його "тип".
Звичайно, є приємна команда, file
яка може проаналізувати файл і розповісти, що це таке, з певною мірою визначено. Я вважаю, що якщо він не може співставити дані у файлі з будь-яким відомим типом, і якщо він містить лише друковані символи ASCII / Unicode, то він передбачає його текстовий файл.
@Bruce Ediger нижче абсолютно коректний. На рівні ядра чи файлової системи немає нічого, тобто сам Linux, який вимагає або дбає про те, що вміст файлу повинен відповідати його імені або програмі, яка повинна його розуміти. Це не означає, що неможливо створити утиліту оболонки чи запускаючу програму, щоб робити речі на основі імені файлу.