practice_templates/basic_03/linux_env/README.md
基础实践 3-1: Linux 环境使用实践
📚 知识点
| 知识点 | 说明 |
|---|---|
| 文件操作 | ls, cat, cp, mv, rm, find, grep |
| 目录管理 | cd, pwd, mkdir, tree |
| 文本处理 | grep, sed, awk, wc, sort, uniq |
| 权限管理 | chmod, chown, ls -l |
| 进程管理 | ps, kill, jobs, bg, fg, nohup |
| 环境变量 | export, source, .bashrc |
🎯 任务目标
完成以下 5 个实践任务,每个任务需提交命令记录和输出结果。
任务 1: 项目目录探索
在 SOC3.0 项目中完成以下操作:
- [ ] 列出 soc/ip/ 下所有子目录
- [ ] 统计 soc/ 目录下有多少个 .sv 文件
- [ ] 找到包含 "module" 关键字的所有文件 (使用 grep -r)
- [ ] 找到最大的 3 个 .sv 文件 (使用 find + sort)
任务 2: 文本处理
- [ ] 从
soc/top/top.sv中提取所有input和output端口声明 - [ ] 统计
soc/top/top.sv文件的代码行数 (不含空行和注释) - [ ] 使用 grep 找出 SOC 项目中所有 APB 外设的基地址定义
- [ ] 使用 awk 提取地址映射表并格式化输出
任务 3: 脚本编写
补全 scripts/find_modules.sh:
- [ ] 自动查找项目中所有 Verilog module 的名称
- [ ] 输出模块名和所在文件路径
- [ ] 按模块名排序输出
任务 4: 环境配置
补全 scripts/setup_env.sh:
- [ ] 设置 EDA 工具路径 (VCS, Verdi)
- [ ] 设置工作目录和日志目录
- [ ] 创建必要的目录结构
- [ ] 输出环境检查信息
任务 5: Makefile 理解与修改
分析并修改 Makefile:
- [ ] 理解现有的编译和仿真目标
- [ ] 添加 lint 目标 (运行代码检查)
- [ ] 添加 regress 目标 (批量运行多个测试)
- [ ] 添加 help 目标 (显示所有可用目标)
📁 文件结构
├── scripts/
│ ├── find_modules.sh ← ⭐ TODO: 补全模块查找脚本
│ └── setup_env.sh ← ⭐ TODO: 补全环境配置脚本
├── Makefile ← ⭐ TODO: 添加新目标
├── answers/ ← 参考答案(请先独立完成再对照)
│ └── task_answers.md
└── README.md
✅ 验收标准
- 所有脚本可以正常运行
- Makefile 新增目标功能正确
- 提交完整的命令操作记录
📝 考核方式
| 考核项 | 分值 | 评估方法 |
|---|---|---|
| 任务 1: 目录探索 | 15 分 | 提交命令截图 + 结果 |
| 任务 2: 文本处理 | 20 分 | 提交命令截图 + 正确结果 |
| 任务 3: 脚本编写 | 25 分 | 脚本可运行 + 输出正确 |
| 任务 4: 环境配置 | 20 分 | 环境脚本可运行 + 变量正确 |
| 任务 5: Makefile | 20 分 | 新增目标可运行 + 功能正确 |
| 合计 | 100 分 |
通过标准:≥ 60 分
考核流程
- 学员提交操作记录文档(commands.md)
- 导师或 AI 检查命令正确性和输出结果
- 运行脚本验证功能
- 现场提问 2-3 个 Linux 相关问题