zoukankan      html  css  js  c++  java
  • 查看网络接口状态命令,取消添加多行注释,IP,网关dns,

    1.ifconfig -a
    2.ip link show
    3.ls /sys/class/net
    4.cat proc/net/dev
    5.netstat -i

    在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了。当然,你可以在安装系统时进行网络接口的配置。但是,对于某些人来说,他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置。众所周知,为了在命令行中进行网络设定的配置,我们首先必须知道系统中有多少个可用的网络接口。本次这个简单的指南将列出所有可能的方式来在 Linux 和 Unix 操作系统中找到可用的网络接口。

    在 Linux 中找到可用的网络接口

    我们可以使用下面的这些方法来找到可用的网络接口。

    方法 1 使用 ifconfig 命令

    使用 ifconfig 命令来查看网络接口仍然是最常使用的方法。我相信还有很多 Linux 用户仍然使用这个方法。

    $ ifconfig -a

    示例输出:

    enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500
        ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet)
        RX packets 0 bytes 0 (0.0 B)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 0 bytes 0 (0.0 B)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        inet 127.0.0.1 netmask 255.0.0.0
        inet6 ::1 prefixlen 128 scopeid 0x10<host>
        loop txqueuelen 1000 (Local Loopback)
        RX packets 171420 bytes 303980988 (289.8 MiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 171420 bytes 303980988 (289.8 MiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    
    wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255
        inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global>
        inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link>
        ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet)
        RX packets 564574 bytes 628671925 (599.5 MiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 299706 bytes 60535732 (57.7 MiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    如上面的输出所示,在我的 Linux 机器上有两个网络接口,它们分别叫做 enp5s0(主板上的有线网卡)和 wlp9s0(无线网卡)。其中的 lo 是环回网卡,被用来访问本地的网络的服务,通常它的 IP 地址为 127.0.0.1

    我们也可以在许多 UNIX 变种例如 FreeBSD 中使用相同的 ifconfig 来列出可用的网卡。

    方法 2 使用 ip 命令

    在最新的 Linux 版本中, ifconfig 命令已经被弃用了。你可以使用 ip 命令来罗列出网络接口,正如下面这样:

    $ ip link show

    示例输出:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
       link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff
    3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
        link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff

    你也可以使用下面的命令来查看。

    $ ip addr
    $ ip -s link

    你注意到了吗?这些命令同时还显示出了已经连接的网络接口的状态。假如你仔细查看上面的输出,你将注意到我的有线网卡并没有跟网络线缆连接(从上面输出中的 DOWN 可以看出)。另外,我的无线网卡已经连接了(从上面输出中的 UP 可以看出)。想知晓更多的细节,可以查看我们先前的指南 在 Linux 中查看网络接口的已连接状态

    这两个命令(ifconfig 和 ip)已经足够在你的 LInux 系统中查看可用的网卡了。

    然而,仍然有其他方法来列出 Linux 中的网络接口,下面我们接着看。

    方法 3 使用 /sys/class/net 目录

    Linux 内核将网络接口的详细信息保存在 /sys/class/net 目录中,你可以通过查看这个目录的内容来检验可用接口的列表是否和前面的结果相符。

    $ ls /sys/class/net

    示例输出:

    enp5s0 lo wlp9s0

    方法 4 使用 /proc/net/dev 目录

    在 Linux 操作系统中,文件 /proc/net/dev 中包含有关网络接口的信息。

    要查看可用的网卡,只需使用下面的命令来查看上面文件的内容:

    $ cat /proc/net/dev

    示例输出:

    Inter-| Receive | Transmit
    face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
    wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0
    enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0

    方法 5 使用 netstat 命令

    netstat 命令可以列出各种不同的信息,例如网络连接、路由表、接口统计信息、伪装连接和多播成员等。

    $ netstat -i

    示例输出:

    Kernel Interface table
    Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
    lo 65536 171420 0 0 0 171420 0 0 0 LRU
    wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU

    请注意 netstat 被弃用了, netstat -i 的替代命令是 ip -s link。另外需要注意的是这个方法将只列出激活的接口,而不是所有可用的接口。

    方法 6 使用 nmcli 命令

    nmcli 是一个用来控制 NetworkManager 和报告网络状态的命令行工具。它可以被用来创建、展示、编辑、删除、激活、停用网络连接和展示网络状态。

    假如你的 Linux 系统中安装了 NetworkManager,你便可以使用下面的命令来使用 nmcli 列出可以的网络接口:

    $ nmcli device status

    或者

    $ nmcli connection show

    多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
    2. 按大写字母I,再插入注释符,例如//
    3. 按esc键就会全部注释了

    取消多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
    2. 按字母j,或者k选中注释符号
    3. 按d键就可全部取消注释

    使用替换命令

    :% s/^/#/g 来在全部内容的行首添加 # 号注释
    :1,10 s/^/#/g 在1~10 行首添加 # 号注释


    IP地址、子网掩码、网关、DNS的关系

     

    什么是IP地址

    所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。

    什么是IP地址

    什么是子网掩码

    子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

    什么是网关

    网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。

    什么是网关

    什么DNS

    DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

    什么DNS

    IP地址、子网掩码、网关、DNS的关系

    IP地址,标示你电脑的身份!子网掩码,可以标示子网划分的情况,所属子网。默认网关,数据包默认选择的出口!一般是你的路由器地址!DNS服务器,把网站的域名转换成计算机能看懂的IP地址!简单来说,子网掩码 就是判断两个IP地址,是不是在同一个网段(或称子网),在同一网段的两个地址,可以直接通信。不管是通过IP地址也好,还是通过“计算机名”,都是可以的。如果两个IP地址,不在同一网段,这时候,要想通过IP地址访问另一网段的计算机(也是IP地址),就需要网关地址。网关地址就是出口的地址,而且,网关地址,是你最近的一个出口的地址。网关地址总是与你的计算机的IP地址是同一网段的。这一点是非常重要的。如果两台计算机,不在同一网段,如果想使用计算机名(就是类似于compute1、cp2之类的名称,称为NetBIOS名称),这时候,必须要使用WINS服务器来解析(或者手动编辑本机的hosts文件),这就是WINS服务器的做用。如果两台计算机,不在同一网段。

  • 相关阅读:
    Swift
    Swift
    书籍
    Swift
    Swift
    iOS系统架构
    Reveal真机(越狱)查看任意APP
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10815516.html
Copyright © 2011-2022 走看看