【跟我学Linux】第四天

一、学习目标

  1. 掌握进程查看、终止和优先级调整的方法。
  2. 学会使用 systemctl 管理系统服务(启动、停止、重启、开机自启)。
  3. 理解网络基础概念(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
  • kill -9 命令(强制终止进程,发送 9 号信号,无法被进程忽略)

    kill -9 [进程PID]
    
     
    • 示例:强制终止 PID 为 5678 的进程:kill -9 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
  • 停止服务

    sudo systemctl stop [服务名]
    
     
    • 示例:停止 SSH 服务:sudo systemctl stop ssh
  • 重启服务

    sudo systemctl restart [服务名]
    
     
    • 示例:重启 SSH 服务:sudo systemctl restart ssh
  • 查看服务状态

    sudo systemctl status [服务名]
    
     
    • 示例:查看 SSH 服务状态:sudo systemctl status ssh
    • 状态含义:Active: active (running) 表示服务正在运行
2. 服务开机自启设置
  • 启用开机自启

    sudo systemctl enable [服务名]
    
     
    • 示例:设置 SSH 服务开机自启:sudo systemctl enable ssh
  • 禁用开机自启

    sudo systemctl disable [服务名]
    
     
    • 示例:禁用 SSH 服务开机自启:sudo systemctl disable 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 欢迎信息;若失败,会提示 "连接被拒绝"
  • curl 命令(发送 HTTP 请求,获取网页内容)

    curl [URL]
    
     
    • 示例:获取百度首页内容:curl www.baidu.com
3. 防火墙基础(ufw)
  • 查看防火墙状态

    sudo ufw status
    
  • 允许端口

    sudo ufw allow [端口号]/[协议]
    
     
    • 示例:允许 SSH 端口(22):sudo ufw allow 22/tcp
  • 禁止端口

    sudo ufw deny [端口号]/[协议]
    
     
    • 示例:禁止 HTTP 端口(80):sudo ufw deny 80/tcp
  • 启用防火墙

    sudo ufw enable
    
  • 禁用防火墙

    sudo ufw disable
    

三、实践操作

(一)进程管理实践

  1. 打开终端,运行 top 命令,观察 CPU 和内存占用最高的进程。
  2. 按 M 键按内存排序,记录占用内存最高的进程名称。
  3. 打开新终端,运行 sleep 1000(模拟一个长时间运行的进程)。
  4. 使用 ps aux | grep sleep 查找该进程的 PID。
  5. 使用 kill [PID] 尝试终止该进程,然后用 ps 确认是否终止成功。
  6. 若无法终止,使用 kill -9 [PID] 强制终止。

(二)服务管理实践

  1. 查看 SSH 服务状态:sudo systemctl status ssh
  2. 停止 SSH 服务:sudo systemctl stop ssh
  3. 再次查看状态,确认服务已停止。
  4. 启动 SSH 服务:sudo systemctl start ssh
  5. 设置 SSH 服务开机自启:sudo systemctl enable ssh
  6. 验证:sudo systemctl is-enabled ssh,应输出 enabled

(三)网络基础实践

  1. 查看本机 IP 地址:ip a
  2. 测试与百度的连通性:ping www.baidu.com
  3. 使用 curl 获取百度首页内容:curl www.baidu.com
  4. 安装 telnet:sudo apt install telnet
  5. 测试本机 SSH 端口是否开放:telnet 127.0.0.1 22(127.0.0.1 是本机回环地址)
  6. 查看防火墙状态:sudo ufw status
  7. 允许 HTTP 端口(80):sudo ufw allow 80/tcp
  8. 再次查看防火墙状态,确认规则已添加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值