plan9port/man/man1/9p.1
2005-01-13 04:49:19 +00:00

123 lines
1.5 KiB
Groff

.TH 9P 1
.SH NAME
9p \- read and write files on a 9P server
.SH SYNOPSIS
.B 9p
[
.B -a
.I addr
]
.B read
.I path
.br
.B 9p
[
.B -a
.I addr
]
.B readfd
.I path
.PP
.B 9p
[
.B -a
.I addr
]
.B write
.I path
.br
.B 9p
[
.B -a
.I addr
]
.B writefd
.I path
.PP
.B 9p
[
.B -a
.I addr
]
.B stat
.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.
.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
.I path
.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
.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
.IR intro (4))
and then accesses
.IR subpath .
.SH EXAMPLE
To update
.IR 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
.IR acme (4)
window:
.IP
.EX
9p read acme/$winid/body
.EE
.SH SOURCE
.B \*9/src/cmd/9p.c
.SH SEE ALSO
.IR intro (4),
.IR intro (9p),
.IR 9pclient (3)