本篇内容是总结罗列Liunx系统日常使用的基础操作!!!
目录
一、查看IP地址
1.1使用 ip 命令
1.2使用 ifconfig 命令
1.3使用hostname命令(仅显示主机名)
1.4使用curl命令获取公共IP地址
二、重启网卡(网络接口)
2.1 service network restart
2.2使用 Systemd 管理网络服务
2.3使用其他网络管理工具
2.4使用ifdown和ifup命令
2.5使用ip命令
三、接口重启检查
3.1使用 ifconfig 或 ip addr 命令
3.2使用 systemctl status 命令
3.3检查系统日志文件
ip
命令这个命令将显示系统中所有网络接口的详细信息,包括每个接口的 IP 地址、子网掩码、广播地址等。
ip addr
--或
ip a
如果想特定查看某个网络接口的 IP 地址,可以使用以下命令:
ip addr show
将
替换为要查看其 IP 地址的网络接口的名称,例如 eth0、wlan0 等。如果 ip addr show
命令显示的网络接口中没有找到 eth0
或 wlan0
,如图所示:
可能是因为你的系统使用了不同的命名约定或者网络接口名称已经更改。
此时可以检查可用的网络接口:运行以下命令来查看当前系统上可用的网络接口列表:
ip link show
根据提供的输出,可以看到两个网络接口:lo
和 ens32;
lo
是回环(loopback)接口,用于本地主机内部通信。该接口的 IP 地址通常为 127.0.0.1
,用于本机访问。ens32
是一个实际的网络接口。它显示为 UP
(启用)状态,并具有一些其他信息,如 MTU(最大传输单元)大小和 MAC 地址等。或者要只显示当前活动的网络接口信息,使用以下命令:
ip link show up
--获取网络接口的详细信息,使用该命令:
ip addr show
ifconfig
命令这会显示系统中所有网络接口的配置信息,包括每个接口的 IP 地址。
注意: 在某些发行版中,ifconfig 可能已经被标记为废弃命令,可能不默认安装,并被 ip 命令取代。如果发现你的发行版中 ifconfig 命令已被标记为废弃,那么可以使用 小节(1)的ip 命令来替代它。
我们可以通过安装
net-tools
软件包来获得该命令 ,net-tools
是一个软件包,提供了一些网络工具,包括ifconfig
命令。相比于net-tools
,现代的 Linux 发行版更倾向于使用iproute2
软件包中的命令来进行网络配置和管理。
如果你的 Linux 系统没有安装 iproute2
软件包,可以通过包管理器来安装它。在大多数基于 Debian 的发行版上(如 Ubuntu),可以使用以下命令来安装 iproute2
:
sudo apt-get update
sudo apt-get install iproute2
类似地,在基于 Red Hat 的发行版上(如 CentOS),可以使用以下命令来安装 iproute2
:
sudo yum install iproute2
注意:
在某些特殊情况下,可能需要根据特定的 Linux 发行版和版本进行适当的调整。
如果你的 Linux 发行版使用 yum
作为包管理器,并且没有可用的 iproute2
软件包,可以尝试执行以下命令来安装它:
sudo yum install iproute
这样做是为了尝试安装 iproute
软件包,它是 iproute2
的旧版本。虽然它可能不具备所有新功能,但在大多数情况下仍然可以使用。
在某些发行版中,ifconfig
可能被安装在 /sbin
目录下。需要通过指定完整路径来运行它:
/sbin/ifconfig
提示:
特定的发行版和版本可能会有所不同,如果上述命令不起作用的话,建议参考你的发行版的文档或社区支持以获取更准确的安装指南。
hostname
命令(仅显示主机名)仅显示系统的IP地址,而不包括其他接口和配置信息:
hostname -I
curl
命令获取公共IP地址通过访问ifconfig.me网站来获取你的公共IP地址,请确保系统上已安装curl工具 :
curl ifconfig.me
确定你的系统上是否安装了 curl
工具,可以使用以下命令:
curl --version
--或者:
curl -V
此命令会显示 curl
工具的版本信息。如果 curl 安装在系统中,你将看到版本号等相关信息,如图所示:
如果没有安装,将会得到一个命令不存在的错误提示。
可以使用以下命令来检查 curl
的可执行文件路径:
which curl
如果 curl
安装在系统中,该命令会显示 curl
可执行文件的路径。如果没有安装,则不会有输出。
如果发现 curl
未安装,可以通过包管理器来安装它。例如,在基于 Debian 的发行版上(如 Ubuntu),可以使用以下命令安装 curl
:
sudo apt-get update
sudo apt-get install curl
在基于 Red Hat 的发行版上(如 CentOS),可以使用以下命令安装 curl
:
sudo yum install curl
提示:
根据不同的 Linux 发行版和版本,安装
curl
的命令可能会有所不同。
service network restart
是一种旧版的命令,通常用于重启网络服务的整个栈,包括网络接口、DHCP 客户端和其他网络相关的组件。
但是,这个命令在许多现代的 Linux 发行版中已经被废弃,并且不推荐使用。相反,建议使用 systemctl
命令,现代的 Linux 发行版通常使用 systemctl
命令来管理网络服务。
对于使用 systemd
进行管理的系统,可以使用 systemctl
命令来重启网络服务。
--重启 NetworkManager 服务的命令
sudo systemctl restart NetworkManager
--或者
sudo systemctl restart network
根据我们使用的 Linux 发行版和版本,网络服务的名称可能不同。在某些发行版中,网络服务可能被称为 network
,而在其他发行版中,则可能被称为 Networking
、networking
或其他类似的名称。
类似地,sudo systemctl restart NetworkManager
是用于重启 NetworkManager 服务的命令网络服务,这个命令假设使用的是 NetworkManager 作为网络管理器;
同理sudo systemctl restart network是由 network
服务管理。
sudo systemctl restart NetworkManager.service
为了确定正确的网络服务名称,我们可以使用以下命令来查看可用的服务:
sudo systemctl list-units --type=service | grep network
比如下图显示我的网络服务名称:
这将列出所有与网络相关的服务。我就可以在输出中查找适合系统的网络服务。
注意:
为了运行这些命令,我们需要具有适当的管理员权限。
如 sysvinit 或 Upstart:
sudo service networking restart
将
替换为要重启的网络接口的名称,例如eth0、wlan0等。这将先关闭指定的接口,然后再重新启动它。
sudo ifdown
&&
sudo ifup
sudo ifdown eth0
&&
sudo ifup eth0
此命令依赖于 ifupdown 工具包,因此在你使用的系统上必须安装了这个工具包才能运行该命令。如果你的系统上没有安装 ifupdown,可以尝试使用其他网络管理工具或按照特定发行版的文档进行相应的调整。
同样需要确保以具有适当权限的管理员身份运行该命令,因为需要进行网络接口的操作。
将
替换为要重启的网络接口的名称,例如eth0、wlan0等。这将通过将接口设置为关闭状态然后再重新设置为打开状态来实现重启。
--将指定的接口禁用(断开连接)
sudo ip link set down
&&
--重新启用(重新连接)
sudo ip link set up
注意:
上述命令中的
sudo
是为了以管理员权限运行命令。在运行这些命令之前,请确保自己具有管理员权限或以 root 用户身份登录,并谨慎操作。除外,网络服务的具体命令可能因发行版和版本而异。因此,建议大家在特定发行版的文档或帮助资源中查找适合自己系统的命令。
如果你只是想重启网络接口而不是整个网络服务,请使用第四种方法中的
ifdown
和ifup
命令。
当我们重启接口后,需要确保接口可重启成功,要检查网络接口或网卡重启的情况以及是否成功可使用以下方法。
首先重启接口lo:
ifconfig
或 ip addr
命令查看网卡或接口的状态,比如要查看 l0 接口的状态,可以运行:
ifconfig lo
或者
ip addr show lo
查看输出中的状态信息,确保接口已启用并具有正确的 IP 地址和其他配置。
systemctl status
命令例如,如果使用的是 NetworkManager 作为网络管理器,可以运行:
systemctl status NetworkManager
查看输出中的状态信息,确保服务正在运行,并且没有出现错误或警告。
当运行 systemctl status NetworkManager
命令时,会显示 NetworkManager 服务的详细状态信息。输出结果中有几个关键字段可以用于判断服务是否正在运行:
Active: active (running)
或 Active: inactive (dead)
:这一行指示了服务的活动状态。active (running)
表示服务正在运行,inactive (dead)
表示服务已停止。
Loaded:
和 Drop-In:
:这些行显示了服务配置文件的加载情况。如果服务成功加载了配置文件,则表示服务正在运行。
Main PID:
:该行显示了服务的主进程 ID。如果存在主进程 ID,表示服务正在运行。
Tasks:
:该行显示了服务当前运行的任务数。如果任务数大于零,则表示服务正在运行。
除了上述字段外,还可以查看服务的启动时间、进程数量、内存使用情况等详细信息。
如果输出结果中显示 Active: active (running)
,并且存在主进程 ID、任务数大于零等相关信息,那么可以确定 NetworkManager 服务正在运行。
比如 /var/log/syslog
、/var/log/messages
中的相关日志消息,以了解有关网络接口或网络服务重启的详细信息。不同的 Linux 发行版和配置可能使用不同的日志文件路径。以下是一些常见的系统日志文件路径,大家可以尝试检查它们来查看网络接口或网卡重启的情况:
CentOS/RHEL:
/var/log/messages
/var/log/dmesg
Ubuntu/Debian:
/var/log/syslog
/var/log/kern.log
使用以下命令来查看这些日志文件的内容:
sudo tail -n 50
将
替换为上述列表中的日志文件路径之一。
比如在 /var/log/messages
日志文件中,可以查找以下信息来确定服务是否已重新启动:
网络服务的启动或停止信息:
NetworkManager.service: Starting Network Manager...
:表示 NetworkManager 服务正在启动。NetworkManager.service: Stopping Network Manager...
:表示 NetworkManager 服务正在停止。网卡/接口的链接状态变化:
eth0: Link is Up
或 eth0: link becomes ready
:表示 eth0 网卡已重新连接并准备就绪。eth0: Link is Down
或 eth0: link becomes unavailable
:表示 eth0 网卡已断开链接。这些消息通常会伴随着时间戳和其他相关信息,以提供更多的上下文。重启网络服务或网卡后,大家可能会看到类似的消息。
cat
命令或 less
命令查看完整的日志文件内容。例如,运行以下命令来查看 /var/log/syslog
文件的内容:cat /var/log/syslog
或
less /var/log/syslog
使用箭头键上下浏览日志内容。
grep
命令过滤特定的日志消息。例如,如果您想查找与网络接口或网络服务重启相关的日志消息,可以运行以下命令:grep "network" /var/log/syslog
我们根据日志消息的内容和上下文判断重启是否成功。重启接口的相关日志消息可能会包含有关接口状态、IP 地址、配置信息等的记录。通常,表示重启成功的日志消息可能包括以下一些指示:
“Interface restarted” 或 "Interface up":表示接口已成功重启并处于启用状态。
“IP address assigned” 或 "DHCP lease renewed":表示接口成功获取了 IP 地址或更新了 DHCP 租约。
"Interface configuration applied":表示接口的配置已成功应用。
没有错误或异常消息:如果没有显示任何错误或异常消息,并且有相关的成功消息,那么可以推断接口重启成功。
实际的日志消息内容和指示可能会因系统配置、发行版和版本而有所不同。根据大家的特定环境和日志消息,可能需要自行分析和判断重启是否成功。