介绍
恭喜你!你刚刚被 LabEx 公司聘为初级系统管理员,这是一家快速发展的科技初创企业。今天是你的入职第一天,主管为你分配了公司迄今为止最雄心勃勃的项目:「凤凰项目(Project Phoenix)」—— 这是一个将改变企业管理数字工作流方式的革命性应用。
你的首要任务是熟悉托管「凤凰项目」的开发服务器的「基本情况」。这包括执行必要的侦察工作,以了解系统的身份、当前使用者以及运行状态。
在本次挑战中,你将使用基础的 Linux 命令来收集有关新环境的关键信息。你将识别自己的用户账户、检查系统详情、查看还有谁在线、检查用户和组信息、监控实时性能,并将你的发现汇总成一份完整的报告。
这次初始评估将为你未来在「凤凰项目」中的所有工作奠定基础。你今天的细致工作将确保项目明天的成功。
在开始本课程之前,建议具备基础的 Linux 知识。如果你是 Linux 新手,我们建议先从 LabEx 的 Linux 学习路径开始。本课程旨在通过一系列动手挑战来测试、巩固和深化你的 Linux 基础。在学习过程中,欢迎随时与我们的 AI 助手 Labby 讨论不熟悉、遗忘或未知的概念。这种互动方式模拟了你在真实工作环境中会遇到的解决问题过程。
重要提示:如果你在挑战过程中遇到困难:
- 与 Labby 讨论或查看解决方案。
- 暂时跳过该挑战,继续学习 Linux 学习路径中后续的引导实验(Guided Labs)。
首次登录与环境检查
在进入一个新系统后,你的第一个动作应该是验证自己的身份以及操作系统的基本特征。这可以确认你的身份符合预期,并且你正处于正确的机器上。
任务
- 找出当前用户的用户名。
- 显示操作系统的内核名称。
要求
- 所有命令必须在终端中执行。
- 使用
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的文件。 - 该文件必须包含
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 公司的第一天工作,并为「凤凰项目」打下了基础。
在本次挑战中,你练习使用了每位系统管理员都必须掌握的几个核心命令:
whoami:确认你在「凤凰项目」服务器上的用户身份。uname:检查操作系统信息并确保兼容性。who:查看还有谁在开发服务器上工作。id:检查你的用户和组身份,以确保正确的访问控制。top:监控系统进程和资源使用情况,确保最佳性能。- 输出重定向(
>和>>):将你的发现记录在专业的报告中。
这些命令构成了你系统管理员工具箱的基础。你今天的全面评估已为「凤凰项目」环境做好了准备,迎接接下来的开发工作。明天,你将作为数字架构师开始组织项目的文件结构!



