What to do when a command isn't found?

Les Mikesell lesmikesell at gmail.com
Thu Jul 6 17:16:49 UTC 2006

On Thu, 2006-07-06 at 09:58 -0700, Timothy Alberts wrote:
> So I get this every now and then and haven't found a smooth method of
> dealing with it.  I have my desktop upgraded from FC4 to FC5 and the
> command 'ifconfig' comes back with 'bash: ifconfig: command not found.'
> Additionally, I have been through tutorials on the web and different
> books on running commands that more often than not, the bash shell comes
> back with the same message.
> My first question is, are the shell commands and features standardized
> somewhere so that I know what commands I can expect to have no matter
> what machine I'm sitting at or what type of installation I have?  My
> second question is, if these commands are supposed to be there, but the
> shell comes back and says they aren't, what is the procedure for finding
> the commands or installing the packages required for them?
> I understand the 'which xxx' command will tell me the location of the
> executable that is being used when I call a command.  However it doesn't
> help me find a missing command.  I also understand that typically shell
> commands are in /bin /usr/bin /usr/local/bin among others.  If it helps,
> when I type 'which ifconfig' the following is the result:
> /usr/bin/which: no ifconfig in
> (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:
> /usr/X11R6/bin:/home/talberts/bin)
> Sorry these are fairly general questions so if it's easier to just focus
> on the 'ifconfig' command that would be helpful.  Thank you for any
> response.

Both the shell and the 'which' command search the directories in your
PATH variable.  ifconfig is in /sbin along with other utilities
used for system administration. When you log in as root, /sbin and
/usr/sbin is included in the PATH setting. Normally other users don't
get those, although like most other things you can change that to
suit yourself.  If you "su - " from another logged in user you will
pick up root's login environment.  If you su without the '-' you keep
the original environment and thus the PATH.

  Les Mikesell
   lesmikesell at gmail.com

More information about the users mailing list