13 ms·
What do Unix command names stand for?
- lainga 8y agoAlso systemd: both a system daemon, and a reference to "Systeme D[ebrouille]", a French term for getting things done quick and dirty on the fly: https://en.wikipedia.org/wiki/System_D https://en.wikipedia.org/wiki/System_D
- cat199 8y ago> getting things done quick and dirty on the fly sounds about right.
- Spivak 8y agosystemd is pretty much the exact opposite of that philosophy. Quick and dirty would be an init system that simply executed script files in a directory in asciibetical order and then bolts on a configuration language in the comments of those scritps when they become too hard to manage manually. And then extending that configuration language with X-* options when you need to add new keys but can't be sure a existing software doesn't already use those names differently.
- GuB-42 8y agoI am French, I know about "système D" but I never associated it with systemd. "Système D" implies making use of what's available, it is hacking (the good kind). systemd is the opposite, it is nothing like a quick and dirty solution to a problem but a major architecture change that intends to replace these hacks with something cleaner. If the french expression really was the origin of the "systemd" name, it has to be in a twisted kind of way, or some kind of private joke. It would be like calling an electric car "octane" or something like that.
- JdeBP 8y agoNor should you have. The systemd people themselves have been pointing out for years that it is "something completely different" and not the origin, let alone the correct spelling, of the name. * https://freedesktop.org/wiki/Software/systemd/#spelling https://freedesktop.org/wiki/Software/systemd/#spelling
- elchief 8y agoAccording to the OpenBSD manual, yp stands for "yellow pee" https://man.openbsd.org/yp https://man.openbsd.org/yp
- adrianmonk 8y agoAs I recall, it used to be officially called Yellow Pages in SunOS, but there was a dispute with British Telecom which owned the trademark on Yellow Pages, so Sun changed its name. Wikipedia has (https://en.wikipedia.org/wiki/Network_Information_Service https://en.wikipedia.org/wiki/Network_Information_Service) the same story I remember, though doesn't give a source for it: > Because British Telecom PLC owned the name "Yellow Pages" as a registered trademark in the United Kingdom for its paper-based, commercial telephone directory, Sun changed the name of its system to NIS, though all the commands and functions still start with "yp".
- FigBug 8y agoI always thought Yellow Pages was a generic term, but that's only in the USA. In other countries it's a trademark and owned by specific countries. TIL.
- excitom 8y agoI understood that it originally stood for "yellow pages" because it is a directory service, but that the phone company asserted their trademark on the term.
- excitom 8y agoMy favorite: "dd" the "copy and convert" command, but "cc" was already taken by the C compiler.
- Sir_Cmpwn 8y agoLater backronymed to "disk destroyer", of course.
- VSpike 8y agoEver since somebody told me the joke, I can't help thinking of it as "disk destroyer". It's a much more appropriate name.
- deleted 8y ago[deleted]
- planteen 8y agoYep learned my lesson once on a malformed dd command and never again have I made a mistake.
- jacksmith21006 8y agoSame. Personal use luckily. Years ago and why never did it again personal or professional.
- cel1ne 8y agoReminds me of “rm -Rf” meaning “read mail really fast” ;)
- trampi 8y agoHah, a BOFH reference :-)
- cesarb 8y agoI thought it came from JCL's DD (Data Definition) statement. Even the parameter syntax is somewhat reminiscent of JCL's DD, while being completely alien to normal Unix commands.
- nailer 8y ago> cat = "CATenate" > catenate is an obscure word The word is concatenate. dd isn't on there, but it's good: it stands for 'copy and convert'. As you can imagine 'cc' was taken. 'less' is a joke, people who remember 'more' might find it funny, but few people remember 'more' so younger folks just think it's a nonsense name.
- deleted 8y ago[deleted]
- continuational 8y agoThe Danish word for “read” is “læs”, which is close to less in pronounciation, so in a way it makes sense to us.
- dahart 8y ago> The word is concatenate. Catenate is a valid word, and synonymous with concatenate. Plus, "cat" makes a better 3 letter unix program name than "con", right? https://en.wiktionary.org/wiki/catenate https://en.wiktionary.org/wiki/catenate https://en.wikipedia.org/wiki/Catenation https://en.wikipedia.org/wiki/Catenation Googling the difference (hint: none) I found this lovely ditty: I never concatenate strings; I just catenate those little things. Of syllables few, I'm a man through and through. Shorter words? My heart joyfully sings! David Gries http://www.cs.cornell.edu/courses/JavaAndDS/files/catenate.pdf http://www.cs.cornell.edu/courses/JavaAndDS/files/catenate.p...
- dahart 8y ago> nroff = "New ROFF" > These are descendants of "roff", which was a re-implementation of the Multics "runoff" Wouldn’t it have been cool if nroff was “nuroff” so that run was spelled backwards, and “new” was represented phonetically?
- anjbe 8y agoKristaps Dzonsons released a great and well researched history of roff derivatives and manpages in general: https://manpages.bsd.lv/history.html https://manpages.bsd.lv/history.html
- technofiend 8y agotroff -m specifies which macro package to use and the system docs are written with the "an" macro set. So you can runoff (pun intended) the manpages using troff -man.
- nodesocket 8y agoI wonder why there few single character Unix commands? Was this intentional?
- jgtrosh 8y agoI don't know if it's intentional, but it would tend to increase name collisions with shell variables.
- LunarFire 8y agoThere used to be a type where 80x24 character terminals were a luxury, and even a type where printing commands and ouput actually meant printing on paper. Unix was developped in these times.
- gh02t 8y agoPurely speculation, but maybe because it makes a typo way more likely to invoke an actual command? If say, "rm" was just "r" and "find" was just "f"... well those keys are right next to each other on a QWERTY keyboard after all. Oops.
- loeg 8y agoOne presentation on the topic claims that the keyboards of the day were very stiff, so they preferred typing as few characters as possible.
- HeadlessChild 8y agoAccording to Hendrik Jan Thomassen [0] this is the reason. [0] https://www.youtube.com/watch?v=h5-DRLfzqD0 https://www.youtube.com/watch?v=h5-DRLfzqD0
- jzl 8y agoThe emacs "JOKES" file contains an extended section of proposed backronyms, along with a bunch of other 20-30 year-old jokey bits from usenet: https://github.com/emacs-mirror/emacs/blob/master/etc/JOKES https://github.com/emacs-mirror/emacs/blob/master/etc/JOKES EMACS may stand for "Editing MACroS," but some friends of mine suggested some more creative definitions. Here they are. Anyone have any additions? Eight Megabytes And Constantly Swapping Even a Master of Arts Comes Simpler ...
- vram22 8y agoI've heard it as Emacs Makes All Computers Slow. Probably was more applicable in the old days (as one call tell from the "megabytes" in the parent comment) than nowadays :)
- shagie 8y agoThats because it Eventually Mallocs All Computer Storage.
- duozerk 8y agoI'm often surprised how Emacs can struggle sometimes on modern hardware, like for example when chain-executing complex keyboard macros - though mostly yeah, it doesn't apply all that much anymore.
- cup-of-tea 8y agoEmacs is actually faster than most editors, but it lets you do anything so of course you can slow it down.
- masklinn 8y agoThe issue is it remains non-concurrent and any code (macros, extensions, …) executes in place of the editor doing its thang, so any non-trivial operation (or trivial operation on an entire buffer) locks up the editor until it's done and does its thing. And while it might technically be faster for the process, as is the case with e.g. STW GCs on large processes it 1. feels horrible and 2. as an editor is interactive it stops the user in their tracks and slows them down to hell
- vram22 8y agoI've heard grep is for Globally find Regular Expression and Print (which comes from the :g/re/p command of ed).
- kjeetgill 8y agoYep. It's second in the article :D
- lerax 8y agogrep: global regex parser
- biztos 8y agoArguably not original UNIX but: Practical Extraction and Reporting Language, aka Pathologically Eclectic Rubbish Lister aka `perl`
- chrisfinazzo 8y agoWhich reminds me of my favorite one... If Perl programs (executables, whatever you call them) are called "modules", why is the main place people download them from called CPAN? It's completely illogical. C = Comprehensive (It's not, it definitely does not contain all possible modules) P = Perl (This is only one that makes sense) A = Archive (If the things people create are called modules - .pm files, really - what makes this an archive? A collection of things? That's a weak leg to stand on. Yes, distributions formalizes this, but modules seems to be the common nomenclature. N = Network (How is this a network? I think Wall - or later, Hietaniemi - just wanted people to think it was big and important in the early days) This is all absurd and slightly sarcastic, but I finally got to write it down somewhere :)
- deleted 8y ago[deleted]
- svat 8y agoCPAN was named after (in imitation of) CTAN, the Comprehensive TeX Archive Network. CTAN was named by George Greenwade — the idea was to bring together (network) various TeX archives that various people had collected. See: • https://www.cpan.org/authors/id/H/HF/HFB/grok-cpan-1.01.pdf https://www.cpan.org/authors/id/H/HF/HFB/grok-cpan-1.01.pdf (page 3) • https://ctan.org/ctan/?lang=en https://ctan.org/ctan/?lang=en or http://dante.ctan.org/what_is_ctan.html http://dante.ctan.org/what_is_ctan.html
- chrisfinazzo 8y agoImitation, flattery etc, etc. As I said before, take this with a dose of sarcasm :)
- peterwwillis 8y ago
- thought_alarm 8y agoThe origin of `/etc` as the place for configuration files is also interesting. It was originally meant for any files that didn't fit into any of the predefined categories like `bin`, `lib`, and `dev`, hence the name "etc". https://unix.stackexchange.com/a/56172/295743 https://unix.stackexchange.com/a/56172/295743
- oldcynic 8y agoEqually the history of why we have /bin /sbin and /usr/bin. Lack of disk space. When the OS got too big for a single disk and expanded to a second the split came about. /home came about when they expanded to a third! http://lists.busybox.net/pipermail/busybox/2010-December/074114.html http://lists.busybox.net/pipermail/busybox/2010-December/074...
- fl0wenol 8y agoAlso, remember that the /usr used to mean "user", as in, if you were "bob" then your home directory was /usr/bob. That dance was done twice! Moving stuff to /usr/bin made sense after systems got too big for a single volume and you've got this directory on a nice, new spacious multi-megabyte disk (oooh!) In those ancient days of Unix the sysop acting as the "bin" user owned /bin and the files inside it and could overwrite them from tapes or compilation. (root would own the files in the sbin) So /usr/bin technically started out as his or her home directory when logging in as that account... at least back then. /usr/sbin only came about after /home became the colloquial location for home directories, such that you had parallel constructions for /bin and /sbin under /usr, and later, /usr/local just as you did at the root.
- kps 8y ago> So /usr/bin technically started out as his or her home directory […] That sounds wrong. /usr/bin existed at least as early as V6, but the 'bin' user's home directory was /bin.
- drfuchs 8y agoDavid F. here, with the best true Unix command-name story ever: In the late 1980's, Frame Technology had 50 or 100 employees, and as our product ran on Sun 3/50 workstations, not only the engineers, but many of the admins had them; and of course they all ran the SunOS version of Unix. One day, Laurie S. from the business side came over to ask me for some help with her system: "I think I've filled up my disk, but how can I find out?" "Well, the 'df' command will show you that info." "But," she replied, "won't that just show me the files in your home directory?" "My home directory??? Why would it do that?" "Well, my initials are LS and that shows my files, and DF are your initials, so that should show your files." I was super impressed.
- gonzo 8y agoAt Sun there was a salesperson, formerly of DEC, who had been taught, in DEC salestraining, that PDP (as in PDP-11/70) stood for “Pink and Dark Purple”, so they could recognize their machines in the lab.
- rmetzler 8y agoI'm glad nobody taught me that.
- dotancohen 8y agoSometimes it only works with a trailing slash.
- rrn 8y agoSupposedly rm is not shorthand for "remove" but rather it was the initials of the first and last name of the owner of the file that wrote the command, which combined several discrete tasks into a cumulative sequence of events that performed the full set of steps necessary to properly delete a file from the file system, while including some additional options, which weren't always required. The person's name is allegedly: https://en.wikipedia.org/wiki/Robert_Morris_(cryptographer) https://en.wikipedia.org/wiki/Robert_Morris_(cryptographer)
- DonHopkins 8y agoI like how the name of "yes" promises that it will say "yes", but it actually says "y". But "yes no" makes it say "no"!
- DonHopkins 8y agoI once asked Gumby if he and John Gilmore and Michael Tiemann named their company "Cygnus" as the result of typing "grep gnu /usr/dict/words". Without missing a beat, he replied that if they'd thought of doing that, they would have named the company "Wingnut".
- userbinator 8y agoThe one major thing I really like about the terseness of these commands is that, although they have a steeper learning curve at first, once you learn them --- which happens quickly with repeated use --- they feel very natural and you use them almost as if they're an extension of English, like a special dialect; talking with coworkers, we use words like "cat", "grep", "ls", "sudo", etc. as verbs. Contrast this with the verbosity of more "modern" command languages like Powershell: while those may be a bit easier to understand the very first time, every time thereafter it feels like you're talking in a language where every word is a minimum of 10 letters and two syllables long. The mental overhead is far higher. I've always remembered "bss" as the "bull-shit segment" --- because it initially doesn't have any useful content.
- chimprich 8y agoThe commands you list aren't too bad because they get quickly learned through use. And "grep" at least is pronounceable and feels strangely apt as a command name. In general though I think the terseness of the standard Unix commands is a problem, particularly for less often used commands. Even after many years of using them I still get "du" and "df" confused, for example.
- dkersten 8y agoI always end up using both du and df because I can never remember which does what. Half the time, I also can’t remember their names even and have to look them up. All of the really frequent commands, I can remember (cp, mv, cat, tar, head, tail, ls, mkdir, rm, grep, sed, and a handful of common programs like package managers and git) and everything else I can never remember and have to look up. I personally don’t like the unix command names, most don’t make much sense to me personally. Sure, I like that they’re short, but I can never remember them unless I use them a lot.
- nomocrypto 8y agoDon’t worry, I’m exactly the same way. disk fills up Me: Dammit, which command is which again? angry Googling It’s like the syntax for creating a symlink: I could live to be 100 and still forget the order of the arguments to ln.
- SpecialistEMT 8y agoSudo !! - sudo's the last command
- YeGoblynQueenne 8y ago>> The Perl language is Larry Wall's highly popular freely-available completely portable text, process, and file manipulation tool that bridges the gap between shell and C programming (or between doing it on the command line and pulling your hair out). That's ...an interesting definition of Perl. Last I heard it was the "gaffer tape of the internet" or some such. I put off learning Perl for so long that I don't need to anymore. I wonder how often it's used nowadays.
- goodcanadian 8y agoI use it all the time.
- deleted 8y ago[deleted]
- xg15 8y agoI read somewhere that "Perl" isn't actually any kind of acronym but really stands for a pearl (the glossy ball thingy produced by certain species of sea life) - the reason being some kind of biblical reference to it.
- twic 8y agobc = Belinda's Calculator. Apparently named after Belinda Cherry. [1]; i don't know who that is, but i assume she needed to do arithmetic on a unix machine a long time ago. There's an older unix calculator called dc, for desk calculator; dc uses reverse-Polish, so it's a pain to use if you didn't grow up using those weird old HP calculators (or writing Forth). My understanding is that bc began as a shell script which would translate infix expressions into RPN and pass them to dc. These days, if i want to do sums, i fire up a Python interpreter, or just plug them into a Google search box or Firefox address bar. But back in the day, i would use bc. [1] http://shannon.usu.edu.ru/Langs/LangList/Langs/B/Bc.htm http://shannon.usu.edu.ru/Langs/LangList/Langs/B/Bc.htm
- vram22 8y agoYes, bc is useful. You can even pipe standard input into bc, and get the results of the calculations on standard output. bc -l used to be the invocation I used a lot. I do that Google thing myself nowadays too :) They can even give answers to factorial(n) and the like. Found that recently. Wouldn't be surprised if a lot more too.
- twic 8y agotac = cat, but in reverse
- MarkMMullin 8y agoTwo more: Serious - ditroff - device independent troff Snarky - vi - vile (yah, I do emacs)
- thomk 8y agopwd - took me forever to figure out this had nothing to do with a password. According to this article, it means "Print Working Directory": https://unix.stackexchange.com/questions/399026/etymology-of-pwd https://unix.stackexchange.com/questions/399026/etymology-of... "Historically, program output was printed on paper rather than on screens. So the print part is due to the output technology of the time that the command was developed."
- tejtm 8y agoI remap the 'p' as "present working directory"
- ttyprintk 8y agodaemon - disk and execution monitor
- kps 8y agoFolk eymology. The origin is a reference to Maxwell's demon.
- dkns 8y agoI remember reading somewhere that supposedly when fsck was first introduced there was different letter in place of s.