UNIX / Linux n'a pas le même héritage DOS / CP / M ancien que Windows. Les extensions sont donc généralement moins importantes pour la plupart des utilitaires et outils UNIX.
J'utilise généralement un environnement en ligne de commande uniquement. Les extensions dans un tel environnement sous Linux ne sont vraiment significatives que pour la commodité de l'opérateur ou de l'utilisateur. (Je n'ai pas assez d'expérience avec KDE ou GNOME pour savoir comment leurs gestionnaires de fichiers traitent les extensions.)
Mais une telle commodité est généralement importante. Si config.ini
est vraiment au format ".ini" standard de Microsoft, je laisserais l'extension se tenir. Les anciens fichiers texte simples ne portent généralement pas d'extension sous Linux, mais ce n'est pas universel pour tous les fichiers de configuration des programmes. Le programmeur décide généralement de cela.
Je pense que ".txt" est utile sous Linux si vous voulez souligner qu'il ne s'agit PAS d'un fichier de configuration ou d'un autre document lisible par machine. Cependant, dans les distributions sources, la convention est de nommer ces fichiers tous les majuscules sans extension (c'est-à-dire README, INSTALL, COPYING, etc.)
Il existe certaines normes et conventions, mais rien ne vous empêche de nommer quoi que ce soit, sauf si vous partagez des choses avec d'autres.
Sous Windows, nommer un fichier .exe
indique au shell (généralement explorer.exe
) qu'il s'agit d'un fichier exécutable. UNIX intègre ces connaissances dans les autorisations du système de fichiers. Si les bons x
bits (voir man chmod
) sont définis, il est reconnu comme exécutable par les shells et les fonctions du noyau (je crois). Au-delà de cela, Linux s'en fiche, la plupart des shells s'en moquent, et la plupart des programmes regardent dans le fichier pour trouver son "type".
Bien sûr, il y a la belle commande file
qui peut analyser le fichier et vous dire avec certitude ce que c'est. Je crois que s'il ne peut pas faire correspondre les données du fichier avec n'importe quel type connu, et s'il ne contient que des caractères ASCII / Unicode imprimables, il suppose qu'il s'agit d'un fichier texte.
@Bruce Ediger ci-dessous est absolument correct. Il n'y a rien au niveau du noyau ou du système de fichiers, c'est-à-dire Linux lui-même, imposant ou prenant en charge que le contenu d'un fichier doit correspondre à son nom, ou au programme qui est censé le comprendre. Cela ne signifie pas qu'il n'est pas possible de créer un utilitaire shell ou lanceur pour faire des choses en fonction du nom de fichier.