Netfiles, netfileget, netfileput, netfilestat - network file access inside acme
Netfiles
netfileget [
-d ]
system path
netfileput system path
netfilestat system path
Netfiles presents remote file systems in
acme(4) windows. Each
window is named
/n/system/path and displays the
contents of
path on
system.
Netfiles reads names of windows to create from the plumbing channel
netfileedit (see
plumber(4) and the example section below). In a
netfiles-controlled window,
Get,
Put, and button 3 loads
work as in normal acme windows. External commands executed with button 2 run
in the directory in which
acme was started.
Netfiles uses the helper programs
netfileget,
netfileput,
and
netfilestat to access the remote file systems. The three first
check to see if
system is a service in the current name space (see
intro(4)). If so, they use
9p(1) to access it. Otherwise, they
assume that the system is a network name and use
ssh(1)'s
sftp
to access it.
Netfileget prints the contents of the named
path to standard
output. If the
-d option is given, then
netfileget prints a
single-column listing of
path, which must be a directory. Directories
in the listing have appended to their names.
Netfileput writes its standard input to the named
path.
Netfilestat prints the file type of
path, one of
nonexistent,
directory, or
file.
The following plumbing rule (see
plumb(7)) passes
/n/ paths to
Netfiles, starting it if necessary.
-
# /n/ paths go to simulator in acme
kind is text
data matches '[a-zA-Z0-9_\-./]+('$addr')?'
data matches '(/n/[a-zA-Z0-9_\-./]+)('$addr')?'
plumb to netfileedit
plumb client Netfiles
/src/cmd/netfiles
9p(1),
ssh(1),
ssh-agent(1),
intro(4),
acme(4),
factotum(4),
Netfiles depends on
sftpcache(1), which only works with OpenSSH
versions 4.3 and earlier; later versions do not print the
sftp>
prompt frequently enough.