NETFILES(1)

πŸ“¦ version 0_git20260208, in alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable

okay bestie, welcome to NETFILES(1) from the General Commands Manual πŸ’– this one is literally about network file access inside acme, and it’s giving iconic remote-file energy ✨

🌸 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. no cap, that’s the whole naming vibe πŸŽ€

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

Netfiles uses the helper programs netfileget, netfileput, and netfilestat to access the remote file systems. Those 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. slay πŸ”₯

  • 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. yes, that’s the exact wording, bestie 😭
  • 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. periodt πŸ’«

# /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 πŸ¦‹

/src/cmd/netfiles β€” the source location, exactly as dropped, no edits bestie πŸ’–

🌈 SEE ALSO 🌈

the SEE ALSO squad is literally: 9p(1), ssh(1), ssh-agent(1), intro(4), acme(4), factotum(4), β€” trailing comma included, no shade πŸ’…

πŸ’€ BUGS πŸ’€

okay so here’s the caveat, and it’s real: 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. not me being dramatic, that’s just the bug note 😭


okay bye bestie β€” this was NETFILES(1) from the General Commands Manual, source tree /src/cmd/netfiles, and the footer is literally just NETFILES(1) with no extra date/version line dropping in, fr fr πŸ’œ