es solamente para scripts, no para binarios
es para cualquier tipo de archivo ejecutable, incluso scripts si tienen el
hashbang correcto.
Por supuesto que para que
./archivo sea válido,
archivo debe estar en la carpeta en la que estás parado. Si no es así, tendrás que usar la ruta completa o, si
archivo está en una de las carpetas de
$PATH, ejecutarlo directamente sin nada delante (simplemente escribir
archivo)
Por otro lado, no estás mostrando el error real, por lo que los motivos pueden ser varios.
Si es un tema de permisos como sugiere
Santiago66, el error es justamente ese: que el usuario no tiene acceso (
permission denied)
Hay otra categoría de errores que es más rara pero que ahora con la convivencia de sistemas de 32 y 64 bit es más común, y que provoca un error "no se puede ejecutar el archivo binario". Causas comunes:
- el archivo es un programa compilado para versiones antiguas de algunas bibliotecas importantes, por ejemplo glibc
- El sistema es de 32bit y el archivo es un programa compilado para 64bit
- El sistema es de 64bit (sin multilib) y el archivo es un programa compilado para 32bit
- El archivo no es un programa
para confirmar, mostrá la salida de los siguientes comandos:
(donde obviamente
archivo es el binario del que estamos hablando)
Saludos.