UNIX / Linux non ha la stessa eredità DOS / CP / M iniziale di Windows. Quindi le estensioni sono generalmente meno significative per la maggior parte delle utility e degli strumenti UNIX.
Di solito uso un ambiente solo da riga di comando. Le estensioni in un tale ambiente sotto Linux non sono davvero significative se non per comodità dell'operatore o dell'utente. (Non ho abbastanza esperienza con KDE o GNOME per sapere come i loro file manager gestiscono le estensioni.)
Ma tale praticità è di solito importante. Se config.ini
è davvero in formato ".ini" standard Microsoft, lascerei stare l'estensione. I normali file di testo vecchi di solito non hanno estensione in Linux, ma questo non è universale per tutti i file di configurazione dei programmi. Il programmatore di solito lo decide.
Penso che ".txt" sia utile sotto Linux se vuoi sottolineare che NON è un file di configurazione o un altro documento leggibile dalla macchina. Tuttavia, nelle distribuzioni dei sorgenti, la convenzione è di nominare tali file in maiuscolo senza estensione (ovvero README, INSTALL, COPYING, ecc.)
Ci sono alcuni standard e convenzioni, ma nulla ti impedisce di nominare qualsiasi cosa tu voglia, a meno che tu non stia condividendo le cose con gli altri.
In Windows, la denominazione di un file .exe
indica alla shell (di solito explorer.exe
) che si tratta di un file eseguibile. UNIX inserisce questa conoscenza nelle autorizzazioni del file system. Se vengono impostati i x
bit corretti (vedi man chmod
), viene riconosciuto come eseguibile da shell e funzioni del kernel (credo). Oltre a ciò, a Linux non importa, alla maggior parte delle shell non importa, e la maggior parte dei programmi cerca nel file per trovare il "tipo".
Certo, c'è il bel comando file
che può analizzare il file e dirti di cosa si tratta con un certo grado di certezza. Credo che se non può corrispondere ai dati nel file con alcun tipo noto e se contiene solo caratteri ASCII / Unicode stampabili, presuppone che sia un file di testo.
@Bruce Ediger di seguito è assolutamente corretto. Non c'è nulla a livello di kernel o filesystem, cioè Linux stesso, che impone o si preoccupi che il contenuto di un file debba corrispondere al suo nome, o al programma che dovrebbe capirlo. Ciò non significa che non sia possibile creare un'utilità shell o launcher per fare cose in base al nome del file.