groff 1.23.0 added .MR to its -man macro package. The NEWS file states
that the inclusion of the macro "was prompted by its introduction to
Plan 9 from User Space's troff in August 2020." From d32deab it seems
that the name for Plan 9 from User Space's implementation was suggested
by groff maintainer G. Brandon Robinson.
Not sure if the intention was to make these definitions compatible, but
it would be nice if they were.
Currently, Plan 9 from User Space's .MR expects its second argument to
be parenthesized. groff's .MR does not. This results in extra
parentheses appearing in manual references when viewing Plan 9 from User
Space's manual pages on a system using groff.
179 lines
2.3 KiB
Groff
179 lines
2.3 KiB
Groff
.TH 9P 1
|
|
.SH NAME
|
|
9p \- read and write files on a 9P server
|
|
.SH SYNOPSIS
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B read
|
|
.I path
|
|
.br
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B readfd
|
|
.I path
|
|
.PP
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B write
|
|
[
|
|
.B -l
|
|
]
|
|
.I path
|
|
.br
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B writefd
|
|
.I path
|
|
.PP
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B stat
|
|
.I path
|
|
.PP
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B rdwr
|
|
.I path
|
|
.PP
|
|
.B 9p
|
|
[
|
|
.I options
|
|
]
|
|
.B ls
|
|
[
|
|
.B -dl
|
|
]
|
|
.I path...
|
|
.SH DESCRIPTION
|
|
.I 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:
|
|
.TP
|
|
.B -a\fI addr
|
|
dial
|
|
the server at
|
|
.I addr
|
|
.TP
|
|
.B -A\fI aname
|
|
attach to the file system named
|
|
.I aname
|
|
.TP
|
|
.B -n
|
|
mount without authentication
|
|
.PP
|
|
The first argument is a command, one of:
|
|
.TP
|
|
.B read
|
|
print the contents of
|
|
.I path
|
|
to standard output
|
|
.TP
|
|
.B write
|
|
write data on standard input to
|
|
.IR path ;
|
|
the
|
|
.B -l
|
|
option causes
|
|
.I write
|
|
to write one line at a time
|
|
.TP
|
|
.BR readfd ", " writefd
|
|
like
|
|
.B read
|
|
and
|
|
.B write
|
|
but use
|
|
.IR openfd (9p)
|
|
instead of
|
|
.IR open ;
|
|
this masks errors and is mainly useful for debugging
|
|
the implementation of
|
|
.I openfd
|
|
.TP
|
|
.B stat
|
|
execute
|
|
.I stat (9p)
|
|
on
|
|
.I path
|
|
and print the result
|
|
.TP
|
|
.B rdwr
|
|
Open
|
|
.I 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.
|
|
.B Rdwr
|
|
is useful for interacting with servers like
|
|
.MR factotum 4 .
|
|
.TP
|
|
.B ls
|
|
Print a directory listing in the format of
|
|
.MR ls 1 .
|
|
The
|
|
.B -d
|
|
and
|
|
.B -l
|
|
flags have the same meaning as in
|
|
.IR ls .
|
|
.PD
|
|
.PP
|
|
.I 9p
|
|
dials
|
|
.I address
|
|
to connect to the 9P server.
|
|
If the
|
|
.B -a
|
|
option is not given,
|
|
.I 9p
|
|
requires the
|
|
.I path
|
|
to be of the form
|
|
.IB service / subpath \fR;
|
|
it connects to the Unix domain socket
|
|
.I service
|
|
in the name space directory
|
|
(see
|
|
.MR intro 4 )
|
|
and then accesses
|
|
.IR subpath .
|
|
.SH EXAMPLE
|
|
To update
|
|
.MR plumber 4 's
|
|
copy of your plumbing rules after editing
|
|
.BR $HOME/lib/plumbing :
|
|
.IP
|
|
.EX
|
|
cat $HOME/lib/plumbing | 9p write plumb/rules
|
|
.EE
|
|
.PP
|
|
To display the contents of the current
|
|
.MR acme 4
|
|
window:
|
|
.IP
|
|
.EX
|
|
9p read acme/$winid/body
|
|
.EE
|
|
.SH SOURCE
|
|
.B \*9/src/cmd/9p.c
|
|
.SH SEE ALSO
|
|
.MR intro 4 ,
|
|
.IR intro (9p),
|
|
.MR 9pclient 3
|