Linux Commands

How To Make A File Executable In Linux

If you’re someone with a background in a Windows operating system, chances are you’re aware of the “.exe” files. These files are referred to as executable files because their purpose is to execute a series of commands that make up the whole program.

However, when you make the change to a Linux distribution, this division of executable vs. non-executable does not apply. Any file can be made executable in Linux since it does not require a certain extension to be declared as an executable.

This provides a lot of flexibility when it comes to file management.

If you’re someone looking to learn how to make a file executable in Linux, then this guide is meant for you. We’ll provide a step-by-step solution on how you can make any file executable, either using the CLI or the GUI method.

Let’s take a look at the steps.

Method 1: Using The Command Terminal

The first method makes use of the Command Terminal. You can make any file executable by typing certain commands in the Terminal.

Although we’re going to be using Ubuntu 20.04 LTS in this guide, the steps shouldn’t be any different for other Linux distributions. With that said, just follow the steps explained with the help of an example.

First and foremost, open the Command Terminal on your system. The shortcut for Ubuntu is Ctrl + Alt + T.

For this guide, we’ll create a sample file using the echo command by using the following command:

$ echo ‘Text’ >> <file name>

In our case,

$ echo ‘This is a guide on how to make a file executable in Linux’ >> Test1

This command will create a string literal with the text “This is a guide on how to make a file executable in Linux” and store it in a file called Test1.

To view the content of the file, type the following command:

$ cat <file name>

In our case,

$ cat Test1

You should notice that the file doesn’t end with an extension name. This means that you have the option to make the file executable.

In order to make Test1 an executable file, we’ll use the following command:

$ chmod +x <file name>

In case of a file extension, the command becomes:

$ chmod +x <file name>.<file extension>

In our case,

$ chmod +x Test1

Now you can call your file by typing its name in the Terminal as follow:

$ ./<file name>

In our case,

$ ./Test1

You can also execute the command in the following manner:

$ sudo ./Test1

This will provide appropriate permission for the file to be executed.

If the CLI method seems complicated to you, worry not as you can achieve the same results with the help of the GUI.

Method 2: Using the GUI

Unlike the CLI method, the GUI method is much less daunting and simplified to understand what’s going on.

Follow these steps to make a file executable using the GUI.

Start by navigating to the file of your choice. Once you’ve navigated to the file, right-click on it and select “Properties”. A new window should appear.

Once a window opens, click on the Permissions tab.

In the Permissions tab, you should see an option titled “Allow executing file as program.”

You should now have the desired file in an executable format if you followed the steps correctly.

Understanding How File Execution Works

Learning how file execution works in Linux has its benefits as it provides more flexibility when it comes to an understanding of how the file works.

In Method 1, we used the command chmod +x. This was necessary in order to make the file executable since the file required “read” privileges. The “./” tells the Terminal to search for the location of the file.

Aside from Method 1, there are other ways to use the $ chmod command. This flexibility makes $ chmod extremely valuable. A list of options for the $ chmod command is given below:

  • $ chmod 775 <file name>.<extension type> This mode allows anyone to execute the file. However, only the owner of the file has permission to write in that file.
  • $ chmod 0010 <file name>.<extension type> Only users of a group will be allowed to execute the file.
  • $ chmod 0100 <file name>.<extension type> Permission to execute the file belongs exclusively to the user.
  • $ chmod 777 <file name>.<extension type> Provides permission to execute the file to all Linux users.
  • $ chmod -777 <file name>.<extension type> Doesn’t allow any user to execute the file.

Additional Information

Although the $ chmod command works for files without extension type, it should be noted that you’ll need to specify the file type in case it’s mentioned. For example, if you are dealing with a file that has a .run or .bin extension. The syntax for the execution command would be:

$ ./<file name>.bin

Additionally, make sure you have the correct name, file type, and file location before making any file executable.

Conclusion

If you followed the steps in the guide correctly, then the good news is you are now aware of how to make a file executable in Linux.

This guide covered different methods to make the file executable in Linux. We started by explaining the method involving the Command Terminal and followed up with the method to achieve the same with the help of the Graphical User Interface(GUI). We also covered additional uses of the $chmod command and the different permissions.

With this, we wish you all the best in your journey to master Linux.

About the author

Zeeman Memon

Hi there! I'm a Software Engineer who loves to write about tech. You can reach out to me on LinkedIn.