简介
恭喜你!你刚刚加入 LabEx Corporation,成为一名初级系统管理员。这是一家发展迅速的科技初创公司。今天是你的第一天,主管安排你参与公司迄今最雄心勃勃的项目:「Project Phoenix」——一款革命性的应用,将改变企业管理数字化工作流程的方式。
你的第一个任务是了解承载 Project Phoenix 的开发服务器的「系统环境」。你需要执行初步侦察,以了解系统的身份、当前使用者以及系统目前的运行状态。
在本挑战中,你将使用 Linux 基础命令收集新环境中的关键信息。你将识别自己的用户账户、检查系统详细信息、查看当前登录的其他用户、检查用户和组信息、监控实时性能,并将结果整理成一份完整报告。
这次初步评估将为今后在 Project Phoenix 上开展的所有工作打下基础。今天的全面检查将帮助项目在明天顺利推进。
开始本课程前,建议你具备基本的 Linux 知识。如果你刚接触 Linux,建议先学习 LabEx 的 Linux 学习路径。本课程通过一系列动手挑战,帮助你检验、巩固并深入理解 Linux 基础知识。在学习过程中,如果遇到不熟悉、遗忘或不了解的概念,可以随时与我们的 AI 助手 Labby 讨论。这种互动方式模拟了你在真实工作环境中会遇到的问题解决过程。
重要提示:如果你在挑战中遇到困难:
- 与 Labby 讨论或查看解决方案。
- 暂时跳过当前挑战,继续完成 Linux 学习路径中的后续 Guided Labs。
首次登录与环境检查
在新系统上执行的第一项操作,是确认自己的身份以及操作系统的基本特征。这样可以确认当前用户确实是你本人,并且你连接的是正确的计算机。
任务
- 找出当前用户的用户名。
- 显示操作系统的内核名称。
要求
- 所有命令都必须在终端中执行。
- 使用
whoami命令识别当前用户。 - 使用
uname命令显示内核名称。
示例
完成此步骤后,你应该看到类似以下内容的输出:
## Command output showing current user
labex
## Command output showing kernel name
Linux
这些结果确认你以 labex 用户身份运行在 Linux 系统上,这是建立工作环境的重要信息。
检查系统信息和运行时间
确认自己的身份后,还需要了解完整的系统环境以及系统已经运行了多长时间。这些信息对于系统监控和维护计划非常重要。
任务
- 显示包括操作系统详细信息、内核版本和硬件架构在内的完整系统信息。
- 检查系统的运行时间以及当前系统负载。
要求
- 使用
uname -a命令显示所有系统信息。 - 使用
uptime命令显示系统运行时间和平均负载。
示例
运行所需命令后,你应该看到类似以下内容的输出:
## Comprehensive system information
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
## System uptime and load information
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的文件。 - 文件必须包含
whoami、uname -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 Corporation 的第一天工作,并为 Project Phoenix 打下了基础。
在本挑战中,你练习了每位系统管理员都必须掌握的几个重要命令:
whoami:确认你在 Project Phoenix 服务器上的用户身份。uname:检查操作系统信息,确保系统兼容。who:查看开发服务器上还有哪些用户在工作。id:检查用户和组成员关系,确保访问控制正确。top:监控系统进程和资源使用情况,确保系统保持良好性能。- 输出重定向(
>和>>):将收集到的信息记录到规范的报告中。
这些命令构成了系统管理员工具箱的基础。今天的全面评估为 Project Phoenix 接下来的开发工作做好了准备。明天,你将以「数字架构师」的身份开始组织项目的文件结构!



