As extensões de arquivo não são inúteis para distribuições Linux, elas são apenas um atalho que geralmente não é necessário. Existem algumas ferramentas que o Linux usa, o que torna as extensões de arquivos em grande parte desnecessárias. O primeiro, e talvez o mais óbvio, é o shebang ( #!
).
A shebang é uma linha no topo dos scripts executados por um shell para dizer ao shell o que deve ser usado para executá-lo. Por exemplo, a linha padrão a ser incluída em um script bash é algo assim:
#!/usr/bin/bash
Esta linha informa ao shell que o conteúdo dos scripts deve ser executado pelo utilitário localizado em /usr/bin/bash
. No entanto, os shebangs são realmente úteis apenas para itens executáveis.
A próxima ferramenta usada amplamente pelos aplicativos modernos são os tipos MIME. Os tipos Mime são uma declaração do tipo de arquivo usado amplamente na Internet para que os navegadores da Web e os clientes de e-mail possam saber que tipo de arquivo está sendo transferido. No entanto, muitos programas contam com esses tipos para saber como lidar com eles (por exemplo, os arquivos .desktop
do X podem incluir uma linha MIMEYPE para declarar uma associação de tipo de arquivo com um programa específico).
Finalmente, uma biblioteca C e um front-end de linha de comando foram desenvolvidos para detectar os tipos MIME através da heurística. Estes são libmagic
e file
, respectivamente. Libmagic e file
permitem que um programa, ou um usuário, detecte o tipo MIME de um arquivo, mesmo que ele não seja explicitamente declarado.
Algumas das associações de tipos de arquivos declaradas através de tipos MIME para X podem ser encontradas no arquivo $HOME/.local/share/applications/mimeapps.list
(por exemplo).