Quando você olha para a listagem de arquivos no Nautilus (ou executa ls
sem argumentos), ele mostra um arquivo cujo nome aparece como test.exe
.
Mas quando você passa test.exe
como um argumento para ls
, ele não o encontra e gera o erro:
ls: cannot access test.exe: No such file or directory
A explicação mais provável é que o nome do arquivo é exibido como test.exe
, mas esse não é o nome dele.
Isso pode acontecer quando o nome do arquivo contém caracteres não imprimíveis . Você pode verificar essa hipótese executando ls -q
. Se um arquivo com um ou mais ?
for mostrado, cujo nome é semelhante a test.exe
, isso confirma o problema. Caso contrário, o problema provavelmente tem outra causa.
Como você tem uma área de trabalho gráfica e o Nautilus exibe o arquivo, a maneira mais fácil de corrigir o problema é provavelmente renomeá-lo como test.exe
no Nautilus.
Na janela do navegador de arquivos, clique com o botão direito do mouse no arquivo cujo nome parece ser test.exe
. Clique em "Renomear ..." para editar o nome do arquivo. Pressione Ctrl + A para selecionar o nome inteiro, e pressione Apagar ou Backspace para apagá-lo. (Ou apenas comece a digitar o novo nome e ele irá sobrescrevê-lo.) Digite test.exe
. Pressione Enter .
Em seguida, tente executar seu programa novamente.
Se isso resolveu o problema, surge imediatamente a questão de como um caractere não imprimível entrou no nome do arquivo. Como o nome do arquivo foi especificado em Makefile
, talvez você colou ou inseriu acidentalmente entradas em seu editor de texto contendo um caractere de controle .
Você pode remover e substituir test.exe
em Makefile
para corrigir o problema.
Se renomear o arquivo no Nautilus não resolver o problema - ou se ls -q
não mostrar nenhum caractere ?
- edite sua pergunta para atualizá-lo com informações detalhadas sobre o que aconteceu e o trabalho sobre o problema pode continuar.