1个不稳定版本

0.1.0 2024年5月27日

#223操作系统

MIT 许可证

67KB
1.5K SLoC

ninep :: 一个简单的9p协议实现

9P 是贝尔实验室为Plan 9 from Bell Labs分布式操作系统开发的网络协议,作为在分布式环境中透明访问和操作资源和应用程序的手段。9P既作为分布式文件系统,也作为网络透明且语言无关的‘API’。

Plan 9的第5节手册页涵盖了协议

一个简单的示例

包含一个最小文件系统的examples/server.rs 文件演示了这个crate提供的功能。您可以使用来自https://github.com/9fans/plan9port9p 命令与服务器交互并进行测试。

有关工具如何工作的更多信息,请参阅9p手册页

# Let 9p know where to find the socket we have opened
$ export NAMESPACE="/tmp/ns.$USER.$DISPLAY"

# List the contents of the filesystem and read the contents of a file
$ 9p ls ninep-server
$ 9p read ninep-server/foo

# List the contents of a subdirectory and a file in that subdirectory
$ 9p ls ninep-server/bar
$ 9p read ninep-server/bar/baz

# Read and then update the contents of a file
$ 9p read ninep-server/rw
$ echo "updated" | 9p write ninep-server/rw
$ 9p read ninep-server/rw

一个非平凡的文件系统

ad 文本编辑器通过其 fsys模块 提供了类似于plan9的acme 文本编辑器的完整虚拟文件系统接口。

依赖关系

~105KB