I've actually written about ifconfig not found before, but noticed recently another possible scenario so will mention it today.
Make Sure Net-Tools Package is Installed
This is still the most common reason for your shell not finding the ifconfig command: it's just not installed by default. So install it using apt command:
$ apt install net-tools
Call ifconfig Using Full Path
This is the thing I noticed on my Debian VM earlier today: your regular user may not have /sbin directory in its PATH. Which means ifconfig command will still not work if you just type the command name:
greys@debian9:~$ ifconfig
-bash: ifconfig: command not found
You have new mail in /var/mail/greys
But if you type the full path to the command, it will work:
greys@debian9:~$ /sbin/ifconfig
enp0s3: flags=4163 mtu 1500
inet 192.168.1.XX netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:febe:8a41 prefixlen 64 scopeid 0x20
ether 08:00:27:be:8a:41 txqueuelen 1000 (Ethernet)
RX packets 26263716 bytes 9251567381 (8.6 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 131362 bytes 12206621 (11.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Update PATH Variable to Include /sbin
Edit the .profile file in your home directory. For me it's /home/greys/.profile.
Somewhere towards the end of it there should be a PATH variable updates section, on my VM it includes linuxbrew that I installed recently:
set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi PATH=$PATH:/home/greys/.linuxbrew/bin eval $(/home/greys/.linuxbrew/bin/brew shellenv)
We need to update this section. And if there isn't one, just create another one at the end of the file. Both changes should aim to add /sbin directory to the PATH variable.
Update the file:
PATH=$PATH:/home/greys/.linuxbrew/bin
… with this:
PATH=$PATH:/home/greys/.linuxbrew/bin:/sbin
… or create new one:
PATH=$PATH:/sbin
Save the file and read it again to test:
greys@debian9:~$ source .profile
/home/greys/.linuxbrew/Homebrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
That's it, type ifconfig and it should work now:
greys@debian9:~$ ifconfig enp0s3: flags=4163 mtu 1500 inet 192.168.1.XX netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::a00:27ff:febe:8a41 prefixlen 64 scopeid 0x20 ether 08:00:27:be:8a:41 txqueuelen 1000 (Ethernet) RX packets 26267641 bytes 9252896750 (8.6 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 131600 bytes 12231427 (11.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Leave a Reply