Things are not "executable" that are written by the user by default, you have to make it executable... chmod +x /path-to/filename.ext then you can execute it with the absolute or relevant path name ./filename.ext ~/Folder/filename.ext /path/to/Folder/filename.ext Answer from acejavelin69 on reddit.com
🌐
GeeksforGeeks
geeksforgeeks.org › linux-unix › how-to-run-file-in-linux
How to Run a File in Linux - GeeksforGeeks
July 23, 2025 - Right-click on the file, choose "Open With", and select the appropriate application to open it. Here is how you can do it - ... You may see your file running now. To run a file in Linux using the terminal, follow these steps: 1. Navigate to the ...
🌐
Stack Overflow
stackoverflow.com › questions › 35259825 › linux-how-to-run-execute-a-file-in-the-command-line-without-the
linux - how to run/execute a file in the command line without the ./ - Stack Overflow
the idea is to do this way in any directory, not only one in specific! 2016-02-07T22:40:41.723Z+00:00 ... Edit your "$PATH" variable to include the directory in which this file is located. For example, this is a part of my "$PATH": /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/rany/bin ... After putting an executable script in one of these directories you'll be able to execute it by simply typing its name at the command line.
Discussions

command line - Why do we use "./" (dot slash) to execute a file in Linux/UNIX? - Unix & Linux Stack Exchange
It largely is, but it definitely ... on multi-user systems. In fact, here is an example from this site where an administrator switched to a users' home directory and found ps to be masked by an executable of that name. ... Just have absolute paths in the PATH environment variable. ... In Linux, UNIX and related operating systems, . denotes the current directory. Since you want to run a file in your current ... More on unix.stackexchange.com
🌐 unix.stackexchange.com
November 30, 2010
How can i run a downloaded file?
you should give more details. you extract the files from the archive, then what to do next totally depends on the files that were in the archive. so extract the files, and give more details. More on reddit.com
🌐 r/linux4noobs
21
1
March 9, 2023
How to use .run file?
So Im trying to install private internet access and they support Arch Linux but when I downloaded from them I got a .run file. My question is how do I use it cause when I click on it i get a message about how its UTF-8 encodings are not valid or something More on forum.manjaro.org
🌐 forum.manjaro.org
0
0
August 7, 2022
how to run a .bat file on linux?
You don't... "bat" files are Windows, or more accurately DOS, "batch" files and not for Linux. This just isn't how it works... Might be better to tell us what you are trying to accomplish in the long run and maybe we can direct you on a different, more usable path. More on reddit.com
🌐 r/linux4noobs
33
8
November 24, 2023
🌐
Arch Linux Forums
bbs.archlinux.org › viewtopic.php
how do you execute a file from terminal? / Newbie Corner / Arch Linux Forums
July 17, 2009 - Not being able to run executable files in the same directory as you are in is a security measure. You can always do ./$executable as said before, or, if it's a script, call the interpreter to execute it: ... Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
🌐
Quora
quora.com › How-do-I-run-a-file-in-terminal-using-Linux
How to run a file in terminal using Linux - Quora
You need to tell linux what you want to run the file as. If the file is just an executable or a shell file (.sh) you can use ./filename · If the file is ruby, python, perl or any other scripting language you need to use that interpreter to run the file, i.e. python filename.py ... If the file is a shell script, you can use the “hash bang” facility on the first line of the script:
🌐
Living the Linux Lifestyle
livingthelinuxlifestyle.wordpress.com › 2020 › 02 › 09 › how-to-execute-files-in-linux
How to Execute Files in Linux – Living the Linux Lifestyle
February 9, 2020 - You can mark some files as executable within the GUI. Start your favorite file manager, then navigate to the desired program. Right-click the program, then select the “Permissions” tab. Under Execute, change the permissions to the desired value, such as Only Owner, Only Owner and Group, or Anyone.
🌐
Wikihow
wikihow.com › computers and electronics › operating systems › linux › how to run files in linux: 9 steps (with pictures) - wikihow
How to Run Files in Linux: 9 Steps (with Pictures) - wikiHow
June 18, 2025 - If asked to do so, enter the password you use to log into your Linux computer and press Enter. ... Type the command to run the file. The command you use to open the file is going to be a different depending on the file type. Enter one of the following commands and press Enter to run the file.
Find elsewhere
Top answer
1 of 6
130

The literal answer is as others have given: because the current directory isn't in your $PATH.

But why? In short, it's for security. If you're looking in someone else's home directory (or /tmp), and type just gcc or ls, you want to know you're running the real one, not a malicious version your prankster friend has written which erases all your files. Another example would be test or [, which might override those commands in shell scripts, if your shell doesn't have those as built-ins.

Having . as the last entry in your path is a bit safer, but there are other attacks which make use of that. An easy one is to exploit common typos, like sl or ls-l. Or, find a common command that happens to be not installed on this system — vim, for example, since sysadmins are of above-average likelyhood to type that.

Does this sound too theoretical? It largely is, but it definitely can happen in reality, especially on multi-user systems. In fact, here is an example from this site where an administrator switched to a users' home directory and found ps to be masked by an executable of that name.

2 of 6
101

In Linux, UNIX and related operating systems, . denotes the current directory. Since you want to run a file in your current directory and that directory is not in your $PATH, you need the ./ bit to tell the shell where the executable is. So, ./foo means run the executable called foo that is in this directory.

You can use type or which to get the full path of any commands found in your $PATH.

🌐
Wikihow
wikihow.com › computers and electronics › operating systems › linux › how to execute .run files (& more) in linux: 2 easy ways
How to Execute .RUN Files (& More) in Linux: 2 Easy Ways
July 9, 2025 - In the default file manager in Ubuntu and many other versions of Linux, you can do this by right-clicking (or control-clicking) the file you want to run and selecting Properties. It should be similar in other file managers.
🌐
Gcore
gcore.com › home › developers › how to make a file executable in linux
How to Make a File Executable in Linux | Step-by-step Guide
April 8, 2025 - Running an Executable. Once a file is executable, you can run it from the terminal. If the file is in your current directory, you’d typically prefix it with ./, as in ./my_script.sh. Let’s walk through the steps to make a file executable in Linux.
Top answer
1 of 5
636

You can mark the file as executable:

chmod +x filename.sh

You can then execute it like this:

./filename.sh

If you want to use a different command to start it, you can add an alias:

gedit ~/.bashrc

Add this at the end of the file:

alias <new name>='/home/<full path to script>/filename.sh'

Open a new terminal session or type source ~/.bashrc in your terminal to apply. Then simply use the new name to start the script.

2 of 5
66

There are two ways of making a file executable:

GUI Method:

Right-click the file and select Properties. Go to the permissions tab, then tick the box Execute: [ ] Allow executing file as program or in Nautilus Program: [ ] Allow this file to run as a program in Thunar.

Terminal / Command method:

You can either use:

cd /to/my/required/directory

Then run

chmod +x filename.extension

Or just run:

chmod +x /path/to/your/filename.extension

chmod does also have some more advanced options:

The spaces are to show that it is split up: - rwx --- ---

The first set of --- is User. The second is Group and the last is Other (anyone else)

r stands for Read, w for Write and x for eXecute.

So to allow everyone to read it, but only Group to execute and User to read and write it (but for some reason not execute) would be:

-rw- rx- r-- But this would be added to the command as:

chmod +rw-rx-r-- /path/to/file.extension

chmod also can do this in numbers. It is based on binary (I think, as it is 1,2 and 4)

So there are these numbers:

Execute by user is 100. Execute by group is 010. Execute by other is 001.

Write by user is 200. Write by group is 020. Write by other is 002.

Read by user is 400. Read by group is 040. Read by other is 004.

Then you add these together to get the desired combination.

So to allow everyone to read it, but only Group to execute and User to write it (but for some reason not execute) would be:

400 + 040 + 004 and 010 and 200

That adds up to 600 + 050 + 004 = 654.

You could then run the command.

chmod +654 /path/to/file.extension to set it.

And to set all permissions you can type:

chmod +rwxrwxrwx /path/to/file.extension

Or (this is a bit easier to write, but harder to remember each one):

chmod +777 /path/to/file.extension

Finally, you can do:

chmod -777 /path/to/file.extension

To take all permissions away from everyone.

And:

chmod +300 /path/to/file.extension

To add read and write for user, without affecting any other permissions (e.g. Execute permissions).

This website has a very useful little grid checkbox thing, whereby you can tick the options you want and it gives you the command:

However, not all the possible combinations are sensible to use; the main ones that are used are the following:

755 - Owner has all, and Group and Other can read and execute

700 - Owner has all

644 - Owner can read and write, and Group and Other can read

600 - Owner can read and write

And, if you're using non-trivial user groups:

775 - Owner can read and write, and Group and Other can read

770 - Owner and Group have all, and Other can read and execute

750 - Owner has all, and Group can read and execute

664 - Owner and Group can read and write, and Other can just read

660 - Owner and Group can read and write

640 - Owner can read and write, and Group can read

777 and 666 are rarely used, except in /tmp.

Thanks Ilmari Karonen for pointing out the ones in common usage!

🌐
Linux Mint Forums
forums.linuxmint.com › board index › interests › programming & development
running executables in terminal - Linux Mint Forums
April 21, 2022 - So Linux Mint 21 won't be affected by this issue and executables will run from the file manager. That said, if you want to run executable binaries from a terminal when you double-click them in Nemo you have to use something like above (or a Nemo action, or …).
🌐
Baeldung
baeldung.com › home › files › why do we use ./ (dot slash) to execute a file in linux
Why Do We Use ./ (Dot Slash) To Execute a File in Linux | Baeldung on Linux
March 18, 2024 - In this tutorial, we’ll learn when and how to use “./” for running a script in Linux. We’ll also explain how the path search works in Linux in general and Bash in particular. Let’s assume we want to run the script.sh file that is an executable and lives in the current directory.
🌐
LinuxQuestions.org
linuxquestions.org › questions › linux-newbie-8 › how-to-run-executable-files-139554
How to run executable files?
January 28, 2004 - Can anyone teach this newbie how to open an executable file under Linux?? thanks!
🌐
Wikihow
wikihow.com › computers and electronics › internet › downloading › file sharing › how to run a file in unix: 3 steps (with pictures) - wikihow
How to Run a File in Unix: 3 Steps (with Pictures) - wikiHow
December 23, 2024 - You can run a file in UNIX by invoking the file name from the command line. Alternatively, you can also choose to invoke a specific shell to run the file. ... Check that you have permission to run (or) execute the file.
🌐
Manjaro Linux
forum.manjaro.org › support › third-party software
How to use .run file? - Third-Party Software - Manjaro Linux Forum
August 7, 2022 - So Im trying to install private internet access and they support Arch Linux but when I downloaded from them I got a .run file. My question is how do I use it cause when I click on it i get a message about how its UTF-8 e…