1个不稳定版本
0.1.0 | 2024年5月27日 |
---|
#223 在 操作系统
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/plan9port 的 9p
命令与服务器交互并进行测试。
有关工具如何工作的更多信息,请参阅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
一个非平凡的文件系统
依赖关系
~105KB