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.
🌐
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.
Top answer
1 of 6
129

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.

🌐
Arch Linux Forums
bbs.archlinux.org › viewtopic.php
how do you execute a file from terminal? / Newbie Corner / Arch Linux Forums
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
Find elsewhere
🌐
Quora
quora.com › How-do-I-run-a-file-in-terminal-using-Linux
How to run a file in terminal using Linux - Quora
Answer (1 of 5): You can only run executable files. You can confer executable properties to any file using the chmod command. You need to do this if the file is a script that you wrote. If the file was created by a compiler & linker, it almost certainly has executable permissions. If you don't kn...
🌐
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.
🌐
Linux Mint Forums
forums.linuxmint.com › board index › interests › programming & development
running executables in terminal - Linux Mint Forums
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 …).
🌐
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.
🌐
MakeUseOf
makeuseof.com › home › linux › how to read and execute from a file with the linux source command
How to Read and Execute From a File With the Linux source Command
September 23, 2022 - To test it out, write the commands in the code box above in a new file and use the source command instead of making it executable. # Create a new file and edit it vi test file . test_file echo $TEST # This will return "bed" As you can see, using the source command, you were able to update the environment variables of the parent process. This is the primary use case of the source command, i.e., to modify the parent environment. ... That's all the steps you need to update the Bash shell environment with the source command. The difference between Linux bash and source commands is that when you execute a script with the bash command, it tells the Linux kernel to create a new Bash process to read and execute the script, copy the output to the original shell process, and display it.
🌐
DigitalOcean
digitalocean.com › community › tutorials › execute-command-shell-script
How To Execute a Command with a Shell Script in Linux | DigitalOcean
December 5, 2022 - In this article, you will learn how to create and execute shell scripts for the command line in Linux. ... Familiarity with using the terminal. Familiarity with a text editor. Familiarity with commands like chmod, mkdir, and cd. A shell script needs to be saved with the extension .sh. The file needs to begin with the shebang line (#!) to let the Linux system know which interpreter to use for the shell script.
🌐
Namehero
namehero.com › blog › how-to-run-a-sh-file-in-linux
How to Run a .sh File in Linux
November 6, 2024 - Here’s a step-by-step guide to running a Linux script file. The first step is to create a file with a command and name it with a “.sh” extension like so: ... This is the most basic script file I can think of. It’s not enough to create a script file. If you try and run it “as is”, you’ll get a “Permission Denied” message as shown here: ... This is because the users don’t have execute permissions for the script.
🌐
PhoenixNAP
phoenixnap.com › home › kb › sysadmin › linux exec command with examples
Linux exec Command With Examples
2 weeks ago - The Linux exec command executes a Shell command without creating a new process. Instead, it replaces the currently open Shell operation. Depending on the command usage, exec has different behaviors and use cases. This article will demonstrate how to use the exec command in Linux.