导师: val213, Sig-Main, [email protected]
bbs链接: https://bbs.dragonos.org.cn/t/topic/371
v0.1.0,后续需要的话可能会有补充
这是一个相对灵活的任务,你可以尽情探索每个命令的高级用法和各种参数的灵活配置,依照工具的官方文档(例如Gnu xxx Manul),尽可能的实现该工具的各种参数。
首先你需要参照官方文档:如何为 DragonOS 创建一个Rust 应用:
Rust应用开发快速入门 — DragonOS dev 文档
然后使用 rust 编写一个 用户空间程序,并为其编写测试样例脚本或者程序,展示其效果。
DragonOS 现有的命令可以进系统后在 /usr/local/bin
中 查看,不过由于这部分命令没有进行完备的测试,有可能存在错误或者未实现的命令。如果你有兴趣也可以进行测试并找到存在bug(与预期不符合的命令)的命令并试着找出问题所在和可能的解决方法。
以下是我们暂时还没有实现但是 Linux 中又很常用的命令,可供你参考。如果你有别的自己想开发的命令行工具也可以。比如一个相对更加复杂的DNS解析命令行工具。
注意,在开始之前,你需要先调研并确定你所需要的系统调用,在当前主线最新版本的 DragonOS 中是被支持的。
注:你有可能会遇到部分功能可以通过调用外部 crate 实现的情况,例如
grep
本身的模式匹配(如正则表达式匹配)通常是通过编写程序逻辑来实现,而非依赖内核的直接支持。Rust 可以使用 crates(例如regex
)实现这一部分的逻辑。