Files
linux-practice/COURSE_TASKS.json.backup.1772810579
likingcode 5686831d9a feat: Linux练习平台
- Web界面Linux命令练习
- Python后端 + sandbox安全沙箱
- 课程和任务管理
2026-03-07 05:43:51 +00:00

122 lines
4.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"meta": {
"version": "1.0",
"title": "Linux 命令学习课程 - 沙盒练习题",
"author": "Dev Agent",
"created": "2026-03-04"
},
"levels": [
{
"id": "level_1_intro",
"title": "入门篇:熟悉终端",
"description": "前5个命令让你快速上手 Linux 终端",
"challenges": [
{
"id": "pwd_1",
"title": "我在哪?",
"description": "使用 `pwd` 命令查看你当前所在的目录",
"hint": "直接输入 pwd 回车",
"success_test": "if output == '/' then pass",
"solution": ["pwd"],
"fail_message": "❌ 还不对!试试 `pwd` 命令"
},
{
"id": "ls_1",
"title": "看看周围",
"description": "使用 `ls` 命令列出 `/sandbox` 下的所有子目录和文件",
"hint": "输入 ls /sandbox",
"success_test": "if output contains 'users' and 'projects' and 'logs' then pass",
"solution": ["ls /sandbox", "ls /"],
"fail_message": "❌ 还差一点!试试 `ls /sandbox` 或 `ls /`"
},
{
"id": "cd_1",
"title": "进入用户区",
"description": "使用 `cd` 命令进入 /users 目录",
"hint": "先 cd 进去,再用 pwd 确认",
"success_test": "if cwd == '/users' then pass",
"solution": ["cd /users", "cd /"],
"fail_message": "❌ 还没到 /users试试 `cd /users`"
},
{
"id": "cat_1",
"title": "读取文件",
"description": "使用 `cat` 命令读取 /users/alice.txt 的内容",
"hint": "cat /users/alice.txt",
"success_test": "if output contains 'Alice' and 'Linux' then pass",
"solution": ["cat /users/alice.txt"],
"fail_message": "❌ 记得完整路径!试试 `cat /users/alice.txt`"
},
{
"id": "echo_1",
"title": "打招呼",
"description": "使用 `echo` 打印一句话Hello Linux!",
"hint": "echo 黑客996",
"success_test": "if output contains 'Hello Linux' then pass",
"solution": ["echo Hello Linux!", "echo 'Hello Linux!'"],
"fail_message": "❌ 别忘了空格!试试 `echo Hello Linux!`"
}
]
},
{
"id": "level_2_files",
"title": "文件操作",
"description": "创建、复制、移动、查看文件内容(只读沙盒)",
"challenges": [
{
"id": "tail_1",
"title": "看文件末尾",
"description": "使用 `tail -n 3` 查看 /projects/backend/app.py 的最后 3 行",
"hint": "tail -n 3 /projects/backend/app.py",
"success_test": "if output contains 'main' then pass",
"solution": ["tail -n 3 /projects/backend/app.py"],
"fail_message": "❌ 记得 `-n` 参数!试试 `tail -n 3`"
},
{
"id": "head_1",
"title": "看文件开头",
"description": "使用 `head -n 2` 查看 /logs/access.log 的前 2 行",
"hint": "head -n 2 /logs/access.log",
"success_test": "if output contains '2024-01-01' then pass",
"solution": ["head -n 2 /logs/access.log"],
"fail_message": "❌ 别忘了 `-n 2`!试试 `head -n 2`"
},
{
"id": "mkdir_1",
"title": "创建目录",
"description": "使用 `mkdir` 在 /projects 下创建一个叫 mycode 的目录",
"hint": "mkdir /projects/mycode",
"success_test": "if output contains 'mycode' then pass",
"solution": ["mkdir /projects/mycode"],
"fail_message": "❌ 路径别写错!试试 `mkdir /projects/mycode`"
}
]
},
{
"id": "level_3_search",
"title": "搜索高手",
"description": "grep/fun/wc/sort 组合技",
"challenges": [
{
"id": "grep_1",
"title": "查找关键词",
"description": "使用 `grep` 在 /users/alice.txt 中查找包含 'Linux' 的行",
"hint": "grep Linux /users/alice.txt",
"success_test": "if output contains 'Linux' then pass",
"solution": ["grep Linux /users/alice.txt"],
"fail_message": "❌ 格式是 `grep pattern file`!试试 `grep Linux`"
},
{
"id": "wc_1",
"title": "统计行数",
"description": "统计 /projects/backend/app.py 的总行数",
"hint": "wc -l /projects/backend/app.py",
"success_test": "if output contains '4' then pass",
"solution": ["wc -l /projects/backend/app.py"],
"fail_message": "❌ `-l` 是行数参数!试试 `wc -l`"
}
]
}
]
}