This tutorial explains how to run an application on Linux from the terminal by typing the application name. This allows you to run AppImages, scripts or any executable file from a terminal, even though you have not installed it via any type of package manager.
The quick TL;DR (Too Long; Didn’t Read) below will most likely be enough to answer your question. The remaining article gives some more technical background infos.
The quick TL;DR answer
Copy the application itself or a link to the application to the
.local/bin folder in your
home directory. You can now run it by typing the exact name of the file into the terminal.
If you can’t see the
.local folder in your
home directory, press
Ctrl + Hto show hidden files. This hotkey works in all popular file managers. If it doesn’t, look around your file manager’s menus.
bin folder doesn’t exist, simply create it yourself. In this case, you also have to log out and back in again before the terminal recognizes applications or application links inside the
What is $PATH?
Linux uses various other folders that it scans for applications or application links. If you type something into a terminal and Linux can find an application with that name in one of these folders, the application will run.
These folders are commonly called “$PATH” or just “PATH”. You can find out which folders are part of your $PATH by running
echo $PATH in a terminal. The output will look similar to this:
The colons are line breaks, which means that I’ve got the following folders as part of my $PATH on my machine:
These folders are used for different purposes. If you didn’t use the method outlined in the quick TL;DR answer, you will usually want to put your application links into
/usr/local/bin (instead of
/home/user/.local/bin). There is a Wikipedia page about the Filesystem Hierarchy Standard that explains what most of the folders I have listed above are for and what the differences are.
Contrary to the
/home/user/.local/binfolder, all of the folders listed above require Root rights (
sudo) to modify the files inside them. This means that you can’t simply copy your links into them without some extra steps.
How to create a link from the terminal by using “ln”
ln terminal command allows you to create a link to a file at a location of your choice. The syntax is:
ln [parameters] [original file path] [target path and file name]
sudo before it, you can create links in folders that require admin rights. Adding the -s parameter creates a soft link instead of a hard to your file. This excellent article explains the difference between hard and soft links.
Here’s what this looks like if I want to create a link from a Krita AppImage in
sudo ln -s /home/victor/Applications/krita-4.4.5-x86_64.appimage /usr/local/bin/krita
If you want to override an existing link (for example if the location of your AppImage has changed and the link is now broken), you have to add the -f parameter.
If you want to remove a file in this folder, you can use the
rm command, like so:
sudo rm /usr/local/bin/name_of_your_file