第一天:初探系统环境

LinuxBeginner
立即练习

介绍

恭喜你!你刚刚被 LabEx 公司聘为初级系统管理员,这是一家快速发展的科技初创企业。今天是你的入职第一天,主管为你分配了公司迄今为止最雄心勃勃的项目:「凤凰项目(Project Phoenix)」—— 这是一个将改变企业管理数字工作流方式的革命性应用。

你的首要任务是熟悉托管「凤凰项目」的开发服务器的「基本情况」。这包括执行必要的侦察工作,以了解系统的身份、当前使用者以及运行状态。

在本次挑战中,你将使用基础的 Linux 命令来收集有关新环境的关键信息。你将识别自己的用户账户、检查系统详情、查看还有谁在线、检查用户和组信息、监控实时性能,并将你的发现汇总成一份完整的报告。

这次初始评估将为你未来在「凤凰项目」中的所有工作奠定基础。你今天的细致工作将确保项目明天的成功。

在开始本课程之前,建议具备基础的 Linux 知识。如果你是 Linux 新手,我们建议先从 LabEx 的 Linux 学习路径开始。本课程旨在通过一系列动手挑战来测试、巩固和深化你的 Linux 基础。在学习过程中,欢迎随时与我们的 AI 助手 Labby 讨论不熟悉、遗忘或未知的概念。这种互动方式模拟了你在真实工作环境中会遇到的解决问题过程。

重要提示:如果你在挑战过程中遇到困难:

  1. 与 Labby 讨论或查看解决方案。
  2. 暂时跳过该挑战,继续学习 Linux 学习路径中后续的引导实验(Guided Labs)。
这是一个「挑战(Challenge)」,它与「引导实验(Guided Lab)」的不同之处在于,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个初学者级别的挑战,通过率为 94%。它获得了学习者 100% 的好评率。

首次登录与环境检查

在进入一个新系统后,你的第一个动作应该是验证自己的身份以及操作系统的基本特征。这可以确认你的身份符合预期,并且你正处于正确的机器上。

任务

  • 找出当前用户的用户名。
  • 显示操作系统的内核名称。

要求

  • 所有命令必须在终端中执行。
  • 使用 whoami 命令来识别当前用户。
  • 使用 uname 命令来显示内核名称。

示例

完成此步骤后,你应该会看到类似以下的输出:

## 显示当前用户的命令输出
labex

## 显示内核名称的命令输出
Linux

这些结果确认了你作为 labex 用户在 Linux 系统上的身份,这对于建立你的工作环境至关重要。

✨ 查看解决方案并练习

检查系统信息与运行时间

在确认了自己的身份后,了解完整的系统环境以及系统的运行时间非常重要。这些信息对于系统监控和维护规划至关重要。

任务

  • 显示全面的系统信息,包括操作系统详情、内核版本和硬件架构。
  • 检查系统已经运行了多长时间以及当前的系统负载。

要求

  • 使用 uname -a 命令显示所有系统信息。
  • 使用 uptime 命令显示系统运行时间和平均负载。

示例

运行所需命令后,你应该会看到类似以下的输出:

## 全面的系统信息
Linux labex-virtual-machine 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

## 系统运行时间和负载信息
14:51:52 up 183 days, 2:55, 0 users, load average: 6.02, 1.80, 0.94

第一个输出显示了详细的系统信息,包括内核版本、主机名和架构。第二个输出表明系统已经运行了 183 天,当前的平均负载显示了系统在不同时间段内的性能表现。

提示

  • uname -a 命令会在一行中显示所有可用的系统信息。
  • uptime 命令显示系统运行了多久、用户数量以及系统平均负载。
  • 系统平均负载代表了系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载情况。
✨ 查看解决方案并练习

收集用户与组详情

了解你的用户权限是基础工作。你需要知道你的用户 ID(UID)、主组 ID(GID)以及你所属的其他任何组,因为这些决定了你在系统上的访问权限。

任务

  • 显示当前用户账户的详细用户和组信息。

要求

  • 使用 id 命令获取你的用户和组标识符。

示例

当你运行所需命令时,你应该会看到类似以下的输出:

uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo),121(ssl-cert),5002(public)

该输出显示:

  • uid=5000(labex):你的用户 ID 是 5000,用户名为「labex」。
  • gid=5000(labex):你的主组 ID 是 5000,组名为「labex」。
  • groups=...:你属于多个组,包括「sudo」(管理权限)、「ssl-cert」(SSL 证书访问权限)和「public」(共享资源)。

了解这些权限对于知晓你可以访问和修改哪些系统资源至关重要。

提示

  • 当不带任何参数运行 id 命令时,默认显示当前用户的信息。
  • 输出会清晰地标注 UID、GID 和附加组。
✨ 查看解决方案并练习

监控实时系统性能

系统侦察的一个关键部分是观察其当前性能。这包括检查 CPU 和内存使用情况,以及查看正在运行的进程。top 命令是完成此任务的标准工具。

任务

  • 启动交互式系统监控工具,查看活动进程和资源使用情况。
  • 在观察输出片刻后退出该工具。

要求

  • 使用 top 命令启动监控界面。
  • top 运行后,按下 q 键退出并返回命令提示符。

示例

当你启动系统监控工具时,你会看到类似以下的动态显示:

top - 10:45:00 up 1:15,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1987.2 total,    890.5 free,    540.1 used,    556.6 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1234.5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0  169404  12920   8584 S   0.0   0.6   0:01.50 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
    ...

该显示内容包括:

  • 系统摘要:当前时间、运行时间、用户数和平均负载。
  • 任务摘要:进程总数及其状态(运行中、睡眠中等)。
  • CPU 使用率:按类别细分的 CPU 利用率。
  • 内存使用情况:总内存、空闲内存、已用内存和可用内存。
  • 进程列表:按 CPU 使用率排序的运行中进程,包含 PID、用户和资源消耗。

显示内容每隔几秒会自动更新,提供实时的系统监控。

提示

  • top 提供运行中系统的动态实时视图。它会自动刷新。
  • q 键是退出 top 程序的标准方式。
✨ 查看解决方案并练习

生成系统状态报告

最后,你将把你的发现整合到一个简单的文本文件中。这是记录系统在特定时间点状态的常用做法。你将使用输出重定向将多个命令的输出保存到单个文件中。

任务

  • 在当前目录(~/project)中创建一个名为 system_report.txt 的文件。
  • 该文件必须包含 whoamiuname -a(所有系统信息)和 uptime 命令的输出。

要求

  • 最终的报告文件必须命名为 system_report.txt
  • 你必须使用输出重定向操作符(>>>)将命令输出写入文件。
  • 文件必须创建在 ~/project 目录下。

示例

完成此步骤后,你的 system_report.txt 文件应包含类似以下的内容:

labex
Linux labex-virtual-machine 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
 10:50:01 up  1:20,  1 user,  load average: 0.00, 0.01, 0.05

该报告文件展示了:

  • 第 1 行:当前用户身份(来自 whoami 命令)。
  • 第 2 行:完整的系统信息,包括内核版本、主机名和架构(来自 uname -a 命令)。
  • 第 3 行:系统运行时间和当前平均负载(来自 uptime 命令)。

该文件充当了系统当前状态的快照,对于文档记录和故障排除非常有价值。创建后,你可以使用 cat 命令验证文件内容。

提示

  • 使用 > 操作符重定向第一个命令的输出。这将创建文件(如果文件已存在则覆盖)。
  • 使用 >> 操作符将后续命令的输出「追加」到文件中,而不会删除其现有内容。
  • uptime 命令显示系统已经运行了多长时间。
✨ 查看解决方案并练习

总结

做得好!你已经成功完成了在 LabEx 公司的第一天工作,并为「凤凰项目」打下了基础。

在本次挑战中,你练习使用了每位系统管理员都必须掌握的几个核心命令:

  • whoami:确认你在「凤凰项目」服务器上的用户身份。
  • uname:检查操作系统信息并确保兼容性。
  • who:查看还有谁在开发服务器上工作。
  • id:检查你的用户和组身份,以确保正确的访问控制。
  • top:监控系统进程和资源使用情况,确保最佳性能。
  • 输出重定向(>>>):将你的发现记录在专业的报告中。

这些命令构成了你系统管理员工具箱的基础。你今天的全面评估已为「凤凰项目」环境做好了准备,迎接接下来的开发工作。明天,你将作为数字架构师开始组织项目的文件结构!