It matched Plan 9 (which is really Unix V9) really well …
ioctl(sock_fd, SIOCSIFADDR, &ifreq_pointer);
is a thing, although it targets a socket on the interface, not the interface itself.Generally I think there's some cases where they try to push too much through limited interfaces, e.g. ptrace feels like "ok, we have an API already, lets push this unrelated functionality through it too so we don't have to design and add a new one"
If we're cheating by using file descriptors instead of files, then you could go all the way and used AF_NETLINK sockets, they allow you even to set routing or firewall. That's kind of not the point.
What was it about the mantra again?
(I did upvote you btw)
Aren't netlink sockets files, and used for setting IP addresses?
Kill? Possibly kill -9?
:-)
ps: jokes aside, I do believe that if the filesystem as machine representation was enforced and design with good sense and average joe in mind, you'd probably not even need man (pardon the hyperbole)