Eu uso extensões de arquivo por diversos motivos. Em muitos casos, isso é para me poupar dos problemas resultantes do não uso de uma extensão. Há poucos casos que não estavam usando uma extensão fornece uma vantagem, principalmente ao executar um programa.
No Unix / Linux, as extensões de arquivo não têm significado quando se trata de executar um arquivo. Isso é controlado pelo bit executável. O interpretador de linguagens de script é especificado na primeira linha usando um caminho de estrondo, como #!/bin/bash
.
Para arquivos executáveis em diretórios padrão, é prática padrão omitir a extensão. No entanto, também é comum usar extensões para scripts escritos localmente. Isso é útil ao procurar um exemplo ou prática comum em uma determinada linguagem de script.
Para arquivos não executáveis, a extensão fornece informações de tipo valiosas tanto para usuários quanto para programas que as lêem. Os servidores da Web usam extensivamente a extensão do arquivo para determinar o tipo de arquivo e, portanto, quais cabeçalhos aplicar. Compiladores e programadores dependem das extensões para determinar os tipos de arquivos.
Algumas ferramentas usarão magic
arquivos para determinar o tipo de arquivo com base no conteúdo do arquivo. Muitos tipos de arquivo contêm valores de magic
em locais conhecidos, e eles podem ser usados para adivinhar o tipo de arquivo de maneira confiável em muitos casos. Outras ferramentas apenas abrirão um arquivo, assumindo que é um arquivo apropriado. Isso permite que você reproduza arquivos de texto ou edite imagens de texto, embora nenhum deles seja recomendado.
Dentro das classificações de arquivos, geralmente há tipos incompatíveis que são normalmente indicados pela extensão:
- Imagens: bmp, jpeg, gif, png, tiff ...
- Vídeos: mpg, rm, flv, wmv ...
- Som: mp3, ogg, wav ...
- Documentos: html, txt, pdf, rtf, doc ...
Embora algumas ferramentas possam lidar com vários formatos, outras falharão com um ou mais tipos. Omitir a extensão do arquivo provavelmente levará você a usar a ferramenta errada para abrir alguns arquivos.
Existem também casos em que vários arquivos relacionados são diferenciados pela extensão. Por exemplo, um programa foobar
escrito em c
pode resultar dos arquivos foobar.c
, foobar.h
e foobar.o
.