为了说明这个问题,首先我们需要解释一下在Linux系统下“网络接口”的含义。通俗来讲,Linux中的所谓网络接口就是指本机的网卡,它相当于计算机的一台负责对网络进行收发数据的外设。

如何在Linux系统下进行查看和操纵网络接口呢?查看和操纵网络接口,使用的都是同一个命令——ifconfig。

操纵网络接口,具体包括启动,关闭和临时修改网络接口参数。

在Linux下,所有的用户都可以使用ifconfig命令来查看网络接口,但是只有根用户才可以使用ifconfig操纵网络接口。

在使用ifconfig命令之前,必须先安装Linux网络包。安装方法为在shell中键入sudo apt install net-tools.

首先,我们来查看一下所有已开启的网络接口。(再次提醒,是已开启的网络接口,而不是所有的)

只要在shell中直接键入ifconfig即可。

其中,第一个ens33就表示网络接口的名字。

一般来讲,本机的第一个以太网网络接口的接口名为eth0.如果本机中有多个接口,则它们的名字会按照数字的顺序依次排列命名下去。

而本机的网络接口是本机的VMWare虚拟机网络接口,因此名字默认为ens33.

目前本机中只有一个已开启的网络接口。其余部分则显示了该网络接口的状态。

第一行的flags=4163<UP,BROADCAST,RUNNING,MULTICAST> MTU 1500 则表明该网络接口的运行状态,为:已经启用,支持广播和组播,MTU被设置为1500默认值。

第二行表明该网络接口的IPv4地址,本网络的子网掩码及本网络的广播地址。

第三行表明该网络接口的IPv6地址,prefixlen表示该地址的掩码长度,scopeid 0x20<link>表明,该网络接口的作用域仅该接口有效。

第四行表示该网络接口的MAC地址,txqueuelen表示传输队列长度为1000B,并表明该网络接口运行的环境为以太网。

第五行和第六行分别表示该网络接口接收的报文个数453,总字节数481.5KB,错误报文数,丢弃报文数,溢出报文数,冲突帧数。

第七行和第八行表示的是该网络接口发送的报文情况,具体含义和第五行与第六行相同。

对于下方的lo网络接口。lo叫做回环接口,它并不是一个真正的网络接口,它是一个特殊的,模拟出来的网络接口,每个系统都具有这样的一个接口,其IP地址永远为127.0.0.1,子网掩码为255.0.0.0.

回环接口为系统提供一个单机的网络环境,一般用于网络程序的调试。许多程序的运行也需要这个接口。我们一般不会去配置这个接口。

可以在ifconfig命令后加上一个具体的网络接口的名字来查看一个由用户指定的网络接口的信息。

如果网络接口因为一些其他原因没有启动,那么就无法在ifconfig命令的输出中查看其状态了。此时,可以在ifconfig命令后加入-a选项,以查看本机中所有网络接口的状态,无论其是否开启,是否被配置好。

使用ifconfig -a命令后可能出现的情况有三种:

一,仍然没有看到接口,那么说明网卡硬件连接或者驱动出现了问题,导致系统无法识别此网卡了,此时应该检查硬件或者重新安装驱动,如果仍然无法识别,则应该考虑更换网卡。

二,看到接口了,但是输出中没有Inet address,broadcast,mask等参数出现,那就说明网卡硬件没有问题,是接口没有配置好,此时应该查看并编辑相关配置文件,对接口进行配置。

三,看到接口了,并且接口一切正常,那么就是接口未开启。可以使用ifconfig 接口名 up命令来开启接口。(up对应down,表示关闭接口)

如果要临时改变网络接口的配置参数,也可以使用ifconfig命令:

如设置eth0接口的地址为172.168.19.54的命令为:

ifconfig eth0 172.168.19.54 255.255.255.0

因为这个IP地址对应的子网掩码为24位1+8位0.

再比如,设置该网络接口的MTU值的命令为:

ifconfig eth0 mtu 你想设置的值

注意:

1.ifconfig命令修改网络接口参数,只能由root用户完成;

2.ifconfig命令修改网络接口参数是临时的,一旦系统重启,或者网络重启,这些修改将会失效;

3.在远程连接主机时,不要轻易改动网络参数,否则很有可能导致掉线。

Linux下利用ifconfig命令查看和操纵网络接口的更多相关文章

  1. Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0".   ...

  2. Linux下利用script命令录制并回放终端会话

    Linux下利用script命令录制并回放终端会话 核心命令 script 和 scriptreplay 录制屏幕 script -t 2>timescript typescript 命令解释: ...

  3. Linux下使用date命令查看和修改时间

    1.查看系统时区和时间,执行命令date -R “-0500”代表西五区(America/New_York),北京的时区为“+0800”(东八区). 2.查看硬件时间,执行命令hwclock --sh ...

  4. Linux下利用nc命令来监控检测服务器的端口使用情况(转载)

    最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉 ...

  5. Linux下使用tree命令查看目录结构

    Linux下的文件虽然是层次型组织结构的,但是我们平时登录到主机上的时候都是使用的各种shell并没有图形界面,看上去很不直观,Linux下有个小命令叫做tree,可以以目录树的形式显示文件结构,类似 ...

  6. linux下使用free命令查看实际内存占用(可用内存)

    转:http://blog.is36.com/linux_free_command_for_memory/ linux下在终端环境下可以使用free命令看到系统实际使用内存的情况,一般用free -m ...

  7. linux下用top命令查看cpu利用率超过100%

    今天跑了一个非常耗时的批量插入操作..通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%..以前没注意..通过在top的情况下按大键盘的1,查看的cpu的核数为4核. 通过网上查 ...

  8. linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    除了题目中的问题,其实在执行命令:service network restart时,会报错: 解决办法: 首先需要修改70-persistent-net.rules文件: vim /etc/udev/ ...

  9. linux下的ifconfig命令

    ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置. 1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设 ...

随机推荐

  1. Angular *ngIf length

    Angular *ngIf length 在Angular中如何判断*ngIf Arrary的长度? 具体代码如下: result = []; <div class="kt-secti ...

  2. C#未能找到类型或命名空间名称xxxxxx的可能原因

    常见原因 原因:使用的.NET版本不一样 今天又被这问题撞上了,结果神奇般的解决了 谷歌了很久都没有找到真正有用的解决方案,所以在这儿写下,让更多的人看到 最根本的原因其实就是引用的问题,引用错了,然 ...

  3. 【程序包管理】Linux程序包管理之yum源安装

    yum源安装是我们工作中常用的一种方式,它是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RP ...

  4. 如何在iOS设备中配置S/MIME邮件签名证书

    本篇将介绍如何在iOS设备(如iPhone或iPad)上导入.配置并使用S/MIME邮件证书. 前置条件: iOS设备上已完成邮箱账号配置: 您的S/MIME邮件证书PFX/P12文件已导出备用. 步 ...

  5. RxHttp 完美适配Android 10/11 上传/下载/进度监听

    1.前言 随着Android 11的正式发布,适配Android 10/11 分区存储就更加的迫切了,因为Android 11开始,将强制开启分区存储,我们就无法再以绝对路径的方式去读写非沙盒目录下的 ...

  6. Linux嵌入式学习-Mplayer交叉编译-undefined reference to `clock_gettime' MPlayer

    編譯Mplayera. 配置.configure# ./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm --enable-static ...

  7. SpringBoot全局时间转换器

    SpringBoot全局时间转换器 日常开发中,接收时间类型参数处处可见,但是针对不同的接口.往往需要的时间类型不一致 @DateTimeFormat(pattern = "yyyy-MM- ...

  8. JavaDailyReports10_18

    学习内容:HTML基本知识 1.通常标记具有默认属性,当一个标记中只有标记名时,使用默认属性. 2.HTML标记有两种:单标记和双标记,单标记的语法格式:  <标记名称/> 3.不同的属性 ...

  9. Java学习日报 9.29

    package random;import java.util.*;import java.math.*;public class Com { public static void main(Stri ...

  10. python之hashlib、suprocess模块

    一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...