一、学习目标
- 掌握进程查看、终止和优先级调整的方法。
- 学会使用 systemctl 管理系统服务(启动、停止、重启、开机自启)。
- 理解网络基础概念(IP 地址、端口、防火墙),并掌握基本的网络测试命令。
二、学习内容
(一)进程管理(2 小时)
1. 进程查看命令
-
ps
命令(查看静态进程信息)- 常用组合:
ps aux
(显示所有用户的所有进程)
ps aux
- 输出字段含义:USER(用户)、PID(进程 ID)、% CPU(CPU 占用率)、% MEM(内存占用率)、COMMAND(启动命令)。
- 示例:查找包含 "bash" 的进程:
ps aux | grep bash
- 常用组合:
-
top
命令(动态实时监控进程)top
- 操作快捷键:
q
:退出M
:按内存占用排序P
:按 CPU 占用排序1
:显示所有 CPU 核心的使用情况
- 操作快捷键:
2. 进程终止命令
-
kill
命令(发送信号终止进程,默认发送 15 号信号)kill [进程PID]
- 示例:终止 PID 为 1234 的进程:
kill 1234
- 示例:终止 PID 为 1234 的进程:
-
kill -9
命令(强制终止进程,发送 9 号信号,无法被进程忽略)kill -9 [进程PID]
- 示例:强制终止 PID 为 5678 的进程:
kill -9 5678
- 示例:强制终止 PID 为 5678 的进程:
3. 进程优先级调整(了解)
-
nice
命令(启动进程时设置优先级,范围 - 20(最高)到 19(最低))nice -n 10 [命令] # 以较低优先级启动命令
-
renice
命令(调整已运行进程的优先级)renice -n -5 [PID] # 将PID的优先级提高到-5
(二)服务管理(2 小时)
1. systemctl 命令基础
-
启动服务
sudo systemctl start [服务名]
- 示例:启动 SSH 服务:
sudo systemctl start ssh
- 示例:启动 SSH 服务:
-
停止服务
sudo systemctl stop [服务名]
- 示例:停止 SSH 服务:
sudo systemctl stop ssh
- 示例:停止 SSH 服务:
-
重启服务
sudo systemctl restart [服务名]
- 示例:重启 SSH 服务:
sudo systemctl restart ssh
- 示例:重启 SSH 服务:
-
查看服务状态
sudo systemctl status [服务名]
- 示例:查看 SSH 服务状态:
sudo systemctl status ssh
- 状态含义:Active: active (running) 表示服务正在运行
- 示例:查看 SSH 服务状态:
2. 服务开机自启设置
-
启用开机自启
sudo systemctl enable [服务名]
- 示例:设置 SSH 服务开机自启:
sudo systemctl enable ssh
- 示例:设置 SSH 服务开机自启:
-
禁用开机自启
sudo systemctl disable [服务名]
- 示例:禁用 SSH 服务开机自启:
sudo systemctl disable ssh
- 示例:禁用 SSH 服务开机自启:
(三)网络基础与命令(2 小时)
1. 网络配置查看
-
查看 IP 地址
ip a # 或 ifconfig(需先安装:sudo apt install net-tools)
- 示例输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0 valid_lft 86398sec preferred_lft 86398sec
192.168.1.100
是当前设备的 IP 地址
- 示例输出:
-
查看网关和 DNS
cat /etc/resolv.conf # 查看DNS服务器 ip route show # 查看路由表(包含网关信息)
2. 网络测试命令
-
ping 命令(测试网络连通性)
ping [目标IP或域名]
- 示例:测试与百度的连通性:
ping www.baidu.com
- 按
Ctrl+C
停止测试
- 示例:测试与百度的连通性:
-
telnet 命令(测试端口连通性,需先安装:sudo apt install telnet)
telnet [目标IP] [端口号]
- 示例:测试 SSH 端口(22)是否开放:
telnet 192.168.1.100 22
- 若连接成功,会显示 SSH 欢迎信息;若失败,会提示 "连接被拒绝"
- 示例:测试 SSH 端口(22)是否开放:
-
curl 命令(发送 HTTP 请求,获取网页内容)
curl [URL]
- 示例:获取百度首页内容:
curl www.baidu.com
- 示例:获取百度首页内容:
3. 防火墙基础(ufw)
-
查看防火墙状态
sudo ufw status
-
允许端口
sudo ufw allow [端口号]/[协议]
- 示例:允许 SSH 端口(22):
sudo ufw allow 22/tcp
- 示例:允许 SSH 端口(22):
-
禁止端口
sudo ufw deny [端口号]/[协议]
- 示例:禁止 HTTP 端口(80):
sudo ufw deny 80/tcp
- 示例:禁止 HTTP 端口(80):
-
启用防火墙
sudo ufw enable
-
禁用防火墙
sudo ufw disable
三、实践操作
(一)进程管理实践
- 打开终端,运行
top
命令,观察 CPU 和内存占用最高的进程。 - 按
M
键按内存排序,记录占用内存最高的进程名称。 - 打开新终端,运行
sleep 1000
(模拟一个长时间运行的进程)。 - 使用
ps aux | grep sleep
查找该进程的 PID。 - 使用
kill [PID]
尝试终止该进程,然后用ps
确认是否终止成功。 - 若无法终止,使用
kill -9 [PID]
强制终止。
(二)服务管理实践
- 查看 SSH 服务状态:
sudo systemctl status ssh
- 停止 SSH 服务:
sudo systemctl stop ssh
- 再次查看状态,确认服务已停止。
- 启动 SSH 服务:
sudo systemctl start ssh
- 设置 SSH 服务开机自启:
sudo systemctl enable ssh
- 验证:
sudo systemctl is-enabled ssh
,应输出enabled
(三)网络基础实践
- 查看本机 IP 地址:
ip a
- 测试与百度的连通性:
ping www.baidu.com
- 使用
curl
获取百度首页内容:curl www.baidu.com
- 安装 telnet:
sudo apt install telnet
- 测试本机 SSH 端口是否开放:
telnet 127.0.0.1 22
(127.0.0.1 是本机回环地址) - 查看防火墙状态:
sudo ufw status
- 允许 HTTP 端口(80):
sudo ufw allow 80/tcp
- 再次查看防火墙状态,确认规则已添加。