PDF download Download Article PDF download Download Article

If you've typed a command and see the error "command not found," it might mean the directory in which your executable is saved hasn't been added to your path. This wikiHow teaches you how to find the full path to a file, how to display your path environment variables, and how to add new directories to your path when necessary.

Using "echo $PATH" to Check Your Directory Paths

If you're getting a "command not found" error in Unix, you can use the echo $PATH command to see which directories your shell is checking for executable files. The terminal will print a list of directories. If you're trying to run a command from a directory not in that list, you'll get a "not found" error.

  1. If you need to find the absolute path to a file on your system, you can do so using the find command. Let's say you needed to find the full path to a program called fun :
    • Type find / -name "fun" –type f print and press Enter .
      • This shows the full path to the file called fun no matter which directory you're in.
      • If fun in a directory called /games/awesome , you'd see /games/awesome/fun in the results of the command.
  2. When you type a command, the shell looks for it in the directories specified by your path. You can use echo $PATH to find which directories your shell is set to check for executable files. To do so:
    • Type echo $PATH at the command prompt and press Enter .
      • The results should look something like this: usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      • This output is a list of directories where executable files are stored. If you try to run a file or command that isn't in one of the directories in your path, you'll receive an error that says the command is not found.
    Advertisement
  3. Let's say you want to run that file called fun . You learned from running the find command that it's in a directory called /games/awesome . However, /games/awesome is not in your path, and you don't want to type the full path just to run the game. To add it to your path: [1]
    • Type export PATH=$PATH:/games/awesome and press Enter .
      • Now you can run fun just by typing its name at the command line (instead of /games/awesome/fun ) and pressing Enter .
      • This change only affects the current shell. If you open a new terminal window or sign in elsewhere, you'll have to re-add the path. To make the change permanent, add the command to your shell's config file (e.g., .bashrc , .cshrc ).
  4. Advertisement

Expert Q&A

Ask a Question
      Advertisement

      Video

      Tips

      • By default, the shell does not search your current directory in Unix-type OSes (BSD, Linux, etc.) unless it's already in your path. This can be fixed by adding a period (dot), which is the Unix short-cut for the current directory. This can be changed by going to your home directory. This should contain '.profile'. Use an editor, such as vi, to open, change, and save.
      Submit a Tip
      All tip submissions are carefully reviewed before being published
      Name
      Please provide your name and last initial
      Thanks for submitting a tip for review!
      Advertisement

      Warnings

      Advertisement

      About This Article

      Article Summary X

      1. Use echo $PATH to view your path variables.
      2. Use find / -name "filename" –type f print to find the full path to a file.
      3. Use export PATH=$PATH:/new/directory to add a new directory to the path.

      Did this summary help you?
      Thanks to all authors for creating a page that has been read 346,876 times.

      Is this article up to date?

      Advertisement