I have installed GCC compiler by installing the build-essential package.

After the installation I wrote a simple C program. I tried to run it with the following command:

gcc First.c

but I'm getting a bash: ./a.out: Permission denied message. I don't know what to do now.


give that program (I mean a.out) the permission to "be executed" by this command:

chmod +x ./a.out

then execute it ;-)


Execute the command

ls -l a.out

This will show the permissions granted to the file like below.

-rw-r--r-- 1 js js 0 2011-03-27 19:45 a.out

The first set is permissions and to execute it as such you need permission 'execute' Grant the execute permission using chmod +x a.out or chmod 755 a.out

  • sh ./a.out is not going to work. This is a binary, not a shell script. Mar 27 '11 at 15:29

Looks like the executable file a.out doesn't have the execute (+x) mode set.

Run the command chmod a+x a.out to give the user the right to run the file. After that you can execute the file by running ./a.out in a terminal.

There's another way to achieve the same thing:

1) Right-click the a.out file in the file browser.

2) Select Properties from the drop-down menu

3) Open up the Permissions tab

4) Check the box Allow to execute this file as a program.


Write Open a text editor and type the above mentioned "Hello World" code. Save this file as HelloWorld.c.

Compile Open the command prompt and go to your current working directory where you saved your HelloWorld.c file. Compile your code by typing gcc HelloWorld.c in command prompt. Your C program will compile successfully, as long as your program doesn't contain any syntax errors. It will generate an a.out file.

Permission Give execute permission

chmod +x ./a.out

Execute Now run your program by typing ./a.out in command prompt.

Output You will see "Hello World" printed on your console.

Not the answer you're looking for? Browse other questions tagged or ask your own question.