Linux / UNIX: Command Not Found Error and Solution

by on January 17, 2006 · 52 comments· LAST UPDATED September 24, 2012

in , ,

Why I am getting the error Command not found? How do I fix this problem?

A common question asked by new Linux or UNIX users. When you get the error "Command not found" it means that Linux or UNIX searched for command everywhere it knew to look and could not find a program by that name. Another cause is you misspelled the command name (typo) or administrator does not at all install the command on your Linux/UNIX based system. To get rid of this error try the following suggestions:

Make sure command was not misspelled

All Linux and UNIX commands are case sensitive and you need to type correct spelling of command.

Make sure command is your path

You can see current search path with following command:

$ echo $PATH

Sample outputs:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/home/vivekgite/bin

Usually, all user commands are in /bin and /usr/bin or /usr/local/bin directories. All your programs are installed in these directories. When you type the clear command, you are running /usr/bin/clear. So if it is not in your path try to add directories to your search path as follows (setup Linux or UNIX search path with following bash export command):

$ export PATH=$PATH:/bin:/usr/local/bin

You can also find out of path of any command with which or whereis commands:

$ which ls

/bin/ls

$ which gcc

/usr/bin/gcc

$ which date

/bin/date

$ which cal

/usr/bin/cal

$ whereis gcc

/usr/bin/gcc

You can run a program using its full pathname as follows:

$ /bin/ls
$ /bin/date

Finally, sometime you may not have permission to run the command.

Example

Let's assume the program you want to execute is called "cal" and you get a "Command not found" message from Unix or Linux. First, type the following command to see if you get a path name:
$ whereis cal
Sample outputs:

cal: /usr/bin/cal /usr/share/man/man1/cal.1.gz

If you do, you can invoke it using a full path name (e.g. /usr/bin/cal):
$ /usr/bin/cal
Sample outputs:

   September 2012
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

Or You can add the path to your PATH variable in your shell start-up file $HOME/.cshrc (csh/tcsh) or $HOME/.bashrc (bash) file, then "source" the file:
$ vi $HOME/.bashrc
Add the path as follows:

PATH=$PATH:/home/vivek/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
export PATH

Save and close the file. Run the following command:
$ source ~/.bashrc
$ echo $PATH
$ cal

Finally, you can use the following command to search for cal command get a hit about its location.
$ find / -name cal -print
Then, invoke it using a full path name or add it to your PATH variable in your shell startup file.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 52 comments… read them below or add one }

1 Lei Zhu October 2, 2006 at 3:13 am

Hi,I have a problem when I run the command under Cygwin.
I type
./run.bash
However,it shows:
:command not found
‘/run.bash: line 6: Syntax error near unexpected token ‘

‘/run.bash: line 6: ‘function gplot’

All this code was definitely right, that’s our teacher who give to us..
So what’s the problem?
Thank you

Reply

2 nixCraft October 2, 2006 at 7:02 am

Line 6 has an error. Can you just copy and paste your source code here. Put in

<code>your script code…</code>

tags, so that I can help you further.

Reply

3 sanjay August 20, 2007 at 7:17 pm

the command ‘setup’ is not working, it says command not found although there is a man page for that command…can u help me how to make it work or is there any alternate command for the above??

Reply

4 sandeep September 7, 2007 at 5:51 am

Hi
I have a bash script say “simulate”.
When i type simulate on cmd prompt, it says
command not found. but when i type
./simulate it works.
What can be reason. i checked PATH, /bin is there.
Which bash says /bin/bash.
regards
Sandeep

Reply

5 nixCraft September 7, 2007 at 10:19 am

Sandeep,

Add your home directory to PATH
export PATH=$PATH:/home/you

Reply

6 Hiroshi November 23, 2010 at 5:04 am

Thank you so much!

I was having this same problem.

Reply

7 ranjani November 20, 2007 at 8:43 am

Hi configure command is not there in my bin folder. So this command is not executing. Pls help me that what i have to do to run this command?

Reply

8 CL23 December 23, 2007 at 1:07 am

If the $PATH variable is correct a fully qualified path works, try typing “rehash” at the command prompt to update the systems list of valid commands.

Reply

9 shan August 20, 2008 at 6:04 pm

the man command is not working
it gives comand not found error.

Reply

10 jathin sanghvi November 4, 2008 at 1:05 pm

i get an error as ‘Command not found’ when i use zgrep. can any one help me on this. any command to grep through zip files(i need the filename as output)

Reply

11 zaid December 12, 2008 at 8:15 am

hi guys!

i’m new to ns2..could someone please tell me why i keep having “command not found” error messages as follows. What should i doooo??? HELP

zaid@ymax-hw-0006:~/Desktop/ns-allinone-2.32/ns-2.32$ testing.tcl
/home/zaid/Desktop/ns-allinone-2.32/ns-2.32/testing.tcl: line 4: namtrace-all: command not found
/home/zaid/Desktop/ns-allinone-2.32/ns-2.32/testing.tcl: line 6: proc: command not found
/home/zaid/Desktop/ns-allinone-2.32/ns-2.32/testing.tcl: line 7: global: command not found
/home/zaid/Desktop/ns-allinone-2.32/ns-2.32/testing.tcl: line 8: flush-trace: command not found
/home/zaid/Desktop/ns-allinone-2.32/ns-2.32/testing.tcl: line 9: close: command not found
zaid@ymax-hw-0006:~/Desktop/ns-allinone-2.32/ns-2.32$ Cannot connect to existing nam instance. Starting a new one…

nam: Unable to open the file “out.nam.nam”

Reply

12 Jonas August 19, 2009 at 4:16 pm

Help me
I have a samba server configuration , and when I will start it, it show me this post of error
/bin/bash: smbd: command not found
And I don´t know what i have to do for fix it

Reply

13 swarnima October 10, 2009 at 11:21 am

hi
when i used the echo command
its showing command not found
and i dnt know how to fix
plz help me

Reply

14 Didi October 11, 2009 at 9:21 am

my Linux Fedora 6 was hacked by some one who change the rights of root and give himself all right
now i can enter with root but when i want to execute command always get this message ‘commang not found’
what can i do to take back my root right please?

Reply

15 Zeeshan November 16, 2009 at 9:31 pm

This is very very easy and useful. *** V V Good ***

Reply

16 swapna November 18, 2009 at 9:43 am

Hi,

I want to execute sas program through unix script.
I tried to execute simple program through script.below is the script:
#/bin/ksh
cd //SASDATA/cz/cp151/Macros
sas a.sas

However, I could not execute it.I get following message:
sh test.sh
test.sh: sas: not found

Please guide me .

Reply

17 RAJU A February 10, 2010 at 6:04 am

Dear friendz,
When i open terminal in ubuntu linx,it showing me::::; desktop:command not found

Reply

18 gejuboy April 18, 2010 at 9:05 pm

I have installed successfull the ns2 .Tclscripts can’t be compiled,morover,uptil now(because i have just tried very simple & small programes) “puts” command is not working.It is saying- command not found.I have installed cygwin in g drive.I am opening the prompt from desktop shortkut & entering the directory by-
$ cd c:
$ cd cygwin
$ set a “5″
$ puts a
bash: puts: command not found
also i was trying to find whereis “puts command” i found the location but i dont know how to handle the problem .
puts: usr/share/man/man3/puts.3.gz

Thanks in advance……….

Reply

19 Sameer April 19, 2010 at 12:12 pm

Hi Vivek,

I want to know the path for command “export”, command “set”
when I am doing
[root@test usr]# /usr/bin/which export
/usr/bin/which: no export in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin)

can you please help me on this?

Cheers,
Sameer

Reply

20 Justin May 6, 2010 at 2:13 am

Hi,
I ran into a “make: arm_v5t_le-gcc: command not found” with “make” facility while I was doing compile a program.
I ran this compiling with arm_v5t_le-gcc full path, I got the same error.
I checked the $PATH, and the the arm_v5t_le-gcc is in there.
I checked with “locate”, and the arm_v5t_le-gcc is there.
I checked with “which”, and the arm_v5t_le-gcc is there.
I checked the permission, and the arm_v5t_le-gcc is 755.
What else may cause this “command not found” error? Any guys can help me?
Thank you very much!
Cheer,
Justin

Reply

21 gherson May 24, 2010 at 4:00 pm

which is in Base and Utils but whereis I can’t find in Cygwin

Reply

22 a September 2, 2010 at 9:23 am

thx mate,
I had terrible bugs because I named a variable PATH

find … | while read
PATH=subtr.

Reply

23 praveen October 31, 2010 at 8:03 am

thanks
export PATH……………
worked

Reply

24 chamberlain 7th January 25, 2011 at 8:46 am

it worked! thanks! very useful

Reply

25 ambitious February 16, 2011 at 10:13 pm

hey there I am using backtrack4 in windows 7 my graphics card is atı hd 5650
when ı command this :
airodump-ng -w captura -c 11 — bssid 00:3e:d7:65:e2:87 wlan0
I GET ALLWAYS SAME ERROR
bash: 3e: command not found

note :I can see all of wifi/wlan etc.

Reply

26 kaosmonk February 24, 2011 at 4:26 pm

do you happen to know where to look for that specific message “command not found” in centos? I’d like to chnage it to something else but am not able to locate it anywhere… have found it in other distros like ubuntu/debian – they have it in /etc/bash.bashrc and they even have such package by name command-not-found… and I was able to replace it with desired content… so, is there a way to perform the same on centos?

Reply

27 chat March 7, 2011 at 3:14 pm

oldmodes is the users: command not found

Reply

28 Deswal April 8, 2011 at 2:21 am

I am using cygwin and when i compile program hello.cc
by command gcc hello.cc -o hello
it shows installation problem,cannot exec ‘cc’plus’:No such file or directory

but when i execute program with command ./hello.exe
it shows output

how should i remove this problem plz tell me.

Reply

29 amir May 17, 2011 at 9:30 am

Hi . I am using Red hat E 4 and i am working bops simulator.
after compile makefile , bops exe is producted and existed.
but by input command :bops test
Error is : bops :not command found.
thanks.

Reply

30 Radhika July 14, 2011 at 10:37 am

hi, I have installed ns2 simulator in fedora5.The installation happened perfectly,
but when i start opening ns,I am geeting error as command not found
$ns
$nam
error :command not found
please help me if i need to set any variables

Reply

31 ramani July 15, 2011 at 7:17 am

i dont get vi editor screen.whan i type “vi file name” i get the answer as command not found.i will be in /bin/bash. how did i over this problem.

Reply

32 sujith April 13, 2012 at 5:06 pm

try vi filename.sh

Reply

33 Vadim September 1, 2011 at 8:29 am

Thank you so much!!

Reply

34 sandeep September 16, 2011 at 10:23 am

while using proc command in cygwin its displaying
bash:proc -command not found

can you please help me on this?

Reply

35 Justin October 1, 2011 at 12:38 pm

Hi,
I just found this thread through Google.

My situation was similar, but the resolution was simple and different. It wasn’t related to the code at all.
I was on my Windows 7 machine connecting to my UNIX server through Notepad++ using the FTP plugin.

I was getting the same error mentioned here –
} ./test_script.sh
./test_script.sh: Command not found.

After looking at the initial things I was like “Doh!” and I checked the Notepad++ -> Edit Menu -> EOL Converstion settings and of course it was set to Windows and not UNIX.

After I set it to UNIX and uploaded the latest copy, the program executed without problems.

Just thought I’d note that here in case people have the same issue.

Peace,
Justin

Reply

36 Amir May 7, 2012 at 8:52 pm

Thank you. I had some issue similar to yours and this helped me :)

Reply

37 Deepak November 9, 2011 at 12:50 pm

hi, I have installed ns2 simulator in fedora5.The installation happened perfectly,
but when i start opening ns,I am geeting error as command not found
$ns
$nam
error :command not found
please help me if i need to set any variables

Reply

38 vasanth March 8, 2012 at 4:05 am

How to resolve it…. IBM AIX 5.3….. Please help..

 man chlv
sh[9]: tbl:  not found.
sh[9]: nroff:  not found.
sh[9]: col:  not found.
# man chvg
sh[9]: tbl:  not found.
sh[9]: nroff:  not found.
sh[9]: col:  not found.
# man mkvg
sh[9]: tbl:  not found.
sh[9]: nroff:  not found.
sh[9]: col:  not found.
# man lspv
sh[9]: tbl:  not found.
sh[9]: nroff:  not found.
sh[9]: col:  not found.

Reply

39 sujith April 13, 2012 at 5:04 pm

hi
i want to check whether the unzip command has worked properly.. i mean to say whether unzip have unzipped all the file or folders correctly in an another folder..based on that i have to send notification….i think there is some option called $? where i can check in the particular folder ..if it is suceesful, i will get value 1..i am not sure..please let me know…

Reply

40 Toufiq April 14, 2012 at 7:37 am

hi,
i m getting error as bash : command not found while compilation c programming can you tel me how to get rid of it.

Reply

41 flintiii May 30, 2012 at 12:40 pm

This happens under Cygwin. You find yourself using two editors, one in Window$ and one in LInux. What happens is you get DOS cr/lfs (^M) in the file and these create all sorts of havoc in the bash command stream.

The only way out is to keep the streams separate.

Reply

42 Piyali July 7, 2012 at 4:42 pm

Hi everybody,
I have installed ns2 and cygwin in windows 7. it works. but I faced one problem. when I want to run tcl and write ns simple.tcl it shows -bash: ns: command not found…..kindly solve my problem.waiting for your reply………

Reply

43 couldn't read file "namtrace-all": no such file or directory July 18, 2012 at 7:57 am

sir
i have installed ns2 suhan it gives errorcessfully but when i run a programme
it gives error
couldn’t read file “namtrace-all”: no such file or directory
my prograame is
set ns [new Simulator]
set nf [open out.nam w]
$ns namtrace-all $nf

proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam &
exit 0 }

set n1 [$ns node]
set n2 [$ns node]
$ns duplex-link $n1 $n2 1Mb 10ms DropTail
$ns at 5.0 “finish”
$ns run

Reply

44 sampath July 23, 2012 at 7:02 am

hi frnds,
yum server installing step the createreppo, command not fount &-bash this command not fount what’s the prblm? wt 2 to 4 that one?

Reply

45 gregg August 10, 2012 at 2:01 pm

another reason scripts can fail is because the line ending is DOS instead of UNIX. i am guessing that this is because the first line that specifies the interpreters name will see the extra linefeed. this can happen if you used any windows-based line editing app… even vi on unix will continue in DOS mode if it finds a linefeed anywhere in the file, so just editing with vi is not enough to convert the file.

try running the dos2unix command on your script to rewrite the script without linefeeds.

Reply

46 Mallika September 22, 2012 at 1:22 am

Needed dos2unix, that had been my problem – but I see that’s already been mentioned here! It seems I get better error messages as root

[root@xxx bin]# ./productionScript.sh
-bash: ./productionScript.sh: /bin/sh^M: bad interpreter: No such file or directory
[root@xxx bin]# su yyy
xxx:yyy 1> ./productionScript.sh
./productionScript.sh: Command not found.

Reply

47 shreekanth September 30, 2012 at 4:37 pm

bash : ls: command not found in linux to chnge the directories or to opening the vi editor

Reply

48 Monica March 6, 2013 at 7:03 am

Thank you very much! Setting the variable path works!

Reply

49 rob July 27, 2013 at 11:49 am

why these are command not found in the binutils-build?
–prefix=/tools
–with-sysroot=$LFS
–with-lib-path=/tools/lib
–target=$LFS_TGT
–disable-nls
–disable-werror

Reply

50 Cherry September 17, 2013 at 6:01 pm

i installed nasm . now when i assemble in terminal ,it produces the .o file but when i write the command for linking, ld -o str str.o , it says bash: ld: command not found… what’s wrong?

Reply

51 Manjeet September 29, 2013 at 10:47 am

I have created a simple script in a file and stored at location (/home/mint).I have changed the file permission to 755 to make it executable.However when i type file name on terminal it shows me that “Command not found”. Here is the solution:
1) File name program1.sh
#!/bin/sh -x
ls -l
2)Stored at location /home/mint
3)make it executable
$chmod 755 program1.sh
4)PWD
/home/mint
5)add the location of file in the PATH variable
$export PATH=$PATH:/home/mint
6)ls command should be in the path as per $PATH variable value.
you could checke for ls command in /bin,/user/bin etc
7)$program1.sh
type and hit enter it should work.

This is my first script so If I am not wrong, program1.sh is a command itself to unix after making it executable.So it is searching this file in the $PATH if it is not there then there is a error.”Command not found”

Reply

52 kARAN October 9, 2013 at 2:30 pm

hey i get this as i open terminal
“ns-allinone-: command not found”
also i cannot run tcl file.
What is the solution?

Reply

Leave a Comment

Tagged as: , , , , , , ,

Previous Faq:

Next Faq: