2012-02-15 12 views
6

he compilado un programa de mi Ububtu 10.10 terminal de comandosC en Linux Terminal

gcc file_name.c -o new_file

. Compiló con éxito la creación de un archivo ejecutable llamado new_file. Pero cuando yo estaba tratando de ejecutarlo por este comando

./new_file 

Se dice que el permiso es negado de new_file. Revisé las propiedades de permiso de ese archivo y encontré que tengo permiso para leer & escribirlo (soy el único usuario de ese sistema). ¿Puedes ayudarme a resolver el problema?

+1

Necesita permiso para ejecutarlo también. Hacer: 'chmod + x newfile' en el mismo directorio. – ArjunShankar

+2

'gcc' debe hacer ejecutables, err, ejecutable. ¿Cuál es tu umask? –

+0

¿Por qué no aumenta su tasa de acceso? Comience a aceptar las noticias correctas o la comunidad no lo ayudará más. – DonCallisto

Respuesta

11

Tienes que darle el exe. permisos

Así: chmod +x new_file

Cuando se crea un nuevo archivo con el gcc, por defecto, esto no es ejecutable. Entonces, tienes que darle permisos de ejecución.

Con chmod(see this) cambia los permisos en el archivo.

En ese caso específico, le dio permisos de ejecución (+ [más] significa que dio, 'x' significa ejecución) a ese archivo.

Si desea revocar ese permiso, puede escribir: chmod -x filename

+0

Gracias. ¿Pero por favor explicar un poco más sobre este comando? –

+1

Los permisos en Linux (y probablemente en la mayoría de los sistemas tipo Unix) están representados por tres bits: R, W y X. Si un archivo tiene el bit de permiso 'R', es legible. Si el bit 'W' está configurado, es grabable. Si el bit 'X' está configurado, es ejecutable. A diferencia de Windows, donde la capacidad de ejecutar un archivo se calcula de acuerdo con la extensión del archivo, en Linux puede hacer que cada archivo sea ejecutable simplemente especificando el indicador 'X'. Hay disponibles tres conjuntos de bits de permiso: uno para el propietario del archivo, el segundo para el grupo que posee el archivo y el tercero para todos los demás. –

+1

"Cuando creas un nuevo archivo con gcc, de manera predeterminada, esto no es ejecutable." ?? No, normalmente gcc crea archivos ejecutables con x bit set. Rafi debe tener un entorno extraño que lo impida. –

-1

Después de compilar, el archivo se coloca en a.out intenta utilizar a.out.

+5

no cuando se usa -o new_file – hroptatyr

Cuestiones relacionadas