今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后立刻用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到。
linux
[root@centos1 ~]# ifconfig -bash: ifconfig: command not found |
首先,习惯性的输入echo $PATH(查看当前PATH环境变量,跟DOS的path命令同样的功能,注意Linux系统中的命令是区分大小写的),显示结果以下:
windows
[root@centos1 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin |
从上面显示结果看,放置系统管理程序的路径/usr/sbin已存在,就是放外部命令的路径。直接用ls查看/usr/sbin/目录,也没看到ifconfig,怎么回事?
centos
[root@centos1 ~]# ls /usr/sbin/ |
我仍是不死心,再用find和which命令也没找到ifconfig
bash
[root@centos1 ~]# find / -name "ifconfig"网络 没有显示 [root@centos1 ~]# which ifconfigless /usr/bin/which: no ifconfig in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) |
此时内心有底了,应该是用某个命令代替了ifconfig了。上百度一查,果不其然,已经用ip命令代替ifconfig命令了。下面列出ip命令经常使用参数。ide
Ip [选项] 操做对象{link|addr|route...}工具 # ip link show # 显示网络接口信息 # ip link set eth0 upi # 开启网卡 # ip link set eth0 down # 关闭网卡 # ip link set eth0 promisc on # 开启网卡的混合模式 # ip link set eth0 promisc offi # 关闭网卡的混个模式 # ip link set eth0 txqueuelen 1200 # 设置网卡队列长度 # ip link set eth0 mtu 1400 # 设置网卡最大传输单元 # ip addr show # 显示网卡IP信息 # ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1 # ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址 # ip route list # 查看路由信息 # ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口 # ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254 # ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关 # ip route del default # 删除默认路由 |
输入ip addr命令后,发现enp2s0网卡(这个enp2s0是我这里的网卡)中没有ip地址。
[root@centos1 ~]# ip addr |
既然没有ip地址,那直接去/etc/sysconfig/network-scripts目录中看一下的网卡ip信息的配置文件名吧。
[root@centos1 ~]# ls /etc/sysconfig/network-scripts/ ifcfg-enp2s0 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team init.ipv6-global ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort network-functions ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel network-functions-ipv6 ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless |
从结果看,以前保存网卡ip信息的配置文件名也由之前的ifcfg-eth0变成了ifcfg-enp2s0,若是你的仍是ifcfg-eth0,那就修改这个名称的配置文件就行了,我这里已经变成了ifcfg-enp2s0,好吧,既然系统给他命了这么个名,那就直接修改这个配置文件就好了。先cat一下ifcfg-enp2s0
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0 HWADDR=00:E0:69:01:6A:96 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp2s0 UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01 ONBOOT=no |
从上面的配置中有看到虽然BOOTPROTO=dhcp,可是ONBOOT=no,这里用vi将ONBOOT=no改为ONBOOT=yes,而后用shutdown -r重启CentOS(固然也能够用ifdown和ifup,network命令重启网卡,后面有介绍,我这里是习惯性的用shutdown -r重启,vi是linux下的文本编辑器,相似于windows下的notepad.exe[记事本软件],不会用的朋友请自行百度vi)。
[root@centos1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp2s0 HWADDR=00:E0:69:01:6A:96 |
重启系统:
[root@centos1 ~]# shutdown -r |
重启完成后输入账号和密码进入命令提示操做符继续用ip addr查看网卡信息。结果以下:
[root@centos1 ~]# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:e0:69:01:6a:96 brd ff:ff:ff:ff:ff:ff inet 172.8.1.200/24 brd 172.8.1.255 scope global enp2s0 valid_lft forever preferred_lft forever inet6 fe80::2e0:69ff:fe01:6a96/64 scope link valid_lft forever preferred_lft forever |
从上面结果看到,经过DHCP分配到的ip地址是172.8.1.200,虽然是测试机,但为了便于从此的远程链接,咱们仍是给这台机配置一个固定ip吧。
再次用vi打开vi /etc/sysconfig/network-scripts/ifcfg-enp2s0,输入如下参数,再用#将BOOTPROTO=dhcp注释。 IPADDR0=172.8.1.211 PREFIX0=24 GATEWAY0=172.8.1.1 DNS1=172.8.1.1 |
完整参数以下,好了,网络配通了。明天继续其它功能测试。
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0 HWADDR=00:E0:69:01:6A:96 TYPE=Ethernet #BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp2s0 UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01 ONBOOT=yes IPADDR0=172.8.1.211 PREFIX0=24 GATEWAY0=172.8.1.1 DNS1=172.8.1.1 |
当联上互联网后,咱们能够用yum install net-tools安装net-tools组件,将ifconfig命令找回来。有了互联网一切都好办了。net-tools工具包安装好之后netstat命令也有了。
[root@centos1 ~]#yum install net-tools |
=======================================
linux下启动和关闭网卡命令汇总:
linux命令1: ifup、ifdown:
实时地手动修改一些网络接口参数,能够利用ifconfig来实现,若是是要直接以配置文件,亦便是在 /etc/sysconfig/network-scripts里面的ifcfg-ethx等文件的设置参数来启动的话,那就得要经过ifdown或ifup来实现了。
[root@linux ~]# ifup {interface} [root@linux ~]# ifdown {interface} [root@linux ~]# ifup eth0 |
ifup与ifdown真是太简单了。这两个程序实际上是script而已,它会直接到 /etc/ sysconfig/network-scripts目录下搜索对应的配置文件,例如ifup eth0,它会找出ifcfg-eth0这个文件的内容,而后加以设置。关于ifcfg-eth0的设置请参考前一章连上Internet的说明。
不过,因为这两个程序主要是搜索设置文件(ifcfg-ethx)来进行启动与关闭的,因此在使用前请肯定ifcfg-ethx是否真的存在于正确的目录内,不然会启动失败。另外,若是以ifconfig eth0来设置或者是修改了网络接口后,就没法再以ifdown eth0的方式来关闭了。由于ifdown会分析比较目前的网络参数与ifcfg-eth0是否相符,不符的话,就会放弃此次操做。所以,使用ifconfig修改完毕后,应该要以ifconfig eth0 down才可以关闭该接口。
linux命令2: /etc/init.d/network restart
[root@CentOS2 ~]# /etc/init.d/network restart 正在关闭接口 eth1: [肯定] 关闭环回接口: [肯定] 弹出环回接口: [肯定] 弹出界面 eth1: Determining if ip address 10.0.0.168 is already in use for device eth1... [肯定] |
linux命令3: service network restart
[root@CentOS2 ~]# service network restart 正在关闭接口 eth1: [肯定] 关闭环回接口: [肯定] 弹出环回接口: [肯定] 弹出界面 eth1: Determining if ip address 10.0.0.168 is already in use for device eth1... [肯定] |
如何让LINUX网卡开机自动启动
激活网卡的命令是:ifconfig eth0 up你既然知道了命令,本身作一个脚本,放在启动项目就能够了。
经过编辑网卡配置文件修改网卡配置文件保存在/etc/sysconfig/network-scripts目录下面。
第一块网卡的文件是ifcfg-eth0
第二块网卡的文件是ifcfg-eth1
以此类推,若是若是你有一块,那么你就输入一下命令
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 打开以后,将ONBOOT=no,改成ONBOOT=yes,(若是没有,手动添加ONBOOT=yes),:wq保存退出,重启服务。 echo "ONBOOT=yes" >> /etc/sysconfig/network-script/ifcfg-eth0 在/etc/sysconfig/network-scripts中添加ONBOOT=yes设置网络开机自动启动 |
--------------------完--------------------------
CentOS若是是最小安装,不少命令没有,例如tree
[root@wp1 ~]# tree -bash: tree: 未找到命令 [root@wp1 ~]# which tree /usr/bin/which: no tree in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) [root@wp1 ~]# yum -y install tree 已加载插件:fastestmirror Determining fastest mirrors * base: mirrors.cn99.com * extras: mirrors.cn99.com * updates: mirrors.cn99.com base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/4): base/7/x86_64/group_gz | 165 kB 00:00:00 (2/4): extras/7/x86_64/primary_db | 153 kB 00:00:00 (3/4): updates/7/x86_64/primary_db | 5.1 MB 00:00:00 (4/4): base/7/x86_64/primary_db | 6.0 MB 00:00:01 正在解决依赖关系 --> 正在检查事务 ---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 =========================================================== Package 架构 版本 源 大小 =========================================================== 正在安装: tree x86_64 1.6.0-10.el7 base 46 k 事务概要 =========================================================== 安装 1 软件包 总下载量:46 k 安装大小:87 k Downloading packages: 警告:/var/cache/yum/x86_64/7/base/packages/tree-1.6.0-10.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY tree-1.6.0-10.el7.x86_64.rpm 的公钥还没有安装 tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00 从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥 导入 GPG key 0xF4A80EB5: 用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" 指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 软件包 : centos-release-7-7.1908.0.el7.centos.x86_64 (@anaconda) 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : tree-1.6.0-10.el7.x86_64 1/1 验证中 : tree-1.6.0-10.el7.x86_64 1/1 已安装: tree.x86_64 0:1.6.0-10.el7 完毕! [root@wp1 ~]# tree . ├── 2019-12-12-16honeys.txt ├── aaa.txt ├── anaconda-ks.cfg └── bbb.txt 0 directories, 4 files [root@wp1 ~]# |