博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux运维 常用命令(常用网络命令和关机重启命令)
阅读量:4105 次
发布时间:2019-05-25

本文共 8572 字,大约阅读时间需要 28 分钟。

九、常用网络命令

1.配置 IP 地址

1.1 配置 IP 地址

IP 地址是计算机在互联网中唯一的地址编码。每台计算机如果需要接入网络和其他计算机进行数据通信,就必须配置唯一的公网 IP 地址。

配置 IP 地址有两种方法:

  1. setup 工具
  2. vi /etc/sysconfig/network-scripts/ifcfg-eth0 手工修改配置文件

1.2 重启网络服务

[root@localhost ~]# service network restart

#重启网络服务

1.3 虚拟机需要桥接到有线网卡,并重启网络服务

1.4 复制镜像有可能需要重置 UUID(唯一识别符)

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

#修改配置文件
[root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
#删除 MaC 地址和 UUID 绑定文件
[root@localhost ~]# reboot
#重启 Linux

2.ifconfig 命令

ifconfig命令的基本信息如下。

  • 命令名称:ifconfig。

  • 英文原意:configure a network interface。

  • 所在路径:/sbin/ifconfig。

  • 执行权限:超级用户。

  • 功能描述:配置网络接口。

    ifconfig 命令最主要的作用就是查看 IP 地址的信息,直接输入 ifconfig 命令即可。 [root@localhost ~]# ifconfig eth0: flags=4163
    mtu 1500 #标志 最大传输单元 inet 192.168.252.20 netmask 255.255.255.0 broadcast 192.168.252.255 #IP 地址 子网掩码 广播地址 inet6 fe80::546e:994b:30c:e2f7 prefixlen 64 scopeid 0x20
    #IPv6 地址(目前没有生效) ether 00:0c:29:aa:d2:96 txqueuelen 1000 (Ethernet) #MAC 地址 RX packets 3728 bytes 310958 (303.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 #接收的数据包情况 TX packets 3051 bytes 1495119 (1.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 #发送的数据包情况 lo: flags=73
    mtu 65536 #本地回环网卡 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10
    loop txqueuelen 1000 (Local Loopback) RX packets 8 bytes 696 (696.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8 bytes 696 (696.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

3.ping 命令

ping 是常用的网络命令,主要通过 ICMP 协议进行网络探测,测试网络中主机的通信情况。ping命令的基本信息如下。

  • 命令名称:ping。
  • 英文原意:send ICMP ECHO_REQUEST to network hosts。
  • 所在路径:/bin/ping。
  • 执行权限:所有用户。
  • 功能描述:向网络主机发送 ICMP 请求。

命令的基本格式如下:

[root@localhost ~]# ping [选项] IP

选项:

  • -b: 后面加入广播地址,用于对整个网段进行探测
  • -c 次数: 用于指定 ping 的次数
  • -s 字节: 指定探测包的大小

例子:探测网段中的可用主机

ping 命令中,可以使用“-b”选项,后面加入广播地址,探测整个网段。我们可以使用这个选项知道整个网络中有多少主机是可以和我们通信的,而不用一个一个 IP 地址地进行探测。例如:

[root@localhost ~]# ping -b -c 3 192.168.103.255	WARNING: pinging broadcast address	PING 192.168.103.255 (192.168.103.255) 56(84) bytes of data.	64 bytes from 192.168.103.199: icmp_seq=1 ttl=64 time=1.95 ms	64 bytes from 192.168.103.168: icmp_seq=1 ttl=64 time=1.97 ms (DUP!)	64 bytes from 192.168.103.252: icmp_seq=1 ttl=64 time=2.29 ms (DUP!)	…省略部分内容…

#探测 192.168.103.0/24 网段中有多少可以通信的主机

4.netstat 命令

netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。在 CentOS 7.x 中 netstat 命令默认没有安装,如果需要使用,需要安装 net-snmp 和 net-tools 软件包。

netstat 命令的基本信息如下。

  • 命令名称:netstat。
  • 英文原意:Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships。
  • 所在路径:/bin/netstat。
  • 执行权限:所有用户。
  • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。

命令格式如下:

[root@localhost ~]# netstat [选项]

选项:

  • -a: 列出所有网络状态,包括 Socket 程序
  • -c 秒数: 指定每隔几秒刷新一次网络状态
  • -n: 使用 IP 地址和端口号显示,不使用域名与服务名
  • -p: 显示 PID 和程序名
  • -t: 显示使用 TCP 协议端口的连接状况
  • -u: 显示使用 UDP 协议端口的连接状况
  • -l: 仅显示监听状态的连接
  • -r: 显示路由表

例子 1:查看本机开启的端口

这是本机最常用的方式,使用选项“-tuln”。因为使用了“-l”选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。例如:

[root@localhost ~]# netstat -tuln	Active Internet connections (only servers)	Proto	 Recv-Q 	Send-Q 	 			 Local Address 					  Foreign Address						 State	tcp		 0			 0					  0.0.0.0:3306 						  0.0.0.0:*							 LISTEN	tcp		 0			 0 					  0.0.0.0:11211						  0.0.0.0:* 					     LISTEN	tcp 	 0 			 0 					  0.0.0.0:22						  0.0.0.0:*							 LISTEN	tcp 	 0			 0					  :::11211 							  :::*                   		  	 LISTEN	tcp		 0 			 0 					  :::80								  :::*								 LISTEN	tcp		 0 			 0					  :::22								  :::*								 LISTEN	udp		 0			 0 					  0.0.0.0:11211					      0.0.0.0:* 	udp		 0			 0				      :::11211						      :::* 	#协议 接收队列		 发送队列  			本机的 IP 地址及端口号 			   远程主机的 IP 地址及端口号  			  状态

这个命令的输出较多。

  1. Proto:网络连接的协议,一般就是 TCP 协议或者 UDP 协议。

  2. Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。

  3. Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,一般是不具备 ACK标志的数据包。

  4. Local Address:本机的 IP 地址和端口号。

  5. Foreign Address:远程主机的 IP 地址和端口号

  6. State:状态。常见的状态主要有以下几种。

    - LISTEN:监听状态,只有 TCP 协议需要监听,而 UDP 协议不需要监听。- ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。- SYN_SENT:SYN 发起包,就是主动发起连接的数据包。- SYN_RECV:接收到主动连接的数据包。 - FIN_WAIT1:正在中断的连接。- FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。- TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。- CLOSED:套接字没有被使用。

在这些状态中,我们最常用的就是 LISTEN ESTABLISHED 状态,一种代表正在监听,另一种代表已经建立连接。

例子 2:查看本机有哪些程序开启的端口

如果使用“-p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的 PID。例如:

[root@localhost ~]# netstat -tulnp	Active Internet connections (only servers)	Proto Recv-Q	 Send-Q 	Local Address	 Foreign Address	 State 		PID/Program name 	tcp		 0		 0 			0.0.0.0:3306 		0.0.0.0:*		 LISTEN 	2359/mysqld 	tcp 	 0 		 0 			0.0.0.0:11211 		0.0.0.0:* 		 LISTEN 	1563/memcached 	tcp		 0		 0 			0.0.0.0:22		    0.0.0.0:* 		 LISTEN 	1490/sshd 	tcp 	 0		 0		    :::11211		    :::*			 LISTEN 	1563/memcached 	tcp		 0		 0 			:::80			    :::*			 LISTEN 	21025/httpd 	tcp		 0		 0 			:::22			    :::*			 LISTEN 	1490/sshd 	udp		 0		 0		    0.0.0.0:11211	    0.0.0.0:* 					1563/memcached 	udp		 0		 0		    :::11211		    :::* 						1563/memcached	#比之前的命令多了一个“-p”选项,结果多了“PID/程序名”,可以知道是哪个程序占用了端口

例子 3:查看所有连接

使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连(ESTABLISHED)、Socket 程序连接等。因为连接较多,所以输出的内容有很多。例如:

[root@localhost ~]# netstat -an

从“Active UNIX domain sockets”开始,之后的内容就是 Socket 程序产生的连接,之前的内容都是网络服务产生的连接。

我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态

5.write 命令

write 命令的基本信息如下。

  • 命令名称:write。
  • 英文原意:send a message to another user。
  • 所在路径:/usr/bin/write。
  • 执行权限:所有用户。
  • 功能描述:向其他用户发送信息。

[root@localhost ~]#write user1 pts/1

hello
I will be in 5 minutes to restart, please save your data
#向在 pts/1(远程终端 1)登录的 user1 用户发送信息,使用“Ctrl+D”快捷键保存发送的数据

6.wall 命令

write 命令用于给指定用户发送信息,而 wall 命令用于给所有登录用户发送信息,包括你自己。执行时,在 wall 命令后加入需要发送的信息即可,例如:

[root@localhost ~]# wall "I will be in 5 minutes to restart, please save your data"

7.mail 命令

mail 是 Linux 的邮件客户端命令,可以利用这个命令给其他用户发送邮件。mail 命令的基本信息如下。

  • 命令名称:mail。
  • 英文原意:send and receive Internet mail。
  • 所在路径:/bin/mail。
  • 执行权限:所有用户。
  • 功能描述:发送和接收电子邮件。

例子 1:发送邮件

如果我们想要给其他用户发送邮件,则可以执行如下命令:

[root@localhost ~]# mail user1	Subject: hello			 <- 邮件标题	Nice to meet you! 		 <- 邮件具体内容	.						 <- 使用“.”来结束邮件输入	#发送邮件给 user1 用户

我们接收到的邮件都保存在“/var/spool/mail/用户名”中,每个用户都有一个以自己的用户名命名的邮箱。

例子 2:发送文件内容

如果我们想把某个文件的内容发送给指定用户,则可以执行如下命令:

[root@localhost ~]# mail -s "test mail" root < /root/anaconda-ks.cfg	选项:	-s: 		指定邮件标题	#把/root/anaconda-ks.cfg 文件的内容发送给 root 用户

我们在写脚本时,有时需要脚本自动发送一些信息给指定用户,把要发送的信息预先写到文件中,是一个非常不错的选择。

例子 3:查看已经接收的邮件

[root@localhost ~]# mail	Heirloom Mail version 12.4 7/29/08.Type ?for help.	"/var/spool/mail/root": 1 message 1 new	>N		 1	 root 	Mon Dec 5 22:45 68/1777	 "test mail"<-之前收到的邮件	>N		 2	 root 	Mon Dec 5 23:08 18/602	 "hello"	#未阅读 编号 发件人 时间						  标题	 & 																					<-等待用户输入命令

可以看到已经接收到的邮件列表,“N”代表未读邮件,如果是已经阅读过的邮件,则前面是不会有这个“N”的;之后的数字是邮件的编号,我们主要通过这个编号来进行邮件的操作。如果我们想要查看第一封邮件,则只需输入邮件的编号“1”就可以了

在交互命令中执行“?”,可以查看这个交互界面支持的命令。例如:

& 	?						 <-输入命令	mail commands	type
type messages next goto and type next message from
give head lines of messages headers print out active message headers delete
delete messages undelete
undelete messages save
folder append messages to folder and mark as saved copy
folder append messages to folder without marking them write
file append message texts to file, save attachments preserve
keep incoming messages in mailbox even if saved Reply
reply to message senders reply
reply to message senders and all recipients mail addresses mail to specific recipients file folder change to another folder quit quit and apply changes to folder xit quit and discard changes made to folder ! shell escape cd
chdir to directory or home if none given list list names of all available commands

这些交互命令是可以简化输入的,比如“headers”命令,就可以直接输入“h”,这是列出邮件标题列表的命令。我们解释一下常用的交互命令

  • headers:列出邮件标题列表,直接输入“h”命令即可.
  • delete:删除指定邮件。比如想要删除第二封邮件,可以输入“d 2”.
  • save:保存邮件。可以把指定邮件保存成文件,如“s 2 /tmp/test.mail”。
  • quit:退出,并把已经操作过的邮件进行保存。比如移除已删除邮件、保存已阅读邮件等。
  • exit:退出,但是不保存任何操作。

十、关机重启命令

1.sync 数据同步

sync 命令的基本信息如下。

  • 命令名称:sync。
  • 英文原意:flush file system buffers。
  • 所在路径:/bin/sync。
  • 执行权限:所有用户。
  • 功能描述:刷新文件系统缓冲区。

2.shutdown 命令

shutdown 命令的基本信息如下。

  • 命令名称:shutdown。
  • 英文原意:bring the system down。
  • 所在路径:/sbin/shutdown。
  • 执行权限:超级用户。
  • 功能描述:关机和重启
    命令的基本格式如下:

[root@localhost ~]# shutdown [选项] 时间 [警告信息]

选项:

  • -c: 取消已经执行的 shutdown 命令
  • -h: 关机
  • -r: 重启

3.reboot 命令(常用)重启

在现在的系统中,reboot 命令也是安全的,而且不需要加入过多的选项。

[root@localhost ~]# reboot

#重启

4.halt 和 poweroff 命令

这两个都是关机命令,直接执行即可。这两个命令不会完整关闭和保存系统的服务,不建议使用。

[root@localhost ~]# halt

#关机
[root@localhost ~]# poweroff
#关机

5.init 命令

init 是修改 Linux 运行级别的命令,也可以用于关机和重启。这个命令并不安全,不建议使用。

[root@localhost ~]# init 0

#关机,也就是调用系统的 0 级别

[root@localhost ~]# init 6

#重启,也就是调用系统的 6 级别

转载地址:http://btcsi.baihongyu.com/

你可能感兴趣的文章
在JS中 onclick="save();return false;"return false是
查看>>
JSTL 常用标签总结
查看>>
内容里面带标签,在HTML显示问题,JSTL
查看>>
VS编译器运行后闪退,处理方法
查看>>
用div+css做下拉菜单,当鼠标移向2级菜单时,为什么1级菜单的a:hover背景色就不管用了?
查看>>
idea 有时提示找不到类或者符号
查看>>
JS遍历的多种方式
查看>>
ng-class的几种用法
查看>>
node入门demo-Ajax让前端angularjs/jquery与后台node.js交互,技术支持:mysql+html+angularjs/jquery
查看>>
神经网络--单层感知器
查看>>
注册表修改DOS的编码页为utf-8
查看>>
matplotlib.pyplot.plot()参数详解
查看>>
拉格朗日对偶问题详解
查看>>
MFC矩阵运算
查看>>
最小二乘法拟合:原理,python源码,C++源码
查看>>
ubuntu 安装mysql
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输入文件流ifstream用法详解
查看>>