Os arquivos que terminam em .exe
são comuns em sistemas Windows. Em binários de sistemas Linux, geralmente não há extensão.
Ao executar gcc
sem usar -o
para especificar o nome do arquivo de saída, ele (por motivos históricos) geralmente criará um arquivo chamado a.out
.
Ao tentar executar um comando sem especificar sua localização, o linux pesquisará os locais na variável de ambiente PATH
para o comando fornecido.
Esta variável PATH
normalmente irá intensionalmente não conter o diretório atual. Você poderia adicionar .
(o diretório atual) à lista, mas isso levaria a efeitos inesperados, por exemplo, se você digitar ls
, esperaria ver o conteúdo do diretório atual e não executar algum arquivo chamado "ls "o que pode acontecer de viver lá.
Portanto, se você quiser executar um comando a partir de um local não listado em PATH
, precisará especificar explicitamente seu caminho. Para executar um arquivo chamado a.out
no diretório atual ( .
), você precisa digitar ./a.out
.