【跟我学Linux】第五天

一、学习目标

  1. 掌握 Linux 软件包管理(安装、更新、卸载软件,以 Ubuntu 的apt为例)。
  2. 学会查看和分析系统日志文件(排查问题的核心技能)。
  3. 理解计划任务crontab的基本用法,能创建简单的定时任务。

二、学习内容

(一)软件包管理(apt命令,2 小时)

Linux 系统中安装软件主要通过 “包管理工具”,Ubuntu/Debian 系统常用apt(Advanced Package Tool),类似手机的 “应用商店”,但通过命令操作。

1. apt基础命令(必须掌握)
  • 更新软件源列表(获取最新的软件版本信息,每次安装软件前建议先执行):

    sudo apt update
    
     
    • 解释:sudo获取管理员权限,apt update从官方服务器同步软件列表(不实际更新软件)。
  • 升级已安装的软件(更新所有已安装的软件到最新版本):

    sudo apt upgrade
    
     
    • 操作:执行后会显示需要升级的软件列表,输入y并回车开始升级(耗时可能较长,取决于网络和软件数量)。
  • 安装软件sudo apt install 软件名
    示例:安装文本编辑器gedit(图形化编辑器,比vim简单):

    sudo apt install gedit
    
     
    • 验证:安装后输入gedit,会打开图形化编辑器窗口。
  • 卸载软件(保留配置文件):sudo apt remove 软件名
    示例:卸载gedit

    sudo apt remove gedit
    
  • 彻底卸载软件(删除配置文件):sudo apt purge 软件名
    示例:彻底卸载gedit

    sudo apt purge gedit
    
  • 搜索软件apt search 关键词
    示例:搜索包含 “editor” 的编辑器软件:

    apt search editor
    
2. 实用补充命令
  • 查看已安装的软件dpkg -l | grep 软件名dpkgapt的底层工具)
    示例:查看是否安装了nginx(一款网页服务器):

    dpkg -l | grep nginx
    
  • 清理无用的安装包(删除下载的安装缓存,释放磁盘空间):

    sudo apt autoremove  # 删除不再需要的依赖包
    sudo apt clean       # 清理下载的安装包缓存
    

(二)系统日志查看(2 小时)

系统日志是 Linux “日记”,记录了系统运行、软件启动、错误等所有重要信息,排查问题(如软件崩溃、登录失败)必须看日志。

1. 日志文件存放位置

所有日志默认存放在 /var/log/ 目录下,核心日志文件:

  • syslog:系统通用日志(大部分系统事件,如服务启动 / 停止、硬件错误)。
  • auth.log:安全日志(用户登录、sudo操作、SSH 连接等,重点关注)。
  • dmesg:内核日志(开机时硬件初始化信息,如硬盘、网卡识别情况)。
2. 查看日志的常用命令
  • 实时查看日志(最常用,适合监控正在发生的事件):

    tail -f /var/log/syslog
    
     
    • 解释:tail -f 实时跟踪文件新增内容,按 Ctrl+C 退出。
    • 示例:执行后,在另一个终端操作(如安装软件),会看到syslog实时记录事件。
  • 查看日志最后 N 行(快速定位最新记录):

    tail -n 20 /var/log/auth.log  # 查看auth.log最后20行
    
  • 搜索日志中的关键词(比如找 “错误” 或 “登录失败”):

    grep "Failed password" /var/log/auth.log  # 搜索登录失败记录(安全相关)
    
  • 按时间筛选日志(配合grep,假设日志中有 “Jul 08” 这样的日期):

    grep "Jul 08" /var/log/syslog  # 查看7月8日的系统日志
    

(三)计划任务(crontab,2 小时)

crontab用于定时执行命令(比如每天凌晨备份文件、每小时清理日志),类似手机的 “闹钟提醒”,但触发的是命令操作。

1. crontab基本格式

定时任务的格式为:

* * * * * 要执行的命令

五个*分别代表:分 时 日 月 周(范围:分 0-59,时 0-23,日 1-31,月 1-12,周 0-6(0 = 周日))。

  • 常用符号:
    • *:任意值(如 “分” 位为*表示每分钟);
    • */n:每隔 n 单位(如 “分” 位*/10表示每 10 分钟);
    • a-b:范围(如 “时” 位9-18表示 9 点到 18 点)。
2. crontab操作命令
  • 编辑当前用户的计划任务

    crontab -e
    
     
    • 首次执行会提示选择编辑器,推荐选nano(输入数字 2,按回车,小白友好)。
  • 查看当前用户的计划任务

    crontab -l
    
  • 删除当前用户的所有计划任务(慎用):

    crontab -r
    

三、实践操作(超详细步骤)

(一)软件包管理实践(apt命令)

步骤 1:更新软件源并升级软件
  1. 打开终端,输入:

    sudo apt update
    
     

    输入密码(不显示),回车,等待同步完成(显示 “所有软件包均为最新” 即可)。

  2. 升级已安装软件(可选,耗时可能较长):

    sudo apt upgrade
    
     

    提示 “是否继续?[Y/n]” 时,输入y回车,等待升级完成(若提示磁盘空间不足,可跳过,不影响后续操作)。

步骤 2:安装并卸载一款软件(以nginx为例,网页服务器)
  1. 安装nginx

    sudo apt install nginx
    
     

    输入y确认,等待安装完成(看到 “设置 nginx (1.18.0-6ubuntu14.4) ...” 表示成功)。

  2. 验证安装:

    nginx -v  # 查看版本
    
     

    显示 “nginx version: nginx/1.18.0” 表示安装成功。

  3. 卸载nginx(保留配置文件):

    sudo apt remove nginx
    

(二)系统日志查看实践

步骤 1:实时监控auth.log(记录登录行为)
  1. 终端输入:

    tail -f /var/log/auth.log
    
  2. 打开新的终端窗口,执行sudo ls(模拟管理员操作),输入密码后回车。

  3. 回到第一个终端,会看到auth.log实时记录:sudo: 你的用户名 : TTY=pts/1 ; PWD=/home/你的用户名 ; USER=root ; COMMAND=/usr/bin/ls(表示sudo操作被记录)。

  4. Ctrl+C退出实时监控。

步骤 2:搜索登录失败记录
  1. 终端输入:

    grep "Failed" /var/log/auth.log
    
     
    • 若有输出,可能是有人尝试登录你的系统(虚拟机环境一般没有,忽略即可);若无输出,说明近期无失败登录。

(三)计划任务crontab实践(创建定时任务)

步骤 1:创建 “每分钟向文件写一句话” 的任务
  1. 终端输入crontab -e,首次使用会提示选择编辑器,按2选择nano(回车确认)。

  2. 在打开的文件末尾添加一行(注意格式,五个*代表每分钟):

    * * * * * echo "当前时间: $(date)" >> ~/linux_study/cron_test.txt
    
     
    • 解释:echo "..."输出内容,>>追加到cron_test.txt$(date)显示当前时间。
  3. 保存退出:按Ctrl+O(保存),回车确认文件名,再按Ctrl+X退出nano

步骤 2:验证定时任务是否执行
  1. 等待 1-2 分钟(任务每分钟执行一次),终端输入:

    cat ~/linux_study/cron_test.txt
    
     
    • 预期结果:显示类似 “当前时间: 2025 年 07 月 08 日 星期二 15:30:01 CST” 的内容,且每分钟新增一行。
步骤 3:删除定时任务(避免一直写入文件)
  1. 终端输入crontab -e,删除刚才添加的那一行,保存退出(Ctrl+O→回车→Ctrl+X)。
  2. 验证:crontab -l 显示 “no crontab for 你的用户名” 表示任务已删除。

(四)记录学习笔记

创建day5_note.txt,记录今天的操作心得(如 “apt install安装软件很方便”“auth.log能看到登录记录”):

nano ~/linux_study/day5_note.txt  # 编辑后按Ctrl+O保存,Ctrl+X退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值