一 . 问题描述
1°. windows10下:(ps:比较好解决)
当您在cmd中输入命令将会出现下种情况:"ipconfig不是内部或外部命令,或不是可运行的程序或批处理文件"的奇怪行为.
2°. Red Hat Linux 5 (VMWare环境) 下 : (PS:比较繁琐,通常会引发一系列的权限与文件更改问题)
当您在命令行中输入命令ifconfig 回车 出现 : bash : ifconfig : command not found
二. 问题分析
归根结底,无论那种操作系统下:
都是未指定环境变量而导致的,设置环境变量 就相当于一个快捷方式 , 用于告诉系统 该到哪个地方去找一些命令行中输入的命令.
常见的环境变量如下:
①临时环境变量 : 只能CMD运行期间有效 每次执行 每次都要指明路径.
②用户环境变量 : Linux下或windows下只针对当前用户有效.(私享) 且为指定盘符.
③系统环境变量 : windows下Linux下普适 任何盘符 任何用户下都永久有效 (共享).
有了出错原因,我们就好解决问题啦…!!
三. 解决方法
3.1° windows 10
1>在系统盘符中搜索"ipconfig.*“文件 (一般都是存在的)2>搜索完毕检查是都存在一个或多个"ipconfig.exe"可执行文件.注意是可执行文件.里面有个” ipconfig.exe.mui "文件不是.
3>将其路径复制下来,若初夏多个ipconfig.exe且路径不同的文件请单个单个的试,都则全部复制也无效果.
4>设置环境变量:
控制面板 → 系统 → 高级系统设置 → 高级 → 环境变量 → 下方的系统变量 → path选项 → 编辑5>添加刚才复制的路径,粘贴 注意 路径之间以英文分号 '; ’ 结尾 , 注意: 每添加(更换)一条环境变量 都需要重启cmd调试.
6>直到输入ipconfig命令可以查到ip地址详细信息为止.
3.2° . Linux 下解决方案(略繁琐)
1> 首先Unix/Linux 中的 网卡是以 eth0 eth1 eth2 …等来识别的 首先请输入以下命令:
sudo service network restart 重启网络服务.
提示输入当前用户密码:
出现以下两种情况:
①若等待了一段时间 显示"正在决定eth0的ip信息…失败" 请重启电脑 观察启动界面 启动网络适配器时 启动时间过长 仍然提示上述信息. -----“正在决定eth0的ip信息…失败” 直接进入到步骤<3
②sudo干脆命令无效 提示command not found 或者 sudo is not in the sudoer file 等错误信息 进入步骤<2
2>切换到root用户 使用 “su -” 命令 , 原因: su - 命令 可以将root 的环境变量也一起带过去 .
执行以下命令: sudo visudo
进入后按以下ESC ,再按大写字母G 在文档最后一行添加行: [username] ALL = (ALL)ALL
wq 保存退出 切换到 [username]用户 再执行一次sudo service network restart 命令 查看效果 (一般也能直接进入步骤3)
3>准备工作
VMware 设置: 点击虚拟机 → 设置 → 硬件 → 网络适配器 → 网络连接 → 自定义选择
选择VMnet8(NAT模式) → 确定
windows 设置: 点击计算机 → 管理(工具) → (查看本地)服务
将 VMware DHCP service 服务启动. 关闭窗口 .
重启Linux操作系统 ,会发现 启动界面上的"正在决定eth0的ip信息…成功"
4>最后一步 , 环境变量设置
再次进入root用户,将 /sbin加入 path
输入命令行: vim /etc/profile
进入后按以下ESC ,再按大写字母G 在文档最后一行添加行: export PATH = “&PATH : /sbin”
wq保存
su 返回你常用的用户 输入 ifconfig
若命令存在但任然看不见ip详尽信息 请查看ets33 网卡的配置 ;
再次进入 root 超级用户
vim /etc/sysconfig/network-scripts/ifcfg-eth0
进行网卡配置 将 ONBOOT权限 更改为 yes
wq 保存退出 再次输入sudo service network restart 命令 ,成功后
输入ifconfig 命令 或(ip addr命令) 查看ip详尽信息即可.