Warum sagen Unix-Köpfe "Minus"?

56

Vor ein paar Wochen besuchte ich einen Vortrag über Git von jemandem, der anscheinend aus einem Windows-Hintergrund stammte. Ich sage "schien zu sein", weil er immer wieder "Bindestrich" sagte, wenn er sich auf Befehlszeilenoptionen bezog. Ich erinnerte mich dann an etwas, das ich in meinen frühen Tagen, als ich Linux lernte, neugierig fand. Das heißt, wenn es um Optionen geht, haben die residenten Unix-Köpfe immer "Minus" gesagt. Das ist:

rm -rf /var/tmp/bogus/junk

Würde gesagt werden "arr em minus arr ef" im Gegensatz zu "arr em dash arr ef".

Warum ist das?

Eric Smith
quelle
63
Ja wirklich? meine unix freunde sagen immer "dash"
phunehehe 18.09.10
5
Es gibt einen interessanten Coding-Horror-Beitrag über Symbolaussprachen (in einem Programmierkontext, obwohl -einer davon behandelt wird)
Michael Mrozek
15
In diesem Zusammenhang habe ich immer "Minus" gesagt, aber ich habe angefangen, Unix bei System III zu verwenden (nicht, dass das an und für sich etwas bedeutet). Für mich ist das sehr sinnvoll, da es in einigen Programmen Optionen gibt, die mit Plus beginnen. Außerdem [Crocodile Dundee Akzent] , das ist kein Strich, das ist ein Strich - (em) oder das: - (en)
Dennis Williamson
15
Ich habe noch nie davon gehört minus, aber ich mag das überlegene Gefühl, das damit einhergeht. Ich ändere meinen Jargon aufminus
Stefan
7
Unabhängig von der Minus-Sache: Vielleicht ändern Sie Ihr Beispiel in etwas anderes? Es gibt eine ganze Reihe von UNIX-Neulingen, die blind alles kopieren und einfügen, was sie finden ... vor allem, wenn es keinen Hinweis darauf gibt, was es tun soll.
Marcel Stimberg

Antworten:

73

Zwei der wichtigsten UNIX-Bücher, The UNIX Programming Environment und The C Programming Language, bezeichnen dies als Minus.

Die Unix-Programmierumgebung, Seite 13 :

Optionen folgen dem Befehlsnamen in der Befehlszeile und bestehen normalerweise aus einem anfänglichen Minuszeichen ( -) und einem einzelnen Buchstaben.

Die Programmiersprache C, 2. Ausgabe, Seite 116 :

Eine übliche Konvention für C-Programme auf UNIX-Systemen ist, dass ein Argument, das mit einem Minuszeichen beginnt, ein optionales Flag einführt.

Viele UNIX-Benutzer haben eines oder beide dieser Bücher gelesen, daher haben sie möglicherweise die Terminologie von dort übernommen.


Es ist sinnvoll, es als Minus zu bezeichnen, da das Zeichen, das Sie eingeben, ein Bindestrich-Minus ( -) ist.
Ein Bindestrich ( ) ist länger.

Es gibt wahrscheinlich zwei Gründe, warum man "Minus" statt "Bindestrich" sagt:

  1. weniger Menschen wissen, was ein Bindestrich ist
  2. Einige Dienstprogramme akzeptieren Optionen, die mit beginnen +, daher ist es logisch, sich Plus und Minus vorzustellen

Außerdem konvertieren viele Textverarbeitungsprogramme einen doppelten Bindestrich-Minus ( --) in einen Bindestrich ( ). Wenn Sie also "Minus" meinen, kann dies zu Verwirrung führen, wenn Sie GNU-Long-Optionen diskutieren, z --help.

Mikel
quelle
10
+1 für alle Referenzen mit minimalen Flusen. Strich ist kein einzelnes Zeichen - es ist eher ein vager Begriff für eine Gruppe von ähnlich aussehenden Zeichen, einschließlich Bindestrichen, Gedankenstrichen, Gedankenstrichen usw.
jw013
+1 für Bindestrich . Wie wenige Menschen wissen, was dieses grundlegende Interpunktionssymbol ist, ist mir ein Rätsel. es überall als "dash" zu hören, ist so krass. zumal die gleichen leute nicht wissen, was ein aktueller dash ist ... grr.
underscore_d
Ja, aber das Argument, dass das Wort "Strich" mehrdeutig ist, hält nichts von Wasser. "minus" ist auch mehrdeutig; siehe U + 2212.
Mr Lister
33

Ich habe noch nie jemanden gesehen, der "minus" außerhalb eines mathematischen Szenarios gesagt hat (um zu subtrahieren), "dash" ist angemessen und wird häufiger vorkommen, dies ist keine Unix-Sache, das war nur diese eine Person. Wir anderen Kauderwelsch haben aber zum Beispiel #!ist ausgesprochen shebang .

Hier ist ein Link zur aktuellen Jargon-Datei für ASCII und wie sie gesagt wird

Xenoterracid
quelle
5
Ich mag "Octothorpe" ziemlich gern #und dank INTERCAL kann ich mir den Python- %Operator nur als "mischen" vorstellen . jargon.net/jargonfile/a/ASCII.html
msw
17
Eigentlich scharf ist dieses Zeichen - , #ist Hash (nicht, dass es jemanden interessiert;)).
Maciej Piechotka
9
@xeno Es ist, obwohl es buchstabiert hat shebang
Michael Mrozek
10
Zumindest nennen wir das # -Symbol nicht mehr "Pfund". Ich mag Octothorpe, denn dann kann ich C # als Cock-Toe-Thorpe aussprechen, was die MS-Fanbois aus irgendeinem Grund ärgert :)
gbjbaanb
4
Warten Sie, wir nennen es nicht "Pfund"?
Belacqua
24

Ich habe Unix in den Tagen von AT & T System V (1990) gelernt und es ging so: rm -rf /bin/nessus-fetch.rc wurde gesprochen als: arr emm minus arr eff slash bin slash nessus dash fetch dot rc wo ein Minus war ein Argument Indikator und ein Bindestrich war Teil eines Verzeichnisses oder Dateinamens

Ich habe in meiner Zeit viel Minus gehört, und normalerweise waren die Leute mit dem Schuss Neulinge, ausgesprochen Noo Bienen :-)

KRIEG

dev
quelle
4
+1 Ich auch: Minus für Argumente, Bindestrich für alles andere
Bill B
5
+1 Ja, genau; Was ist los auf dieser Seite? "Minus" ist die einzige Aussprache, die mir begegnet ist.
3
Ja, es sei denn, die Verwendung -rfür eine Datei ist albern und insbesondere zusammen mit -fgefährlich, wenn Sie einen Fehler machen. zB rm -rf /bin/ nessus-fetch.rc. Hoppla!
Wodin
1
Gut, Sie haben vielleicht behauptet, hier gewesen zu sein, und ich sage nicht, dass Sie das nicht getan haben oder dass Sie lügen, aber die Tatsache, dass Sie keine schriftliche Referenz angegeben haben, bedeutet, dass Ihre Antwort auf die Frage zutrifft Natur subjektiv. ("WAR" in der Tat.)
ixtmixilix
1
yuck für das Mischen von Minus und Bindestrich zusammen ("-" ist kein Bindestrich! Nachschlagen ... zB cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen )
Peter
12

Nun, für mich ist "minus" natürlicher, wahrscheinlich weil ich kein englischer Muttersprachler bin. Meine Muttersprache in Ungarisch und minus = minusz, aber Bindestrich = valasztojel, offensichtlich "minus" ist einfacher und kürzer. Ich lebe jedoch in Rumänien und minus = minus, aber Bindestrich und Bindestrich haben nicht einmal eine Ein-Wort-Übersetzung, daher wäre es sehr mühsam, sie zu verwenden.

Patkos Csaba
quelle
9
Hier in Deutschland: Minus = Minus, Strich = Strich, Bindestrich = Bindestrich. Minus ist international.
Benutzer unbekannt
2
+1 Auf Russisch ist das Wort für "Bindestrich" - [defis] - zwar nicht länger als "minus", klingt aber nicht "umgangssprachlich" genug, um in normaler Sprache verwendet zu werden. Ein anderes umgangssprachliches Wort für "Bindestrich" ist [chortochka], aber es ist nicht gut, weil es mehrdeutig ist: Es bedeutet "kurze Linie", kann also als "Schrägstrich" oder "Backslash" oder "Pipe" oder was auch immer interpretiert werden. Das Wort [Reifen] ("Bindestrich") ist nur mit einem langen Bindestrich verbunden, der als Interpunktionszeichen verwendet wird. Ich bin der Meinung, dass die schönste Art, dieses Zeug auszusprechen, darin besteht, "Minus" zu sagen. Und wahr: Wahrscheinlich habe ich von anderen Unix-Leuten "Minus" gelernt und war froh, dass es so einen schönen Weg gibt.
imz - Ivan Zakharyaschev
1
Auch ein Bindestrich ([defis] auf Russisch) kommt normalerweise "innerhalb" eines Wortes vor, um zwei Teile eines Wortes zu verbinden. Es ist also unnatürlich, "Bindestrich" zu sagen, wenn Sie den Anfang eines "Wortes" aussprechen (die Option). Ich kann mir vorstellen, wie ich "apt-get" als "apt defis get" oder "apt get cherez defis" ausspreche (= "mit einem Bindestrich im Inneren"); Letzteres ist die übliche Art, über die Schreibweise einiger zusammengesetzter Wörter auf Russisch zu sprechen.
imz - Ivan Zakharyaschev
@imz: Wird die letztere Version jemals im Kontext von Unix verwendet?
Tikhon Jelvis
@TikhonJelvis: Es kann in jedem Fall verwendet werden, wenn Sie etwas wie ein Wort buchstabieren müssen (könnte ein Unix-Befehl sein), und es gibt einige Besonderheiten, die von der normalen Aussprache nicht berücksichtigt werden (der Bindestrich wird nicht ausgesprochen, also fügen Sie einen Kommentar hinzu darüber nach dem Aussprechen der Gruppe von (Pseudo-) Wörtern). Ich sehe keinen Grund dagegen, auf diese Weise im Kontext von Unix verwendet zu werden. Ich könnte "apt-get" auf die zweite Art buchstabieren ... Warum fragst du?
imz - Ivan Zakharyaschev
9

Das einzige Mal, dass ich Minus anstelle von Bindestrich verwende oder höre, ist die Verwendung von chmod, um eine bestimmte Berechtigung zu entfernen, z

chmod -x script.sh

als die fragliche Handlung kann Subtraktion betrachtet werden.

alanc10n
quelle
5
Sehr guter Punkt. Ich wollte kommentieren, dass ich selbst immer "Bindestrich" sage, aber nachdem ich Ihre Antwort gelesen hatte, wurde mir klar, dass dies die Ausnahme ist. In diesem Fall würde ich "sagen C H mod minus x Skript dot S H "
Josh
1
@Josh, mir ist gerade klar geworden, dass dies commeine weitere Ausnahme ist . Sie "minus 2", um die Zeilen zu überspringen, die nur in Datei 2 usw. sind
Wildcard
7

Ich benutze Unix und GNU / Linux seit vielen Jahren und habe verdammt viel über Kommandozeilenoperatoren gesprochen, und ich habe noch nie jemanden "Minus" sagen hören. Tatsächlich sagen wir normalerweise nicht einmal "Bindestrich". Wenn ich mit jemandem spreche und der Kontext klar ist, spreche ich nur die Buchstaben der Option. mit deinem Beispiel

rm -rf /

würde ausgesprochen werden "arr em arr eff Schrägstrich." Natürlich sage ich normalerweise niemandem, wie das zu tun ist, also wäre es eher so

rm -rf *

ausgesprochen "arr em arr eff star." Manchmal sage ich den Gedankenstrich

sudo yum -y update

Ich würde sagen "Soo Dough Yum Dash, warum Update."

Joel J. Adamson
quelle
10
"arr em arr eff slash." Unix für Piraten? :-))) scnr ;-)
Echox
1
arr em arr starrr, Kumpel! grrrrep!
Joel J. Adamson
1
"Soo Teig"? Wie in sudo make me some dough so you can bake bread for my sandwich?
Josh
@ Joel - ah, ich habe diese genaue Beobachtung oben gemacht (in einem anderen Kommentar). 'rmrf' benötigt keine Bindestriche, Hacks, Tacks, Minuspunkte usw. Es ist eine Abkürzung und Unkenntnis für diejenigen, die es nicht ausführen sollten, ist ein Plus.
Belacqua
2
@Mikel Ich sage "sudo" als "pseudo", weil ich nicht wirklich der Superuser bin.
Joel J. Adamson
7

Ich glaube, ich qualifiziere mich als Unix-Kopf und sage Bindestrich, weil er weniger Silben als Minus oder Bindestrich enthält.

Ich würde gerne rm -rf /als "Rum Ruff Slash" lesen, aber ich fürchte, fast niemand würde mich verstehen.

RedGrittyBrick
quelle
2
Einverstanden - in der Tat, wenn ich mit Leuten spreche, die Unix-Dinge kennen, lasse ich normalerweise sogar den 'Gedankenstrich' weg. Dh "rmrf slash". Niemand, der nicht weiß, was das bedeutet, muss den Befehl nicht ausführen.
Belacqua
5

Ich bin hauptsächlich ein Windows-Typ (bitte hier nicht abstimmen!) Und ich sage normalerweise "Bindestrich".

Ich denke, es ist nur Ihre Erfahrung mit den Menschen, mit denen Sie zu tun haben, und wie sie erzogen wurden. Nichts Bestimmtes über ihren Computerhintergrund.

Wilhil
quelle
1
-1 für "Bindestrich". Ich nenne es nie so ;-) (Eigentlich macht Hypen keinen Sinn, ein Bindestrich wird zwischen zwei Wörtern verwendet)
Josh
1
Warten Sie, aber warum sollte Windows verwenden -? Immer wenn ich zu Windows wechsle (und es kommt leider vor), werde ich angeschrien, weil nur eine Handvoll Programme tatsächlich -Argumente abgrenzen. Windows verwendet /, was noch mehr Spaß macht (eigentlich erinnere ich mich nicht einmal. Vielleicht ist es das {forward slash}). Eingabeaufforderung--.
Blender
@Blender es ist Schrägstrich !!! ehh, ich bin hauptsächlich Windows, aber ich benutze von Zeit zu Zeit so ziemlich jedes Betriebssystem. Diese Frage tauchte in der populären Liste auf und ich dachte nur, ich würde sie beantworten!
Wilhil
@Josh Technisch gesehen ist es der Bindestrich / das Minuszeichen, also ist einer dieser beiden korrekter als dash.
PSkocik
5

Tatsächlich sagen viele Leute " Wende ". (Ich schaue gerade ein Hak5-Video an und der Moderator sagt immer wieder "Tack".)

Die anderen häufigeren Aussprachen sind "Bindestrich" und "Bindestrich".

Ich habe noch nie einen Unix- oder Linux-Benutzer gehört, der in einem Befehlszeilenkontext "Minus" gesagt hat.

greyfade
quelle
1
Als Kontrapunkt habe ich "Minus", "Bindestrich" und vielleicht (selten) "Bindestrich" gehört, aber niemals "Tack".
Tikhon Jelvis
"dak" wird in der Jargon-Datei als seltene Variante aufgeführt. Ich habe es aber noch nie gehört.
Wnoise
@greyfade woher kommst du, wo hast du noch nie gehört, dass sie minus sagen, was bei weitem das verbreitetste und traditionellste ist? Und sind das Unix-Typen oder hauptsächlich Windows-Typen, die es nur für das eine oder andere verwenden, wofür sie * nix benötigen (Routing, Virtualisierung, Himbeer-Pi usw.)?
Peter
5

Würde gesagt werden "arr em minus arr ef slash" im Gegensatz zu "arr em dash arr ef slash".

Warum ist das?

Ich denke, das könnte regionaler oder altersbezogener Natur sein als alles andere. Alle sagten minus, als ich in der Uni war. ... aber zu diesem Zeitpunkt hatten alle Tastaturen einen Ziffernblock auf der rechten Seite mit + - * / etc.

James Antill
quelle
1
Seufz ... also habe ich versehentlich mein Alter gezeigt.
Eric Smith
4

Ich habe an drei Linux-Kursen von Red Hat teilgenommen, und zwei der drei Kursleiter verwendeten den Begriff "Tack" ausschließlich, wenn sie sich auf Bindestriche in der Befehlszeile bezogen. Der andere Lehrer sagte, er habe "dash" benutzt, weil er uns nicht mit "tack" verwirren wollte.

Aus den Verfahren der alliierten Flaggenhufe erfahren wir, dass das Wort "Wende" eine militärische Bezeichnung ist, die für "Tackline" (zum Verbinden von Flaggen für die Signalisierung von Schiff zu Schiff) steht und im schriftlichen Code als Bindestrich dargestellt wird:

"Eine Reißleine ist eine Falllänge von ungefähr 6 Fuß Länge; die genaue Länge hängt von der Größe der verwendeten Fahnen ab. Die Reißleine wird als Reißleine übertragen und gesprochen und als Bindestrich (Bindestrich)" - "geschrieben Vermeiden Sie Mehrdeutigkeiten. Sie trennen Signale oder Zahlengruppen, die, wenn sie nicht getrennt werden, eine andere Bedeutung als die beabsichtigte haben könnten. "

Ich persönlich finde das Wort "Tack" effizienter, weil es sehr schnell gesagt oder gedacht werden kann. Tack ist wie "dash" nur eine Silbe. Wie andere bereits betont haben, ist "Gedankenstrich" technisch nicht korrekt, da es sich tatsächlich um zwei "-" Punkte oder Bindestriche handelt.

teancum144
quelle
2

Ich arbeite seit ungefähr 1987 in Unix (BSD, SunOS, Solaris, IRIX, Unicos, Linux) an verschiedenen Orten im ganzen Land (USA) und habe fast immer das "-" - Zeichen als Bindestrich gehört. Ich selbst sage normalerweise Bindestrich. Eine Ausnahme ist, wenn man "kill -9" sagt: Ich habe das nur als "kill minus 9" gehört. Ich weiß nicht, warum es so war, aber das war meine Erfahrung. Mir ist auch aufgefallen, dass verschiedene Regionen für einige technische Dinge eine deutlich unterschiedliche Umgangssprache haben. Es hat Trauer verursacht (dachte dumm, weil ich nicht weiß, was etwas ist (ich selbst wie auch andere) und viel gelacht. - Allgemein gesagt, erfordern weniger Silben normalerweise weniger kognitive Verarbeitung, um Verständnis zu erlangen.

Eisberg
quelle
1

Unter Windows sind viele Befehlszeilenoptionen / (z. B. dir /?), so dass Bindestrich zu leicht mit Schrägstrich verwechselt werden kann. Dies ist genau wie bei vielen Befehlen unter Windows, wenn Sie einige nützliche Unix-Y-Befehlszeilen-Tools installiert haben - Ich vergesse immer wieder welche benutzen / und welche benutzen -!

gbjbaanb
quelle
0

Es gibt Fälle, in denen die Kommandozeile + und - definitiv eine Subtraktion oder Addition von etwas wie anzeigen sollen

diff -w

oder

emacs +30

quelle
2
Wie ist diff -wein Fall, in -dem Subtraktion angezeigt werden soll?
Michael Mrozek
1
diff -w file-a file-bGibt den Unterschied zwischen zwei Dateien ohne Berücksichtigung von Leerzeichen an.
0

Ich bin überrascht, dass es hier keine endgültige Antwort gibt. Jemand sollte eine historische Höhlenforschung betreiben und dies herausfinden. Wo und wann begannen die "Minus" - oder "Strich" -Traditionen? Gutes Thema für Abschlussarbeiten :-)

Ich habe bei einer Reihe von Kernel-Hackern, mit denen ich bei einem bestimmten Unternehmen zusammengearbeitet habe, das ein Betriebssystem hatte, das einen Großteil von BSD enthielt (das wäre Apfel), "Minus" gesagt. Ich stellte immer fest, dass es viel leichter von der Zunge stolperte als von einem Schuss.

Wenn ich einen Dateinamen mit einem "-" hätte, würde ich ihn niemals als Minus bezeichnen, sondern als Bindestrich. Auf diese Weise kann ich im Gespräch leicht zwischen dem Argumentteil eines Befehls und dem Dateinamenteil unterscheiden.

Es ist ziemlich selten, arithmetische Ausdrücke in Shell-Befehlen zu verwenden, sodass eine Verwechslung mit Mathematik unwahrscheinlich ist.

Basierend auf den anderen Antworten hier klingt es so, als ob Leute, die alte UNIX-Gurus sind oder wie ich mit alten UNIX-Gurus rumgehangen habe, eher "Minus" sagen. Daher mein Verdacht, dass es hier eine interessante historische Geschichte gibt.

Simon Woodside
quelle
0

Ich denke, der Hauptgrund hierfür ist, dass Sie tatsächlich ein Minuszeichen ( -Unicode 2212) verwenden müssen, um Optionen anzugeben.

Der N-Strich ( Unicode 2013) wird vom Befehl rm nicht abgeholt.

Ich bin mir nicht sicher, wie das in Windows funktioniert.

Aber ich habe erfahrene Linux-Benutzer gesehen, die Bindestrich statt Minus sagten (und ich habe den Fehler selbst gemacht), hauptsächlich beeinflusst durch den Song 'Kill Dash Nine' von Monzy

Mehr zum Unterschied zwischen einem Strich und einem Minus

Jens Timmerman
quelle
2
Sie können Uniode minus U + 2212 nicht verwenden, um Optionen einzuführen. Sie müssen den ASCII-Bindestrich minus U + 002D verwenden.
Celada,
rm −i dpkg.log(minus) gibt rm: cannot remove ‘−i’: No such file or directory.
GKFX
0

Ich weiß, dass dies ein alter Thread ist, aber ich habe diese Erklärung nirgendwo anders gesehen.

Ich bin ziemlich neu in Linux und C ++, und mir wurde gesagt, dass "-j" "Tack J" ist. Ohne Erklärung nahm ich an, dass es sich um Wenden wie "Wenden" handelte. Zum Beispiel ein "j" am Ende des Befehls anheften. dh mache -j 10

"Tack" ist also nicht unbedingt ein Wort für "-" (was ich normalerweise als Minus bezeichnen würde), sondern eine Aktion, die mit "-" ausgeführt wird.

Sicher nicht zu sagen, dass dies historisch korrekt ist, aber ich könnte nicht der einzige sein, der es auf diese Weise benutzt.

litforall
quelle