Perché le teste Unix dicono "meno"?


56

Un paio di settimane fa ho partecipato a un discorso su Git da qualcuno che sembrava provenire da un ambiente Windows. Dico "sembrava essere" perché continuava a dire "trattino" quando si riferiva alle opzioni della riga di comando. Ho poi ricordato qualcosa che ho trovato curioso nei miei primi giorni di apprendimento di Linux; cioè, quando si fa riferimento alle opzioni, le teste Unix residenti hanno sempre detto "meno". Questo è:

rm -rf /var/tmp/bogus/junk

Si direbbe "arr em meno arr ef" anziché "arr em dash arr ef".

Perchè è questo?


63
veramente? i miei amici unix dicono sempre "trattino"
phunehehe,

5
C'è un interessante post di Coding Horror sulle pronunce di simboli (in un contesto di programmazione, sebbene -sia uno di quelli trattati)
Michael Mrozek

15
Ho sempre detto "meno" in quel contesto, ma ho iniziato a usare Unix in System III (non che ciò di per sé significhi qualcosa). Ha perfettamente senso per me poiché ci sono opzioni che iniziano con il plus in alcuni programmi. Inoltre, [accento di Crocodile Dundee] non è un trattino, questo è un trattino - (em) o questo: - (en)
Dennis Williamson,

15
Non ne ho mai sentito parlare minusprima, ma mi piace la sensazione superiore che ne consegue. Sto cambiando il mio gergo aminus
Stefan,

7
Non correlato alla cosa "meno": forse cambiare il tuo esempio in qualcos'altro? Ci sono un paio di neofiti di UNIX che copiano e incollano alla cieca tutto ciò che trovano ... specialmente se non c'è traccia di ciò che dovrebbe fare.
Marcel Stimberg,

Risposte:


73

Due dei più importanti libri UNIX, L'ambiente di programmazione UNIX e Il linguaggio di programmazione C si riferiscono entrambi a meno.

L'ambiente di programmazione Unix, pagina 13 :

Le opzioni seguono il nome del comando sulla riga di comando e di solito sono costituite da un segno meno iniziale ( -) e una singola lettera.

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

Una convenzione comune per i programmi C su sistemi UNIX è che un argomento che inizia con un segno meno introduce un flag opzionale.

Molti utenti UNIX avranno letto uno o entrambi questi libri, quindi potrebbe aver preso la terminologia da lì.


Chiamarlo meno ha senso, perché il personaggio che stai digitando è un trattino-meno ( -).
Un trattino ( ) è più lungo.

Il motivo per dire "meno" anziché "trattino" è probabilmente duplice:

  1. meno persone sanno cos'è un trattino
  2. alcune utility accettano opzioni che iniziano con +, quindi è logico pensare a più e meno

Inoltre, molti programmi di elaborazione testi convertono un doppio trattino-meno ( --) in un trattino ( ), quindi dire "trattino" quando intendi "meno" potrebbe creare confusione quando si discute di opzioni GNU lunghe, ad es --help.


10
+1 per tutti i riferimenti con lanugine minima. Dash non è un singolo personaggio - è più un termine vago per uno qualsiasi di un gruppo di personaggi simili tra cui trattini, trattini, trattini, ecc.
jw013

+1 per trattino . come così poche persone sanno cos'è questo simbolo di punteggiatura di base, è al di là di me. sentirlo chiamare "trattino" ovunque è così gratificante. soprattutto perché le stesse persone non sanno cosa sia un trattino reale ... grr.
underscore_d

Sì, ma l'argomento secondo cui la parola "trattino" è ambiguo non regge. "meno" è anche ambiguo; vedi U + 2212.
Lister,

33

Non ho mai visto nessuno dire "meno" al di fuori di uno scenario matematico (nel senso sottrarre), "trattino" è appropriato e sarà più comune, questa non è una cosa Unix, questa era solo questa persona. Abbiamo altri gerghi, ad esempio #!è pronunciato shebang .

Ecco un link al file Jargon corrente per ASCII e come vengono detti


5
Sono piuttosto affezionato a "octothorpe" #e grazie a INTERCAL posso solo pensare %all'operatore Python come "mescolarsi". jargon.net/jargonfile/a/ASCII.html
msw,

17
In realtà questo personaggio è acuto - , #è l'hash (non che a nessuno importa;)).
Maciej Piechotka,

9
@xeno Lo è, anche se è scritto shebang
Michael Mrozek

10
almeno non chiamiamo più il simbolo # "cancelletto". Mi piace octothorpe 'cos quindi posso pronunciare C # come cock-toe-thorpe che infastidisce i fanbois di MS per qualche motivo :)
gbjbaanb

4
Aspetta, non lo chiamiamo "sterlina"?
belacqua,

24

Ho imparato Unix nei giorni AT&T System V (1990), ed è andata così: rm -rf /bin/nessus-fetch.rc è stato parlato come: arr emm meno arr eff slash bin slash nessus dash fetch dot rc dove un meno era un indicatore di argomento e un trattino faceva parte di una directory o di un nome file

Ho sentito molti aspetti negativi ai miei tempi, e di solito i trattini erano neofiti, pronunciati noo api :-)

GUERRA


4
+1 anche a me: meno per gli argomenti, trattino per tutto il resto
Bill B

5
+1 Sì, esattamente; cosa sta succedendo su questo sito? "Meno" è l'unica pronuncia che ho incontrato.

3
Sì, tranne che -rsu un file è sciocco e soprattutto insieme -fè pericoloso se si commette un errore. es rm -rf /bin/ nessus-fetch.rc. Oops!
Wodin,

1
-1 Va bene, potresti aver affermato di essere stato in giro, e non sto dicendo che non lo eri, o che penso che tu stia mentendo, ma il fatto che non hai fornito un riferimento scritto significa che la tua risposta è natura soggettiva. ("WAR" in effetti.)
ixtmixilix il

1
schifo per mescolare meno e trattino insieme ("-" non è trattino! guardalo in alto ... es. cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen )
Peter

12

Bene, per me "meno" è più naturale, probabilmente perché non sono un madrelingua inglese. La mia lingua madre in ungherese e meno = meno, ma trattino = valasztojel, ovviamente "meno" è più facile e più breve. Tuttavia vivo in Romania e meno = meno, ma trattino e trattino non hanno nemmeno una parola di traduzione, quindi sarebbero molto noiosi da usare.


9
Qui in Germania: meno = Meno, trattino = Strich, trattino = Bindestrich. Meno è internazionale.
utente sconosciuto

2
+1 In russo, la parola "trattino" - [defis] - sebbene non sia più lunga di "meno", ma non suona "colloquiale" abbastanza per essere usata nel linguaggio normale. Un'altra parola colloquiale per "trattino" è [chortochka], ma non è buona a causa di un po 'di ambiguità: significa "linea corta", quindi può essere interpretata come "barra" o "barra rovesciata" o "pipe" o qualsiasi altra cosa. La parola [pneumatico] ("trattino") è associata solo a un trattino lungo usato come segno di punteggiatura. Quindi sento che il modo migliore per pronunciare queste cose è dire "meno". E vero: probabilmente ho imparato "meno" da altre persone Unix, ed ero contento che ci fosse un modo così carino.
imz - Ivan Zakharyaschev,

1
Inoltre, un trattino ([defis] in russo) si presenta solitamente "dentro" una parola, per connettere due parti di una parola. Quindi è innaturale dire "trattino" quando pronunci l'inizio di una "parola" (l'opzione). Posso immaginarmi di pronunciare "apt-get" come "apt defis get" o "apt get cherez defis" (= "con un trattino dentro"); quest'ultimo è il solito modo di parlare dell'ortografia di alcune parole composte in russo.
imz - Ivan Zakharyaschev,

@imz: quest'ultima versione viene mai utilizzata nel contesto di Unix?
Tikhon Jelvis,

@TikhonJelvis: potrebbe essere usato in ogni caso quando devi scrivere qualcosa come una parola (potrebbe essere un comando Unix), e ci sono alcune peculiarità non riflesse dalla pronuncia normale (il trattino non è pronunciato, quindi aggiungi un commento dopo aver pronunciato il gruppo di (pseudo) parole). Non vedo alcun motivo per non usare questo modo nel contesto di Unix. Potrei scrivere "apt-get" in quest'ultimo modo ... Perché me lo chiedi?
imz - Ivan Zakharyaschev,

9

L'unica volta che utilizzo o ascolto meno anziché trattino è quando utilizzo chmod per rimuovere un determinato permesso, ad es

chmod -x script.sh

poiché l'azione in questione può essere considerata sottrazione.


5
Ottimo punto Sono stato gong a commentare che dico sempre "trattino" me stesso, ma dopo aver letto la tua risposta, ho capito che questa è l'eccezione. In questo caso direi " C H mod meno x script dot S H "
Josh

1
@Josh, ho appena capito che commè un'altra eccezione . Devi "meno 2" per saltare le righe che sono solo nel file 2, ecc.
Wildcard

7

Ho usato Unix e GNU / Linux per molti anni e ho parlato di operatori da riga di comando ad alta voce e non ho mai sentito nessuno dire "meno". In effetti, di solito non diciamo nemmeno "trattino". Se sto parlando con qualcuno e il contesto è chiaro, parlerò solo delle lettere dell'opzione; usando il tuo esempio

rm -rf /

sarebbe pronunciato "arr em arr eff slash". Certo, questo non è qualcosa che di solito dico a qualcuno come fare, quindi sarebbe più simile

rm -rf *

pronunciato "arr em arr eff star". A volte dico trattino, come

sudo yum -y update

Direi "soo yum dash perché aggiornamento".


10
"arr em arr eff slash."? Unix per i pirati? :-))) scnr ;-)
echox,

1
arr em arr starrr, amico! grrrrep!
Joel J. Adamson,

1
"soo dough"? Come in sudo make me some dough so you can bake bread for my sandwich?
Josh,

@Joel - ah, ho fatto questa osservazione esatta sopra (in un altro commento). 'rmrf' non ha bisogno di trattini, hack, puntine, svantaggi, ecc. È una scorciatoia e l'imperscrutabilità per coloro che non dovrebbero eseguirlo è un vantaggio.
belacqua,

2
@Mikel dico "sudo" come "pseudo" perché non sono davvero il superutente.
Joel J. Adamson,

7

Credo di qualificarmi come testa Unix e dico trattino perché ha meno sillabe di meno o trattino.

Mi piacerebbe leggere rm -rf /come "rum ruff slash" ma temo che quasi nessuno mi capirà.


2
D'accordo - infatti, quando parlo con persone che conoscono le cose di Unix, di solito ometto persino il "trattino". Vale a dire "rmrf slash". Nessuno che non sappia cosa significhi non deve eseguire il comando.
belacqua,

5

Sono principalmente un ragazzo di Windows (non votarmi qui!) E in genere dico "trattino".

Immagino sia solo la tua esperienza con le persone con cui hai a che fare e come sono state allevate. Niente di specifico sul proprio background di computer.


1
-1 per "trattino". Non lo chiamo mai così ;-) (In realtà dire che hypen non ha senso, un trattino viene usato tra due parole)
Josh

1
Aspetta, ma perché dovrebbe usare Windows -? Ogni volta che passo a Windows (e purtroppo si verifica), mi viene sempre urlato perché solo una manciata di programmi utilizza effettivamente -per delimitare argomenti. Usa Windows /, il che è ancora più divertente (in realtà, non ricordo nemmeno. Forse lo è {forward slash}). Prompt dei comandi--.
Blender il

@Blender è slash !!! eh, sono principalmente Windows, ma di tanto in tanto mi piace usare praticamente tutti i sistemi operativi. Questa domanda è arrivata nell'elenco popolare, quindi ho pensato di rispondere!
Wilhil,

@Josh Tecnicamente, è il carattere trattino / meno quindi uno di questi due è più corretto di dash.
PSkocik,

5

Molte persone in realtà dicono " virata ". (Sto guardando un video Hak5 in questo momento, e l'host continua a dire "virata").

Le altre pronunce più comuni sono "trattino" e "trattino".

Non ho mai sentito un ragazzo Unix o Linux dire "meno" in un contesto da riga di comando.


1
Come contrappunto, ho sentito "meno", "trattino" e forse (raramente) "trattino", ma mai "virare".
Tikhon Jelvis,

"dak" è elencato come una rara variante nel file jargon. In realtà non l'ho mai sentito.
wnoise,

@greyfade da dove vieni, dove non li hai mai sentiti dire meno, che è di gran lunga il più comune e tradizionale? E questi sono ragazzi unix, o principalmente Windows, che lo usano solo per una o due cose per cui hanno bisogno * nix (routing, virtualizzazione, raspberry pi, ecc.)?
Peter,

5

Si direbbe "arr em meno arr ef slash" anziché "arr em dash arr ef slash".

Perchè è questo?

Penso che questo potrebbe essere regionale o legato all'età più di ogni altra cosa. Tutti hanno detto meno quando ero in Uni. ... ma poi a quel punto tutte le tastiere avevano un tastierino numerico, sulla destra, che aveva + - * / etc.


1
Sospiro ... quindi ho inavvertitamente mostrato la mia età.
Eric Smith,

4

Ho frequentato tre classi Linux di Red Hat e due dei tre istruttori hanno usato il termine "virata" esclusivamente quando si riferivano a trattini sulla riga di comando. L'altro istruttore ha detto che ha usato "trattino" perché non voleva confonderci usando "tack".

Da Allied Flaghoist Procedures apprendiamo che la parola "tack" è un termine militare che è l'abbreviazione di "Tackline" (utilizzato per collegare le bandiere per la segnalazione nave-nave) ed è rappresentato come un trattino nel codice scritto:

"Un tackline è una lunghezza di drizza di circa 6 piedi di lunghezza; la lunghezza esatta dipende dalla dimensione delle bandiere in uso. Il tackline è trasmesso e parlato come tack ed è scritto come un trattino (trattino)" - ". È usato per evitare ambiguità. Separa segnali o gruppi di numeri che, se non separati, potrebbero trasmettere un significato diverso da quello previsto. "

Personalmente, trovo la parola "virata" più efficiente perché è molto veloce da dire o pensare. Come "trattino", tack è solo una sillaba. Tuttavia, come altri hanno sottolineato, il "trattino" non è tecnicamente corretto perché in realtà si tratta di due virgole o trattini "-".


2

Lavoro in unix dal 1987 circa (BSD, SunOS, Solaris, IRIX, Unicos, Linux) in diversi punti del Paese (USA) e ho quasi sempre sentito il carattere "-" chiamato trattino. Io stesso di solito dico trattino. Un'eccezione è quando si dice "uccidi -9": l'ho sentito solo come "uccidi meno 9". Non so perché sia ​​stato così ma questa è stata la mia esperienza. Ho anche notato che varie regioni hanno un gergo nettamente diverso per alcune cose tecnologiche. Ha causato dolore (pensato stupido perché non so cosa sia (me stesso come gli altri) e molte risate. - In generale, un minor numero di sillabe richiede in genere meno elaborazione cognitiva per raggiungere la comprensione.


1

Su Windows, molte opzioni della riga di comando sono / (ad es. dir /?), Quindi dire trattino potrebbe essere troppo facilmente confuso con la barra ... che è esattamente come molti comandi su Windows quando hai installato alcuni utili strumenti da riga di comando unix-y - Continuo a dimenticare quali usano / e quali usano -!


0

Ci sono casi in cui la riga di comando + e - sono sicuramente pensati per indicare una sottrazione o un'aggiunta di qualcosa, come

diff -w

o

emacs +30

2
Come è diff -wun caso in cui -si suppone per indicare la sottrazione?
Michael Mrozek

1
diff -w file-a file-bdà la differenza tra due file senza considerare gli spazi bianchi.

0

Sono sorpreso che non ci sia una risposta definitiva qui. Qualcuno dovrebbe fare un po 'di spelunking storico e capire questo. Dove e quando sono iniziate le tradizioni "meno" o "trattino"? Buon argomento di tesi :-)

Ho preso dicendo "meno" da un gruppo di hacker del kernel con cui ho lavorato in una certa azienda che aveva un sistema operativo che includeva parti importanti di BSD (che sarebbe Apple). Ho sempre scoperto che è scattato dalla lingua molto più facilmente del trattino.

Se avessi un nome file con "-" non lo chiamerei mai meno, lo chiamerei trattino. Pertanto, posso facilmente distinguere nella conversazione tra la parte argomenti di un comando e la parte nome file.

È piuttosto raro includere espressioni aritmetiche nei comandi di shell, quindi la confusione con la matematica sembra improbabile.

Sulla base delle altre risposte qui, sembra che le persone che sono guru UNIX ai vecchi tempi, o che io stesso abbia gironzolato con i guru UNIX ai vecchi tempi, è più come dire "meno". Quindi il mio sospetto che qui ci sia un'interessante storia storica.


0

Penso che il motivo principale qui sia perché in realtà hai davvero bisogno di usare un carattere meno ( -unicode 2212) per specificare le opzioni.

Il trattino N ( unicode 2013) non verrà raccolto dal comando rm.

Non sono sicuro di come funzioni in Windows.

Ma ho visto utenti Linux espirati dire dash invece di meno (e ero solito commettere l'errore da solo), principalmente influenzato dalla canzone "kill dash nine" di Monzy

Maggiori informazioni sulla differenza tra un trattino e un canto meno


2
Non è possibile utilizzare Uniode meno U + 2212 per introdurre opzioni. È necessario utilizzare il trattino ASCII-meno U + 002D.
Celada,

rm −i dpkg.log(meno) dà rm: cannot remove ‘−i’: No such file or directory.
GKFX,

0

So che questo è un vecchio thread, ma non ho visto questa spiegazione da nessun'altra parte.

Sono abbastanza nuovo su Linux e c ++ e mi è stato detto che "-j" è "tack j". Senza alcuna spiegazione, ho pensato che significasse virata come in "virata". Come virare una "j" alla fine del comando. cioè make -j 10

Quindi "virata" non è necessariamente una parola per "-" (che normalmente definirei meno), ma piuttosto un'azione compiuta usando "-".

Certamente non dire questo è storicamente corretto, ma potrei non essere l'unico ad usarlo in questo modo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.