- A+
Linux常用命令--网络与进程管理
网络配置
关于网络的两条指令:
ifconfig
: 配置和显示Linux系统网卡的网络参数ping
: 目的主机 测试主机之间的网络连通性
检测主机连接
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
如:ping 114.114.114.114
配置网络
下面讲解如何修改配置文件,指定ip,并可以连接公网.
- 修改配置文件
这里修改的是/etc/sysconfig/network-scripts/下的ifcfg-ens33文件 (不同的网卡对应不同的文件,格式为ifcfg-
+ 网卡名称, )
vim /etc/sysconfig/network-scripts/ifcfg-ens33
具体配置根据个人而定,
BOOTPROTO="static" # 是否要使用静态地址,动态地址用 "dhcp" ############### 假如是dhcp的话,不用写下面这几个 ################### IPADDR=xxx.xxx.xxx.xxx # ip地址 GATEWAY=xxx.xxx.xxx.xxx # 网关 DNS1=xx.xxx.xxx.xxx # 域名系统
- 重启网络服务
使用service network restart
命令重启网络服务或者使用reboot
重启电脑
设置主机名和hosts映射
主机名:修改/etc/hostname
,这是一个只要主机名的文件,改成自己想要的,保存退出即可。
注意:需要重启才能生效。
hosts:修改/etc/hosts
,格式是:ip host,如111.111.111.111 www.baidu.com
DNS查询流程
浏览器缓存 --> DNS缓存 --> hosts --> DNS
windows显示和清理DNS
ipconfig /displaydns
# 显示
ipconfig /flushdns
# 清理
监控网络状态
netstat
是用来监控网络状态的指令。一般使用的选项有:-an
: 按一定的顺序输出、-p
: 显示哪个进程调用。
所以,一般用netstat -anp
这个命令。
进程管理
查看进程
进程有前台与后台之分,在linux中使用ps命令查看进程。
ps 查看进程命令;-a 显示当前终端所有进程;-u 以用户格式显示 ;-x 显示后台进程运行参数。
常使用ps -aux
命令,其输出格式 :
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程所有者 | 进程ID | 占用的 CPU 使用率 | 占用的内存使用率 | 占用的虚拟内存大小 | 占用的内存大小 | 终端的次要装置号码 | 进程状态(S: 睡眠 R: 正在运行 Z: 僵死 T: 被跟踪/停止) | 启动进程的时间 | 进程消耗CPU的时间 | 命令的名称和参数 |
查看父进程
ps -ef
(-e 显示所有进程、-f 全格式)
结果中的PID指的是本进程的ID;PPID指的是父进程的ID
查看进程树
pstree
查看进程树
-p
显示进程ID
-u
显示进程的所属用户
终止进程
kill 进程号
,如:kill 9416
,
-9
: 表示强迫进程立即停止
killall 进程名
可以杀多个进程,支持通配符。如:killall gedit
服务管理
服务本身就是一个进程,它们通常运行在后台,监听某个端口,等待其它程序的请求,因此,又可以称值为守护进程。
service命令
service指令是控制系统服务的工具。
用法:
service 服务名 [start | stop | restart | reload | status]
,如 service network status
注意:centos7之后服务一般由systemctl
管理, service
继续管理的服务在/etc/init.d/
下可以看到
设置服务启动
查看自启动服务有哪些
输入setup
命令,然后选择“系统服务”。其中,*表示自启动
开机流程:开机 -> BIOS -> /boot -> systemd进程1 -> 运行级别 -> 运行相对应的服务
上面的setup
有设置自启动的功能,linux还有一个命令可以根据系统运行级别来配置一个服务是否自启动。
为了管理不同运行级别下的自启动服务,Red Hat公司开发了chkconfig
命令,用于检查或设置系统的各种服务。
查看服务:chkconfig --list
设置服务:chkconfig --level 服务级别 服务名 on/off
如:chkconfig --level 5 network on
, 表示:在5运行级别下打开network服务
注意:
- 和service一样,centos7之后使用systemctl管理,chkconfig继续管理服务的在
/etc/init.d/
下可以看到 - 设置完之后,需要重启后才能生效。
systemctl命令
systemctl命令是一个系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到了一起。
systemctl可以管理的服务在/usr/lib/systemd/system/
目录下。
服务管理
- 查询状态
systemctl status 服务名
, 如:systemctl status firewalld
- 关闭服务
systemctl stop 服务名
, 如:systemctl stop firewalld
- 打开服务
systemctl start 服务名
, 如:systemctl start firewalld
注意:启动或关闭服务只是临时的,要保存的话,需要设置开机启动状态(enable/disable),如下
自启动管理(3和5级别)
- 查看服务开机启动状态
systemctl list-unit-files
,要查询某个具体的服务时,使用grep
- 设置开机启动
systemctl enable/disable 服务名
- 查询服务是否开机启动
systemctl is-enabled 服务名
firewall 防火墙管理
查询 firewall-cmd --query-port=端口/协议
打开端口 firewall-cmd --permanent --add-port=端口/协议
关闭端口 firewall-cmd --permanent --remove-port=端口/协议
注意打开或关闭端口后,需要重新载入才能生效:firewall-cmd reload
动态监控进程
top和ps命令相似,不同的是top命令会每隔一段时间更新一次,是动态的。
top的选项:
-d 秒数
:每隔几秒更新,默认3秒
-i
:不显示限制/僵死进程
-p
:进程ID 监控某个进程的状态
进入top后的按键
P 以cpu排序,默认是这个
M 以内存排序
N 以pid排序
k 结束某个进程,输入进程号和信号量即可(强制退出的信号量为9)
q 退出top