O Linux determina o tipo de um arquivo por meio de um código no cabeçalho do arquivo. Não depende de extensões de arquivos para saber com o software é usar para abrir o arquivo.
É disso que eu me lembro da minha educação. Por favor, corrija-me caso eu esteja errado!
- corretamente lembrado.
Essas extensões são destinadas apenas para humanos?
- Sim, com um mas.
Quando você interage com outros sistemas operacionais que dependem do fato de as extensões serem o que são, é a ideia mais inteligente de usá-las.
No Windows, o software de abertura é anexado às extensões.
Abrir um arquivo de texto chamado "arquivo" é mais difícil no Windows do que abrir o mesmo arquivo chamado "arquivo.txt" (você precisará alternar a caixa de diálogo Abrir arquivo de *.txt
para *.*
a cada vez). O mesmo vale para arquivos de texto separados por TAB e ponto-e-vírgula. O mesmo vale para importar e exportar e-mails (extensão .mbox).
Em particular, quando você codifica software. Abrir um arquivo chamado "software1" que é um arquivo HTML e "software2" que é um arquivo JavaScript se torna mais difícil comparado a "software.html" e "software.js".
Se existe um sistema no Linux onde as extensões de arquivo são importantes, eu chamaria isso de bug. Quando o software depende de extensões de arquivo, isso é explorável. Usamos uma diretiva de intérprete para identificar o que é um arquivo ("os primeiros dois bytes em um arquivo podem ser os caracteres" # ! ", que constituem um número mágico (hexadecimais 23 e 21, os valores ASCII de" # "e"! "), muitas vezes referidos como shebang,").
O problema mais famoso com as extensões de arquivo foi LOVE-LETTER-FOR-YOU.TXT.vbs no Windows. Este é um script básico visual sendo mostrado no explorador de arquivos como um arquivo de texto.
No Ubuntu, quando você inicia um arquivo do Nautilus, você recebe um aviso sobre o que ele fará. A execução de um script do Nautilus onde ele deseja iniciar algum software no qual ele deve abrir o gEdit é um problema óbvio e recebemos um aviso sobre ele.
Na linha de comando, quando você executa algo, você pode ver visualmente qual é a extensão. Se ele terminar em .vbs eu começaria a suspeitar (não que .vbs seja executável no Linux. Pelo menos não sem mais esforço;)).