The short version is that dsw was the command used on ancient UNIX to delete files interactively. It stood for “delete from switches” and referred to the switches on the front panel of the PDP-7. You’d toggle the inode number of a file into the front panel and then run dsw and it would delete the file.
I think it was even more unusual than that, though: you’d toggle in the inode number, run the command, and then it would crash and produce a core file when it reached the appropriate inode number in the directory. You’d then run the core file and that would delete the file.
It was used as a sort of interactive delete, but IIRC, its primary purpose was to easily delete files that had non-typable characters in their name.
Which leads me to wonder about amusing situations in which one might decide not to proceed with the deletion, run dsw again to the delete the first one’s coredump, and then be left with the fun of discerning exactly which of the (now multiple) dsw coredumps is primed to delete which file when run…
Many, many more listed in the debian wiki: https://wiki.debian.org/WhyTheName
Reminds me of a blog post I wrote so many years ago about the
dsw
command:https://web.archive.org/web/20111104141518/http://dvlabs.tippingpoint.com/blog/2008/03/18/a-bit-of-history
The short version is that
dsw
was the command used on ancient UNIX to delete files interactively. It stood for “delete from switches” and referred to the switches on the front panel of the PDP-7. You’d toggle the inode number of a file into the front panel and then rundsw
and it would delete the file.I think it was even more unusual than that, though: you’d toggle in the inode number, run the command, and then it would crash and produce a core file when it reached the appropriate inode number in the directory. You’d then run the core file and that would delete the file.
It was used as a sort of interactive delete, but IIRC, its primary purpose was to easily delete files that had non-typable characters in their name.
The source is here: https://minnie.tuhs.org/cgi-bin/utree.pl?file=PDP7-Unix/cmd/dsw.s
The
oas
is “inclusive OR of accumulator and switches” while the syscallsave
creates a core dump.That’s horrifying.
Which leads me to wonder about amusing situations in which one might decide not to proceed with the deletion, run
dsw
again to the delete the first one’s coredump, and then be left with the fun of discerning exactly which of the (now multiple)dsw
coredumps is primed to delete which file when run…“Easily”.
Isn’t
cat
short for concatenate and not just catenate? I’ve never actually heard anyone ever use the term “catenate”.I always thought
rc
expanded to “run control”. My understanding was probably polluted by Solaris usage.Bryan Cantrill’s Surge 2012 lightning talk on
bfs
comes to mind: https://youtu.be/8Gp-RXCLO2M?t=3486pwd - Print Working Directory
ls = list stuff
I find it so sad that all of these university’s unix knowledge bases are being archived. There’s still a lot of good stuff in them though.