Skip to main content

Command Palette

Search for a command to run...

How to Add a Path in Linux

Published
7 min readView as Markdown

Adding a path in Linux is a common task that helps you run programs and scripts easily from anywhere in the terminal. If you’ve ever wanted to use a command without typing its full location, adding its directory to your PATH environment variable is the way to go. In this article, I’ll guide you through the process of adding a path in Linux, whether temporarily or permanently.

You’ll learn how to check your current PATH, add new directories for the current session, and make those changes stick across reboots. By the end, you’ll feel confident managing your Linux environment paths like a pro.

What Is the PATH Variable in Linux?

The PATH variable is a list of directories that your Linux system searches when you type a command. Instead of typing the full path to a program, Linux looks through these directories in order to find the executable.

  • It’s an environment variable that stores multiple directory paths separated by colons (:).
  • When you run a command, Linux checks each directory in PATH to find the executable.
  • If the command isn’t in any of these directories, you get a “command not found” error.

For example, if /usr/local/bin is in your PATH, you can run any program inside that folder without typing the full path like /usr/local/bin/program.

How to Check Your Current PATH

Before adding a new path, it’s good to see what directories are already included. You can do this easily in the terminal.

Open your terminal and type:

echo $PATH

This command prints the current PATH variable. You’ll see something like:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Each directory is separated by a colon. These are the folders Linux checks for commands.

How to Add a Path Temporarily

If you want to add a path just for your current terminal session, you can do it quickly with the export command. This change will last only until you close the terminal.

Here’s how:

export PATH=$PATH:/your/new/path

Replace /your/new/path with the directory you want to add.

For example, if you installed a program in /opt/myapp/bin, run:

export PATH=$PATH:/opt/myapp/bin

Now, you can run commands from /opt/myapp/bin without typing the full path.

Why Use Temporary PATH Changes?

  • Testing new software without permanent changes.
  • Running scripts that need a specific path just once.
  • Avoiding clutter in your environment variables.

Remember, once you close the terminal or log out, this change disappears.

How to Add a Path Permanently

To keep your new path after rebooting or opening a new terminal, you need to add it to your shell’s configuration files.

For Bash Users

Most Linux distributions use Bash as the default shell. You can add the path to one of these files in your home directory:

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.profile

The most common choice is ~/.bashrc.

Open the file with a text editor like nano:

nano ~/.bashrc

Add this line at the end of the file:

export PATH=$PATH:/your/new/path

Save and exit (Ctrl + O, Enter, then Ctrl + X in nano).

To apply the changes immediately, run:

source ~/.bashrc

Now, your new path is permanently added for your user.

For Zsh Users

If you use Zsh, add the path to ~/.zshrc instead:

nano ~/.zshrc

Add the same export line, save, and run:

source ~/.zshrc

Adding Path for All Users

If you want to add a path for all users on the system, you can edit the global profile files:

  • /etc/profile
  • /etc/environment
  • /etc/bash.bashrc

For example, add the export line to /etc/profile:

sudo nano /etc/profile

Add:

export PATH=$PATH:/your/new/path

Save and exit. This requires root privileges and affects every user.

How to Add a Path at the Beginning or End

You can add a new path either at the beginning or the end of the PATH variable.

  • Adding at the end means the system searches existing directories first.
  • Adding at the beginning means your new path is searched first.

To add at the beginning:

export PATH=/your/new/path:$PATH

To add at the end:

export PATH=$PATH:/your/new/path

Choose based on your needs. For example, if you want to override a system command with your own version, add your path at the beginning.

How to Verify Your New Path

After adding a path, you should verify it’s working correctly.

  1. Check the PATH variable again:
echo $PATH

Make sure your new directory appears.

  1. Test running a command from the new path:
which your-command

If it shows the full path to your command, it means Linux found it.

  1. Alternatively, run the command directly to confirm it works.

Common Mistakes to Avoid

Adding paths in Linux is simple, but some common errors can cause problems:

  • Forgetting to separate paths with a colon (:). The PATH variable requires colons between directories.
  • Overwriting PATH instead of appending. Always use $PATH in your export command to keep existing paths.
  • Adding paths with spaces without quotes. If your path contains spaces, wrap it in quotes.
  • Not sourcing the file after editing. Changes won’t apply until you reload the config file or restart the terminal.
  • Adding invalid or non-existent directories. This can slow down command lookup.

Using GUI Tools to Manage PATH

Some Linux desktop environments offer graphical tools to manage environment variables, including PATH.

  • Tools like GNOME Tweaks or KDE System Settings may provide environment variable editors.
  • These tools usually modify the same config files behind the scenes.
  • GUI tools are helpful if you prefer not to use the terminal.

However, the terminal method is more universal and works on all Linux systems.

Why Adding Paths Matters

Adding paths in Linux is essential for:

  • Running custom scripts or programs easily.
  • Using software installed in non-standard locations.
  • Managing multiple versions of software.
  • Improving workflow efficiency.

Without adding paths, you’d have to type full file locations every time, which is tedious and error-prone.

Summary Table: Commands to Add Path

TaskCommand ExampleNotes
Check current PATHecho $PATHView current directories
Add path temporarilyexport PATH=$PATH:/new/pathLasts until terminal closes
Add path permanently (Bash)Add export PATH=$PATH:/new/path to ~/.bashrcReload with source ~/.bashrc
Add path permanently (Zsh)Add export PATH=$PATH:/new/path to ~/.zshrcReload with source ~/.zshrc
Add path globallyAdd export PATH=$PATH:/new/path to /etc/profileRequires root privileges

Troubleshooting PATH Issues

If your new path doesn’t seem to work:

  • Double-check the path is correct and exists.
  • Make sure you used the correct syntax with colons.
  • Confirm you sourced the config file or restarted the terminal.
  • Use echo $PATH to verify the change.
  • Check for typos in the config files.

If problems persist, try logging out and back in or rebooting your system.

Conclusion

Adding a path in Linux is a simple but powerful way to customize your environment. Whether you want to run custom scripts, install new software, or manage multiple tools, updating your PATH variable makes your life easier.

You can add paths temporarily for quick tests or permanently by editing shell config files. Remember to check your current PATH, add new directories carefully, and verify your changes. With these steps, you’ll navigate your Linux system more efficiently and confidently.


FAQs

How do I add a path to my Linux PATH variable temporarily?

Use the command export PATH=$PATH:/your/new/path in your terminal. This change lasts only for the current session.

Where do I add a path to make it permanent in Linux?

Add the export line to your shell’s config file like ~/.bashrc for Bash or ~/.zshrc for Zsh, then run source on that file.

How can I check if my new path is added correctly?

Run echo $PATH to see the current paths and use which your-command to verify the command is found in the new path.

Can I add a path for all users on the system?

Yes, by editing global files like /etc/profile or /etc/environment with root privileges, you can add paths for all users.

What happens if I add a path at the beginning of PATH?

The system searches that directory first, which can override commands with the same name in other directories.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts