61

A couple of weeks ago I attended a talk on Git by someone who seemed to be from a Windows background. I say "seemed to be" because he kept saying "dash" when referring to command-line options. I then recalled something that I found curious in my early days of learning Linux; that is, when referring to options, the resident Unix-heads always said "minus". That is:

rm -rf /var/tmp/bogus/junk

Would be said "arr em minus arr ef" as opposed to "arr em dash arr ef".

Why is this?

erch
  • 5,030
Eric Smith
  • 1,274
  • 66
    really? my unix friends always say "dash" – phunehehe Sep 18 '10 at 17:04
  • 5
    There's an interesting Coding Horror post about symbol pronunciations (in a programming context, although - is one of the ones covered) – Michael Mrozek Sep 19 '10 at 00:27
  • 17
    I've always said "minus" in that context, but I started using Unix at System III (not that that in and of itself means anything). It makes perfect sense to me since there are options that start with plus in some programs. Besides, [Crocodile Dundee accent] that's not a dash, this is a dash — (em) or this: – (en) – Dennis Williamson Sep 19 '10 at 04:09
  • 16
    I've never heard of minus before, but I like the superior feeling that goes with it. I'm switching my lingo to minus – Stefan Sep 20 '10 at 15:29
  • 7
    Unrelated to the “minus” thing: Maybe change your example to something else? There are quite a couple of UNIX newbies who blindly copy&paste everything they find... especially if there is no hint of what it is supposed to do. – Marcel Stimberg Oct 22 '10 at 15:40
  • 2
    Call me weird, but I call it tack. – jonescb Feb 06 '11 at 19:08
  • @jonescb You're weird. :-p. But seriously, any reason why? Where'd you first hear that. – Mikel Feb 06 '11 at 21:54
  • @Mikel. I actually heard it on an episode of Hak5 a year or two back. – jonescb Feb 07 '11 at 00:20
  • The original UNIX developers seem to call it minus, judging by the books they wrote. See my updated answer. – Mikel Apr 10 '11 at 12:31
  • @MarcelStimberg: I love how the default example (before the edit) was extremely destructive. When thinking of an arbitrary command, the first one that comes to mind breaks the computer :) – Tikhon Jelvis Dec 13 '11 at 22:19
  • 1
    @MarcelStimberg, the example was designed to elicit an emotional reaction. – Eric Smith Dec 14 '11 at 05:57
  • 1
    This whole question seems to be about personal preference. "Dash" is a vague term that could refer to any number of dash-like characters (en-dash, hyphen, em-dash, etc.). The Unicode name for the - character, code pointU+002D is hypen-minus. – jw013 Nov 08 '12 at 17:13
  • 2
    I tend to pronounce it as hyphen. When explaining, I go, Arr Emm Hyphen Arr Eff. I think it majorly depends on the region you're from. – darnir Nov 09 '12 at 15:42
  • @jw013 As opposed to U+2212 MINUS SIGN? – user Nov 22 '12 at 18:39
  • This might be regional thing. In Polish, we often call it “minus” because the polish word for “dash” is more difficult to pronounce, same for “hyphen”. So when we switch to English, we keep thinking of the character as “minus” character more than a “dash” character… – liori Nov 22 '12 at 18:48
  • 1
    @MichaelKjörling What? The question is talking about the - character used in Unix command options, which is not U+2212. If you tried using U+2212 in a command option instead of - it probably will not work. The expected character is U+002D: hyphen-minus. If you go to the POSIX spec on Utility Conventions and inspect the - character used there, you will find that it is U+002D hyphen-minus, not U+2212. – jw013 Nov 23 '12 at 03:50
  • 2
    @jw013 Yes, but "minus" could also be U+2212, so if you want to avoid ambiguity, you have to explicitly say "hyphen-minus". "arr emm hyphenminus arr eff". It just doesn't have quite the same ring to it, don't you agree? :) – user Nov 23 '12 at 09:40
  • @MichaelKjörling Oh I see - I think you misunderstood. I was just making observations about "dash" and "minus" - nowhere do I suggest which term people should be using. There is only one character used for command options, so there's no real need to be pedantically exact. The only possible confusion would be from someone completely new to the Unix command-line argument convention. Otherwise if you said "rm dash/hyphen/minus f" I'm sure most people would understand you. I use "dash" myself because it has the fewest syllables. – jw013 Nov 23 '12 at 14:50
  • 1
    Never noticed it being called anything except "hyphen", although if someone said "dash" I'd probably not think about it enough to even remember that it had happened. From Northern Ireland, now living in England. – Nagora Jul 09 '15 at 08:43
  • 1
    I'm from Canada and everyone I've met here says dash. That being said, I've found some people saying minus on YouTube. I think dash is way faster, easier to say. I have no idea why I started saying it that way. – Ryan Babchishin Oct 24 '15 at 07:16
  • 1
    "Dash" sounds too much like "slash". I say "dash" though, regardless. – doug65536 Oct 29 '15 at 09:31

17 Answers17

82

Two of the most important UNIX books, The UNIX Programming Environment and The C Programming Language both refer to it as "minus".

The Unix Programming Environment, page 13:

Options follow the command name on the command line, and are usually made up of an initial minus sign (-) and a single letter.

The C Programming Language, 2nd Edition, page 116:

A common convention for C programs on UNIX systems is that an argument that begins with a minus sign introduces an optional flag.

Many UNIX users will have read one or both of these books, so may have taken the terminology from there.


Calling it a "minus" makes sense, because the character you are typing is a hyphen-minus (-).

A dash () is longer.

The reason for saying "minus" rather than "hyphen" is probably twofold:

  1. fewer people know what a hyphen is
  2. some utilities accept options starting with +, so it's logical to think of plus and minus

Also, many word processing programs convert a double hyphen-minus (--) into a dash (), so saying "dash" when you mean "minus" could lead to confusion when discussing GNU long options, e.g. --help.

AdminBee
  • 22,803
Mikel
  • 57,299
  • 15
  • 134
  • 153
  • 11
    +1 for all the references with minimal fluff. Dash isn't a single character - it's more of a vague term for any of a group of similar looking characters including hyphens, em-dashes, en-dashes, etc. – jw013 Nov 08 '12 at 17:15
  • 1
    +1 for hyphen. how so few people know what this basic punctuation symbol is, is beyond me. hearing it called "dash" everywhere is so grating. especially since the same people don't know what an actual dash is... grr. – underscore_d Oct 23 '15 at 23:15
  • Yeah, but the argument that the word "dash" is ambiguous doesn't hold water. "minus" is ambiguous too; see U+2212. – Mr Lister Oct 26 '15 at 08:08
  • Btw, both of minus and hyphen work. – hafiz031 Aug 02 '21 at 07:34
  • Few people know what a hyphen is?? – RonJohn Apr 11 '23 at 13:00
35

I've never seen anyone say "minus" outside of a math scenario (to mean subtract), "dash" is appropriate and will be more common, this isn't a Unix thing, this was just this one person. We do have other lingo though, e.g. #! is pronounced shebang.

Here's a link to the current Jargon File for ASCII and how they're said

xenoterracide
  • 59,188
  • 74
  • 187
  • 252
  • 5
    I'm pretty fond of "octothorpe" # and thanks to INTERCAL I can only think of the Python % operator as "mingle". http://www.jargon.net/jargonfile/a/ASCII.html – msw Sep 18 '10 at 19:31
  • I always call % modulus. I rarely call # Sha[rp] outside of shabang, usually hash otherwise. – xenoterracide Sep 18 '10 at 19:33
  • 18
    Actually sharp is this character - , # is hash (not that anyone cares ;) ). – Maja Piechotka Sep 18 '10 at 21:56
  • +1 for not caring ;) I'm just pretty sure it's shabang because the sha is short for sharp in this case. – xenoterracide Sep 18 '10 at 22:48
  • 9
    @xeno It is, although it's spelled shebang – Michael Mrozek Sep 19 '10 at 00:24
  • 1
    Funny I always thought it was called "shebang" because you put it in there and, SHEBANG!!! The file can now be executed!! – Josh Dec 08 '10 at 14:18
  • 10
    at least we no longer call the # symbol "pound". I like octothorpe 'cos then I can pronounce C# as cock-toe-thorpe which annoys the MS fanbois for some reason :) – gbjbaanb Dec 09 '10 at 19:29
  • @gbjbaanb that makes the C# language even more dirty than it already is! – Josh Dec 09 '10 at 23:14
  • 4
    Wait, we don't call it 'pound'? – belacqua Jan 28 '11 at 19:00
  • Interesting, that site says calling a '#' "splat" is rare. I've always heard it called "pound" "hash" and "splat" all fairly frequently. – phemmer Feb 06 '11 at 09:29
  • 2
    @patrick splat is usually *** in what I've used – xenoterracide Feb 06 '11 at 20:50
  • I've found dash to be less common because in plain English it has an implied space before and after the dash, which isn't always correct (and definitely at least looks wrong: rm - rf foo/). – Izkata Dec 02 '13 at 17:02
  • 3
    @belacqua This is a pound: £ – Digital Trauma Oct 21 '15 at 20:50
  • 1
    dash is most defintely not the correct term. "-" is not a dash, nor is "--" before your word processor converts it, which is more like a notation for the computer equivalent. Calling "-" dash is just an error just like how people can't consistently use words like your/you're, they're/their; and people disagreeing here are just like people disagreeing that affect and effect are both noun or verb depending in context. Either argument can be solved by looking it up. for example https://cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen . Luckily the original unix nerds used it right. – Peter Oct 23 '15 at 09:57
  • 2
    @DigitalTrauma Except when it isn't. US & Canada still have phone menu nav with spoken 'enter number then hit pound' and similar. History of teletype, ttys, and so on, with Baudot and Murray encoding is replete with reference to £ and # sharing the same 5-bit code point, perhaps giving rise to extra confusion. But 'pound sign' usage is old ; no less than OED records usage of # as 'pound sign' from a 1923 typewriting manual. – belacqua Oct 24 '15 at 01:57
  • @Peter, I read that reference you cited as suggesting that the least incorrect option for the "horizontal character in front of single letter options" would be en-dash. So ls -l would be ell ess space dash ell. Bottom line, though, is to be understood and if verbal copy-n-paste was necessary then I'd use whatever terminology worked for the situation. – Chris Davies Oct 24 '15 at 11:31
  • @roaima it was not saying "en-dash" is "least incorrect"... it was referring to 3 different symbols with 3 different meanings. – Peter Oct 24 '15 at 16:49
  • @gbjbaanb I, for one, don't find this pronunciation annoying at all, and Coctothope is one of my favorite programming languages. Lately I've often been using Foctothorpe instead, though. – Eliah Kagan Feb 02 '17 at 19:31
28

I learned Unix in the AT&T System V days (1990), and it went like this: rm -rf /bin/nessus-fetch.rc was spoken as: arr emm minus arr eff slash bin slash nessus dash fetch dot rc where a minus was a argument indicator and a dash was part of a directory or file name

I've heard plenty of minus in my time, and usually the dash people were newbies, pronounced noo bees :-)

WAR

dev
  • 297
  • 4
    +1 me too: minus for arguments, dash for everything else – Bill B Oct 09 '10 at 00:10
  • 6
    +1 Yes, exactly; what's going on on this site? "Minus" is the only pronunciation I've encountered. –  Oct 09 '10 at 04:33
  • 4
    Yes, except using -r on a file is silly and especially along with -f is dangerous if you make a mistake. e.g. rm -rf /bin/ nessus-fetch.rc. Oops! – Wodin Apr 10 '11 at 13:58
  • Do you always pronounce the -? I think I've heard it just pronounced "arr emm arr eff ...". – Tikhon Jelvis Dec 13 '11 at 22:23
  • 1
    -1 All right, you may have claimed to have been around, and I'm not saying you weren't, or that I think you are lying, but the fact that you failed to provide a written reference means that your answer is by nature subjective. ('WAR' indeed.) – ixtmixilix Mar 22 '12 at 20:43
  • Wow; when I read this question I thought "Huh? I say dash and I've never heard anyone say minus. " And then I saw your answer and read are em minus are eff in my head. Well, wouldja looking that. I guess I say minus too and just didn't think about it. – mattdm Oct 21 '15 at 11:47
  • 1
    yuck for mixing minus and dash together ("-" is not dash! look it up... eg. https://cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen ) – Peter Oct 23 '15 at 10:04
13

Well, for me "minus" is more natural, probably because I am not a native english speaker. My native language in Hungarian, and minus = minusz, but hyphen = valasztojel, obviously "minus" is easier and shorter. However I live in Romania, and minus = minus, but hyphen and dash does not even have a one-word translations, so they would be very tedious to use.

Patkos Csaba
  • 2,530
  • 10
    Here in Germany: minus=Minus, dash=Strich, hyphen=Bindestrich. Minus is international. – user unknown Feb 06 '11 at 13:23
  • 2
    +1 In Russian,the word for "hyphen"--[defis]--although not longer than "minus",but doesn't sound "colloquial" enough to be used in normal speech. Another colloquial word for "hyphen" is [chortochka], but it's not good because of some ambiguity: it means "short line", so can be interpreted as "slash" or "backslash" or "pipe" or whatever. The word [tire] ("dash") is associated only with a long dash used as a punctuation sign. So I feel that the nicest way to pronounce this stuff is to say "minus". And true: probably I learned "minus" from other Unix people, and was glad there's such a nice way. – imz -- Ivan Zakharyaschev Feb 06 '11 at 13:50
  • 1
    Also, a hyphen ([defis] in Russian) occurs usually "inside" a word, to connect two parts of a word. So it's unnatural to say "hyphen" when you pronounce the beginning of a "word" (the option). I can imagine me pronouncing "apt-get" as "apt defis get" or "apt get cherez defis" (= "with a hyphen inside"); the latter is the usual way to talk about spelling of some compound words in Russian. – imz -- Ivan Zakharyaschev Feb 06 '11 at 13:58
  • @imz: Does the latter version ever get used in the context of Unix? – Tikhon Jelvis Dec 13 '11 at 22:24
  • @TikhonJelvis: it could be used in any case when you need to spell something like a word (could be a Unix command), and there are some peculiarities not reflected by the normal pronunciation (the hyphen is not pronounced, so you add a comment about it after pronouncing the group of (pseudo)words). I don't see any reason against this way to be used in the context of Unix. I could spell "apt-get" the latter way... Why are you asking? – imz -- Ivan Zakharyaschev Dec 13 '11 at 22:57
9

The only time I use or hear minus instead of dash is when using chmod to remove a certain permission, e.g.

chmod -x script.sh

as the action in question can be considered subtraction.

alanc10n
  • 191
  • 5
    Very good point. I was gong to comment that I always say "dash" myself but after reading your answer, I realized this is the exception. In this case I would say " C H mod minus x script dot S H " – Josh Dec 08 '10 at 14:20
  • 1
    @Josh, I just realized that comm is another exception. You "minus 2" to skip the lines that are only in file 2, etc. – Wildcard Apr 15 '16 at 02:37
8

I believe I qualify as a Unix head and I say dash because it has fewer syllables than minus or hyphen.

I'd like to read rm -rf / as "rum ruff slash" but I fear almost no-one would understand me.

  • 3
    Agreed -- in fact, when talking to folks who know Unix things, I usually omit the 'dash' even. I.e., "rmrf slash" . No one who doesn't know what that means doesn't need to be running the command. – belacqua Jan 28 '11 at 19:05
7

A lot of people actually say "tack." (I'm watching a Hak5 video right now, and the host keeps saying "tack.")

The other more common pronunciations are "dash" and "hyphen."

I have never heard a Unix or Linux guy say "minus" in a command-line context.

greyfade
  • 640
  • 1
    As a counterpoint, I've heard "minus", "dash" and maybe (rarely) "hyphen", but never "tack". – Tikhon Jelvis Dec 13 '11 at 22:28
  • "dak" is listed as a rare variant in the jargon file. I've never actually heard it though. – wnoise Mar 22 '12 at 06:49
  • @greyfade where are you from, where you have never heard them say minus, which is by far the most common and traditional? And are these unix guys, or primarily windows guys that just use it for the one or two things they need *nix for (routing, virtualization, raspberry pi, etc.)? – Peter Oct 23 '15 at 10:12
7

I have used Unix and GNU/Linux for many years, and talked about command-line operators out loud a heck of a lot and I have never heard anyone say "minus." In fact, we don't even usually say "dash." If I'm talking to somebody and the context is clear, I'll just speak the letters of the option; using your example

rm -rf /

would be pronounced "arr em arr eff slash." Of course, this is not something I usually tell someone how to do, so it would be more like

rm -rf *

pronounced "arr em arr eff star." Sometimes I say the dash, like

sudo yum -y update

I would say "soo dough yum dash why update."

  • 11
    "arr em arr eff slash."? Unix for pirates? :-))) scnr ;-) – echox Sep 21 '10 at 15:00
  • 1
    arr em arr starrr, matey! grrrrep! – Joel J. Adamson Sep 23 '10 at 15:05
  • 1
    "soo dough"? As in, sudo make me some dough so you can bake bread for my sandwich ? – Josh Dec 08 '10 at 14:24
  • @Joel -- ah, I made this exact observation above (in another comment). 'rmrf' needs no dashes, hacks, tacks, minuses, etc.. It's shorthand, and inscrutability to those who shouldn't run it is a plus. – belacqua Jan 28 '11 at 19:07
  • Apparently the official pronunciation of sudo is "sue-doo". Not that it matters much, but thought I'd mention it while we're on the topic. http://en.m.wikipedia.org/wiki/Sudo?wasRedirected=true – Mikel Feb 06 '11 at 21:58
  • 2
    @Mikel I say "sudo" as "pseudo" because I'm not really the super user. – Joel J. Adamson Apr 24 '11 at 01:27
  • This reflects exactly how I think about and pronounce commands, but I'm horribly inexperienced and don't reflect any established practice :) – Tikhon Jelvis Dec 13 '11 at 22:26
5

I am mainly a Windows guy (Don't down vote me here!) and I typically say "hyphen".

I guess it is just your experience with the people you deal with and how they were brought up. Nothing specific about their computer background.

wilhil
  • 319
  • 1
    -1 for "hyphen". I never call it that ;-) (Actually saying hypen doesn't make sense, a hyphen is used in-between two words) – Josh Dec 08 '10 at 14:22
  • 1
    Wait, but why would Windows use -? Whenever I switch to Windows (and sadly, it occurs), I always get yelled at because only a handful of programs actually use - to delimit arguments. Windows uses /, which is even more fun (actually, I don't even remember. Maybe it's {forward slash}). Command Prompt--. – Blender Dec 10 '10 at 16:39
  • @Blender it's slash!!! ehh, I am mainly Windows, but I like to use pretty much every OS from time to time. This question came up in the popular list so I just thought I would answer it! – wilhil Dec 10 '10 at 19:09
  • @Josh Technically, it's the hyphen/minus character so either of these two is more correct than dash . – Petr Skocik Oct 26 '15 at 23:41
5

Would be said "arr em minus arr ef slash" as opposed to "arr em dash arr ef slash".

Why is this?

I think this might be regional, or age related more than anything else. Everyone said minus when I was in Uni. ... but then at that point all keyboards had a numeric pad, on the right, that had +-*/etc.

James Antill
  • 1,973
4

I've attended three Linux classes from Red Hat and two of the three instructors used the term "tack" exclusively when refering to hyphens on the command line. The other instructor said he used "dash" because he didn't want to confuse us by using "tack".

From Allied Flaghoist Procedures, we learn that the word "tack" is a military term that is short for "Tackline" (used to connect flags for ship-to-ship signaling) and is represented as a hyphen in written code:

"A tackline is a length of halyard approximately 6 feet long; the exact length depends upon the size of flags in use. The tackline is transmitted and spoken as tack and is written as a dash (hyphen) "-". It is used to avoid ambiguity. It separates signals or groups of numerals that, if not separated, could convey a different meaning from that intended."

Personally, I find the word "tack" more efficient because it is very quick to say or think. Like "dash", tack is only one syllable. However, as others have pointed, out "dash" is technically incorrect because it is actually two tacks or hyphens "--".

2

I've been working in unix since about 1987 (BSD, SunOS, Solaris, IRIX, Unicos, Linux) in several places around the country (USA) and have almost always heard the "-" character called a dash. I myself usually say dash. One exception is when saying "kill -9": I've only heard that as "kill minus 9". I don't know why it has been like this but that has been my experience. I also have noticed that various regions do have distinctly different lingo for some tech things. It has caused grief (thought stupid because don't know what something is (myself as well as others) and a lot of laughs. - Broadly speaking, fewer syllables typically require less cognitive processing to achieve understanding. That can translate into more work in less time - but that is probably a seque into another can of worms.

Iceberg
  • 21
1

On Windows, many command line options are / (eg. dir /?) so saying dash might too easily be confused with slash.... which is exactly like a lot of commands on Windows when you've installed some useful unix-y command line tools - I keep forgetting which ones use / and which use - !

gbjbaanb
  • 270
0

I think the main reason here is because you actually really need to use a hypen or hyphen-minus (- unicode 002D) to specify options.

The N-dash ( unicode 2013) will not be picked up by the rm command.

I'm not sure how this works in windows.

But I have seen expirienced linux users say dash instead of minus (and I used to make the mistake myselfmostly influenced by the song 'kill dash nine' by Monzy), before hearing this song I always said minus.

More on the difference bteween a dash and a minus sing

edit: updated to reflect fixes in comments, it seems my shell or terminal was fixing some things for me that not all shells do (or should do)

  • 2
    You cannot use Uniode minus U+2212 to introduce options. You must use ASCII hyphen-minus U+002D. – Celada Feb 09 '15 at 03:43
  • rm −i dpkg.log (minus) gives rm: cannot remove ‘−i’: No such file or directory. – GKFX Oct 27 '15 at 17:03
0

There are cases where command line + and - are definitely meant to indicate a subtraction or addition of something, like

diff -w

or

emacs +30
0

I know this is an old thread, but I haven't seen this explanation anywhere else.

I'm fairly new to Linux and c++, and I was told that "-j" is "tack j". With no explanation, I assumed it meant tack as in "tack on". Like tack a "j" onto the end of the command. i.e. make -j 10

So "tack" is not necessarily a word for "-" (which I would normally call a minus), but rather an action accomplished by using "-".

Certainly not saying this is historically correct, but I might not be the only one using it this way.

0

I'm surprised that there isn't a definitive answer here. Someone should do some historical spelunking and figure this one out. Where and when did the "minus" or "dash" traditions start? Good thesis topic :-)

I picked up saying "minus" from a bunch of kernel hackers I worked with at a certain company that had an OS that included major parts of BSD (that would be apple). I always found that it tripped off the tongue much more easily than dash.

If I have a file name with a "-" in it I would never call it minus, I would call it dash. Thus, I can easily differentiate in conversation between the arguments part of a command and the file name part.

It's pretty rare to include arithmetical expressions in shell commands, so confusion with math seems unlikely.

Based on the other answers here, it sounds like people who are old-time UNIX gurus, or like myself have hung around with old-time UNIX gurus, are more like to say "minus". Thus my suspicion that there's an interesting historical story here.