60

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?

21
  • 66
    really? my unix friends always say "dash"
    – phunehehe
    Sep 18, 2010 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) Sep 19, 2010 at 0:27
  • 15
    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) Sep 19, 2010 at 4: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, 2010 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. Oct 22, 2010 at 15:40

17 Answers 17

78

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

4
  • 10
    +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 8, 2012 at 17:15
  • +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. Oct 23, 2015 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, 2015 at 8:08
  • Btw, both of minus and hyphen work.
    – hafiz031
    Aug 2, 2021 at 7:34
34

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

18
  • 5
    I'm pretty fond of "octothorpe" # and thanks to INTERCAL I can only think of the Python % operator as "mingle". jargon.net/jargonfile/a/ASCII.html
    – msw
    Sep 18, 2010 at 19:31
  • 18
    Actually sharp is this character - , # is hash (not that anyone cares ;) ). Sep 18, 2010 at 21:56
  • 9
    @xeno It is, although it's spelled shebang Sep 19, 2010 at 0:24
  • 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 9, 2010 at 19:29
  • 4
    Wait, we don't call it 'pound'?
    – belacqua
    Jan 28, 2011 at 19:00
27

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

7
  • 4
    +1 me too: minus for arguments, dash for everything else
    – Bill B
    Oct 9, 2010 at 0:10
  • 6
    +1 Yes, exactly; what's going on on this site? "Minus" is the only pronunciation I've encountered.
    – delete
    Oct 9, 2010 at 4: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, 2011 at 13:58
  • 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, 2012 at 20:43
  • 1
    yuck for mixing minus and dash together ("-" is not dash! look it up... eg. cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen )
    – Peter
    Oct 23, 2015 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.

5
  • 10
    Here in Germany: minus=Minus, dash=Strich, hyphen=Bindestrich. Minus is international. Feb 6, 2011 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. Feb 6, 2011 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. Feb 6, 2011 at 13:58
  • @imz: Does the latter version ever get used in the context of Unix? Dec 13, 2011 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? Dec 13, 2011 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.

2
  • 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 8, 2010 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, 2016 at 2:37
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.

3
  • 1
    As a counterpoint, I've heard "minus", "dash" and maybe (rarely) "hyphen", but never "tack". Dec 13, 2011 at 22:28
  • "dak" is listed as a rare variant in the jargon file. I've never actually heard it though.
    – wnoise
    Mar 22, 2012 at 6: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, 2015 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."

7
  • 10
    "arr em arr eff slash."? Unix for pirates? :-))) scnr ;-)
    – echox
    Sep 21, 2010 at 15:00
  • 1
    arr em arr starrr, matey! grrrrep! Sep 23, 2010 at 15:05
  • 1
    "soo dough"? As in, sudo make me some dough so you can bake bread for my sandwich ?
    – Josh
    Dec 8, 2010 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, 2011 at 19:07
  • 2
    @Mikel I say "sudo" as "pseudo" because I'm not really the super user. Apr 24, 2011 at 1:27
7

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.

1
  • 2
    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, 2011 at 19:05
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.

4
  • 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 8, 2010 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, 2010 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, 2010 at 19:09
  • @Josh Technically, it's the hyphen/minus character so either of these two is more correct than dash .
    – PSkocik
    Oct 26, 2015 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.

0
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.

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 - !

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
2
  • 3
    How is diff -w a case where - is supposed to indicate subtraction? Oct 9, 2010 at 5:07
  • 1
    diff -w file-a file-b gives the difference between two files without considering whitespace.
    – delete
    Oct 9, 2010 at 13:35
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.

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 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
  • 2
    You cannot use Uniode minus U+2212 to introduce options. You must use ASCII hyphen-minus U+002D.
    – Celada
    Feb 9, 2015 at 3:43
  • rm −i dpkg.log (minus) gives rm: cannot remove ‘−i’: No such file or directory.
    – GKFX
    Oct 27, 2015 at 17:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.