9p – read and write files on a 9P server

9p [ options ] read path
9p [ options ] readfd path
9p [ options ] write [ −l ] path
9p [ options ] writefd path
9p [ options ] stat path
9p [ options ] rdwr path
9p [ options ] ls [ −dl ] path...

9p is a trivial 9P client that can access a single file on a 9P server. It can be useful for manual interaction with a 9P server or for accessing simple 9P services from within shell scripts. The common options are:
−a addr
dial the server at addr
−A aname
attach to the file system named aname
−n    mount without authentication
The first argument is a command, one of:
read   print the contents of path to standard output
writewrite data on standard input to path; the −l option causes write to write one line at a time
readfd, writefd
like read and write but use openfd(9p) instead of open; this masks errors and is mainly useful for debugging the implementation of openfd
stat   execute stat (9p) on path and print the result
rdwr   Open path for reading and writing. Then repeat until end-of-file on standard input: copy a line from the file to standard output, copy a line from standard input to the file. Print errors, but don’t give up. Rdwr is useful for interacting with servers like factotum(4).
ls    Print a directory listing in the format of ls(1). The −d and −l flags have the same meaning as in ls.
9p dials address to connect to the 9P server. If the −a option is not given, 9p requires the path to be of the form service/subpath; it connects to the Unix domain socket service in the name space directory (see intro(4)) and then accesses subpath.

To update plumber(4)’s copy of your plumbing rules after editing $HOME/lib/plumbing:
cat $HOME/lib/plumbing | 9p write plumb/rules
To display the contents of the current acme(4) window:
9p read acme/$winid/body


intro(4), intro(9p), 9pclient(3)

Space Glenda