今日在虚拟机器上执行 tcpdump 悍然提示标题那样的报错,最后找到了网上的解决办法。一共三步:
一、在 root 下,去家目录下检视.bash_profile 档案的 $PATH 变数(这个是环境变数)里有没有新增 tcpdump 所在目录
二、修改.PATH 变数,如果是:PATH=$PATH:$HOME/bin,则需要新增成如下: PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
三、储存.bash_profile 档案后在命令列里敲 source .bash_profile 使改动生效。
如果​你在执行其他的程式时也出现这个错误,不妨根据这个思路去解决问题!
下面是一些程式其所处的目录。​
主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin 。
./bin: bin 为 binary 的简写主要放置一些系统的必备执行档例如:cat 、 cp 、 chmod df 、 dmesg 、 gzip 、 kill 、 ls 、 mkdir 、 more 、 mount 、 rm 、 su 、 tar 等。
​/usr/bin: 主要放置一些应用站群软件工具的必备执行档例如 c++、 g++、 gcc 、 chdrv 、 diff 、 dig 、 du 、 eject 、 elm 、 free 、 gnome*、 gzip 、 htpasswd 、 kfm 、 ktop 、 last 、 less 、 locale 、 m4 、 make 、 man 、 mcopy 、 ncftp 、 newaliases 、 nslookup passwd 、 quota 、 smb*、 wget 等。
​/sbin: 主要放置一些系统管理的必备程式例如:cfdisk 、 dhcpcd 、 dump 、 e2fsck 、 fdisk 、 halt 、 ifconfig 、 ifup 、 ifdown 、 init 、 insmod 、 lilo 、 lsmod 、 mke2fs 、 modprobe 、 quotacheck 、 reboot 、 rmmod 、 runlevel 、 shutdown 等。
/usr/sbin: 放置一些互联网管理的必备程式例如:dhcpd 、 httpd 、 imap 、 in.*d 、 inetd 、 lpd 、 named 、 netconfig 、 nmbd 、 samba 、 sendmail 、 squid 、 swap 、 tcpd 、 tcpdump 等。 可以在家目录下检视.bash_profile 里的 PATH 。 然后执行下面命令 source .bash_profile 使其生效
非常感谢原文所提供的帮助~  http://www.phpzixue.cn/detail1104.shtml