| NETFILES(1) | NETFILES(1)

NAME

| Netfiles, netfileget, netfileput, netfilestat – network file access inside acme

SYNOPSIS

`Netfiles

` `netfileget` [ `−d` ] system path

`netfileput` system path

`netfilestat` system path

DESCRIPTION

`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`.

EXAMPLES

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`

SOURCE

| `/usr/local/plan9/src/cmd/netfiles`

SEE ALSO

| 9p(1), ssh(1), ssh-agent(1), intro(4), acme(4), factotum(4), `http://v9fs.sf.net`

BUGS

| 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.