How to Fix “Command Not Found” Errors in Mac Command Line

May 24, 2018 - 32 Comments

Fix command not found error messages in Terminal for Mac

Advanced Mac users that utilize the command line may occasionally encounter a “command not found” error message when attempting to run something in the command line. The “command not found” error in the Terminal can surface for several reasons in the command line of MacOS and Mac OS X, as we’ll discuss here, and of course we’ll offer solutions to these issues.

Why you see “command not found” error messages at the command line

The four most common reasons why you may see the “command not found” message in the Mac command line are as follows:

  • the command syntax was entered incorrectly
  • the command you are attempting to run is not installed
  • the command was deleted, or, worse, the system directory was deleted or modified
  • the users $PATH is incomplete, or $PATH has been erroneously set, reset, or cleared – this is the most common reason to see a ‘command not found’ message

Fortunately you can solve all of these issues and get the common working again as expected. If you simply entered the syntax wrong, entering it correctly resolves that, easy! Beyond that, we’ll start off with the most common reason, which is that the users $PATH is not set properly, or was reset somehow.

Fixing “Command Not Found” Terminal Messages in Mac OS with $PATH Setting

The most likely reason why Mac users may unexpectedly see the command not found message in the command line is something went awry with the users $PATH, or the path where the command is located is not set. You can check the $PATH with “echo $PATH” if you feel like it, otherwise you can just run the following commands to set the standard default path that Mac OS uses in the command line:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Hit return and run your command again, it should work fine.

By the way, even though we’re focusing on Mac OS here, this same idea applies to other unix and linux varieties as well.

Note if the intended command you’re attempting to use is located in a nonstandard directory or in another location (/usr/local/sbin/ etc), you can always add that new $PATH at the command line to specify where to look if needed.

Before, where the “command not found” message shows up running simple commands line ls and cd:

command not found Mac error terminal

After, with those commands working successfully as expected:

Command working in Mac terminal as expected

How does this happen? Sometimes it can be running an incomplete or incorrect export $PATH command, a failure of adjusting environment variables, amongst other reasons.

You may need to refresh the command line shell for the change to take effect. If you relaunch the Terminal and get the “command not found” error again, then add the export $PATH commands to the users .bash_profile, .profile, or relevant shell profile if using an alternative shell in the Terminal app.

“Command not found” because command isn’t installed? Use HomeBrew

If the command just isn’t installed on the Mac, for common examples like wget, htop, or the many other useful unix commands available as Homebrew packages that are not otherwise preinstalled in Mac OS, then the simplest solution is to install and use Homebrew on the Mac to gain access to those command line utilities. Homebrew is a great tool anyway, so if you’re going to be spending time in the Terminal you’ll probably want it.

“Command not found” because a system directory is missing? Restore the missing system files

Every once in a while, Mac users may find themselves in a situation where they accidentally or inadvertently deleted system files from Mac OS. Usually this happens when someone is experimenting with the rm/srm commands and a wildcard, or maybe they became overly zealous with the Trash can when logged in as root. In any event, you can read here how to restore deleted or missing system files to Mac OS and Mac OS X – it usually involves restoring from a backup or reinstalling the system software itself.

Do you know of another reason why you may see the “command not found” error message in Mac OS Terminal? Maybe you have a better solution than what is offered above? Share with us in the comments below!

.

Related articles:

Posted by: Paul Horowitz in Command Line, Mac OS, Tips & Tricks, Troubleshooting

32 Comments

» Comments RSS Feed

  1. Marc says:

    I tried this and it worked until i reopened my terminal. It reverted to no commands working.

  2. Marc says:

    I tried this and it worked until i reopened my terminal. It reverted to no commands working.

  3. Azad says:

    Thanks a lot it worked!!!

  4. Joe Orsak says:

    I’ve done the export PATH command and then check echo PATH$ and it is as you suggested but I still get “-sh: rm: Command not found”

  5. girl dev says:

    Thank you! These instructions (below) helped point to where my path was and how to fix it!

    You can check the $PATH with “echo $PATH” if you feel like it, otherwise you can just run the following commands to set the standard default path that Mac OS uses in the command line:

    export PATH=”/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin”

    Hit return and run your command again, it should work fine.

  6. sajeeth says:

    Last login: Mon Feb 28 23:17:06 on ttys000
    /etc/zshrc:7: command not found: locale
    /etc/zshrc_Apple_Terminal:104: command not found: mkdir
    sajeethsamar@sajeeths-MacBook-Air ~ %

    solution please

  7. Mubarok says:

    Great.
    Thanks A lot..!!!

  8. Noaman says:

    The most useful piece of information Ive come across. My vim is back!!!

  9. sandermander says:

    I have this issue on literally every command with a newly bought M1… Terrible dev. system, big waste of money and Apple support is not able to help properly…

  10. Mark says:

    Reinstalling Homebrew worked for me. Not sure why this was necessary, but glad to finally have this problem resolved.

  11. yena says:

    yena@Yenas-MacBook-Pro ~ % echo $PATH
    /Users/yena/.npm-global/bin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin::/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/osxdaily/opt/bin

    my terminal is still having a problem of “zsh: command not found:”.. Is my location is wrong? Please help me.

    • curio says:

      The question to me is why you have a user named ‘osxdaily’ on your Mac

      zsh is the default shell on the Mac now

  12. Plu says:

    thank you!!! this worked for me!

  13. Kainat says:

    my dir comman is yet not working

    (base) shadabahmed@shadabs-MacBook-Pro desktop % dir
    zsh: command not found: dir
    (base) shadabahmed@shadabs-MacBook-Pro desktop %

  14. TomaszK says:

    3hrs looking for solution.
    export PATH=”/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin”
    Thank you!

  15. hardik says:

    Yes its work all commond show notfound but after this it’s work fine.

  16. Inflatable Man says:

    Thanks the first command worked for me.

  17. Ankush says:

    Dammmmm! This Works… Thanks a lot!!!!

  18. Ronie dollar says:

    How can I fix command laptop macbook5

  19. Cali Zam says:

    WOW man, i was desperate because i tried to do something really simple, and messed up a lot.

    Thanks a lot, my terminal its working again, and really well explained.

    Thanks

  20. joshua says:

    The first copy paste i did in my url reset my path and worked perfectly! thank you so much!

  21. shikha says:

    Hi,I had also incorrectly configured PATH variable & hence was getting that issue..Thanks a lot :)

  22. Fabricio says:

    Thank you guy’s!!!!!!!!!

    this article was a life saver. I was so frustrated about mining guess solution on the internet for hours and with the right command it was gone just like that. You guy’s rock!!!!

  23. Frédéric Pichot says:

    I wanted to say thank you for this document because it allowed to reconfigure my terminal and return all orders and since it works very well. Thanks again. See you.

  24. Joost F. van der Linden says:

    Hi,

    My usr bin looks like a mess. What to do with it?

    /anaconda3/bin:/anaconda3/condabin:/Users/name/.rbenv/shims:/Users/name/.rbenv/shims:/Users/name/.rbenv/shims:/Users/name/.rbenv/shims:/Users/name/.rbenv/shims:/Users/name/.rbenv/shims:/Users/name/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

  25. Paul says:

    Finally! This worked great. Thanks

  26. John G says:

    One other ‘command not found’ occurs when trying to use one of your own programs/scripts in a directory that is not in your path:

    ~/dbapp 513 % db_test
    -bash: db_test: command not found

    To fix it, prefix the command with ‘./’

    ~/dbapp 514 % ./db_test
    Success

    Not tested on Mojave

  27. Omroni says:

    I would definitely recommend installing Homebrew for adding those third party tools that don’t come with the Mac.

    But aside from that I don’t see how someone could mess up their path, maybe I am just not versed enough to get it.

Leave a Reply

 

Shop on Amazon.com and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks

News

iPhone / iPad

Mac

Troubleshooting

Shop on Amazon to help support this site