Appearance
关卡名称:切割数据的艺术
背景故事:
玩家需要解析一份网络日志文件,找到特定信息来追踪病毒的来源。
需要通过学习掌握 cut
命令,以便从文件中提取所需数据。
关卡结构:
关卡1:cut
命令基础
好的,下面是修改后的任务1.0,以查看 /etc/passwd
文件的最后十行,并提取每行的第一列和第七列,用于检查是否有黑客在系统中添加了账号,并查看这些账号对应的登录 shell:
任务1.0:检查 /etc/passwd
文件最后十行的第一列和第七列
- 目标:查看
/etc/passwd
文件的最后十行,提取每行的第一列(用户名)和第七列(登录 shell)。 - 提示:使用
tail
命令查看文件的末尾行,并结合cut
命令提取所需列。 - 命令示例:
tail -n 10 /etc/passwd | cut -d: -f1,7
- 任务代码:
sh
# 查看 /etc/passwd 文件的最后十行,并提取第一列(用户名)和第七列(登录 shell)
tail -n 10 /etc/passwd | cut -d: -f1,7
- 预期输出:
- 输出会列出最后十行中每行的用户名和对应的登录 shell。玩家需要检查是否有不明账号和不正常的登录 shell。
任务1.1:理解 cut
命令的基本用法
- 目标:从文件
network.log
中提取每行的前10个字符。 - 提示:使用
cut
命令的-c
选项。 - 命令示例:
cut -c 1-10 network.log
- 奖励:获得一个关于
cut
命令选项的简明指南。
任务1.2:按定界符切割
- 目标:从文件
network.log
中提取第二列,列与列之间以逗号分隔。 - 提示:使用
cut
命令的-d
和-f
选项。 - 命令示例:
cut -d',' -f2 network.log
- 奖励:解锁下一个任务并获得一个网络日志分析工具。
关卡2:进阶用法和综合应用
任务2.1:提取多个字段
- 目标:从文件
network.log
中提取第一和第三列,列与列之间以空格分隔。 - 提示:使用
cut
命令的-d
和-f
选项,注意列的索引。 - 命令示例:
cut -d' ' -f1,3 network.log
- 奖励:获得一个关于多字段提取的实战技巧指南。
任务2.2:结合其他命令使用
- 目标:将
network.log
文件中的数据按行排序,并提取每行的第二列,列与列之间以制表符分隔。 - 提示:结合使用
sort
和cut
命令。 - 命令示例:
sort network.log | cut -d$'\t' -f2
- 奖励:解锁下一个大关卡并获得高级日志分析工具。
关卡3:实战挑战
任务3.1:日志数据清洗
- 目标:从文件
network.log
中提取所有IP地址(假设在第三列,列与列之间以冒号分隔),并去重。 - 提示:结合使用
cut
和sort
命令,了解如何去重。 - 命令示例:
cut -d':' -f3 network.log | sort | uniq
- 奖励:解锁高级网络安全工具和病毒追踪情报。
游戏界面:
- 虚拟终端:中心区域为虚拟终端,玩家在其中输入命令并即时看到结果。
- 任务面板:左侧显示当前任务和任务目标。
- 提示区:右侧提供命令参考和使用示例,玩家可以根据需要查看。
- 积分和进度条:顶部显示玩家当前积分和任务进度。
小结:
通过这个关卡,玩家将逐步掌握 cut
命令的基本和进阶用法,学会如何在实际场景中使用它来处理和分析文本数据。这种任务驱动的学习方式不仅能提高玩家的Linux技能,还能增强他们解决实际问题的能力。