Por que as cabeças Unix dizem "menos"?

56

Algumas semanas atrás, participei de uma palestra no Git por alguém que parecia pertencer a um plano de fundo do Windows. Eu digo "parecia ser" porque ele continuava dizendo "traço" quando se referia às opções da linha de comando. Lembrei-me de algo que achei curioso nos meus primeiros dias de aprendizado do Linux; isto é, ao se referir às opções, o chefe do Unix sempre dizia "menos". Isso é:

rm -rf /var/tmp/bogus/junk

Seria dito "arr em menos arr ef" em oposição a "arr em dash arr ef".

Por que é isso?

Eric Smith
fonte
63
realmente? meus amigos unix sempre dizem "traço"
phunehehe 18/09/10
5
Existe um post interessante sobre Coding Horror sobre pronúncias de símbolos (em um contexto de programação, embora -seja um dos tópicos abordados)
Michael Mrozek
15
Eu sempre disse "menos" nesse contexto, mas comecei a usar o Unix no Sistema III (não que isso por si só signifique alguma coisa). Faz todo o sentido para mim, pois existem opções que começam com mais em alguns programas. Além disso, [sotaque do Crocodile Dundee] que não é um traço, é um traço - (em) ou isso: - (pt)
Dennis Williamson
15
Eu nunca ouvi falar disso minusantes, mas eu gosto da sensação superior que a acompanha. Estou mudando minha linguagem paraminus
Stefan
7
Não relacionado à coisa “menos”: talvez mude seu exemplo para outra coisa? Existem alguns novatos no UNIX que copiam e colam cegamente tudo o que encontram ... especialmente se não houver uma pista do que deve fazer.
Marcel Stimberg

Respostas:

73

Dois dos livros UNIX mais importantes, O ambiente de programação UNIX e A linguagem de programação C, ambos se referem a ele como menos.

O ambiente de programação Unix, página 13 :

As opções seguem o nome do comando na linha de comando e geralmente são compostas por um sinal de menos inicial ( -) e uma única letra.

A linguagem de programação C, 2ª edição, página 116 :

Uma convenção comum para programas C em sistemas UNIX é que um argumento que começa com um sinal de menos introduz um sinalizador opcional.

Muitos usuários do UNIX leram um ou ambos os livros, portanto, podem ter adotado a terminologia a partir daí.


Chamá-lo de menos faz sentido, porque o caractere que você está digitando é um hífen-menos ( -).
Um traço ( ) é mais longo.

A razão para dizer "menos" em vez de "hífen" é provavelmente dupla:

  1. menos pessoas sabem o que é um hífen
  2. alguns utilitários aceitam opções começando com +, por isso é lógico pensar em mais e menos

Além disso, muitos programas de processamento de texto convertem um hífen-menos ( --) duplo em um hífen ( ), então dizer "hífen" quando você quer dizer "menos" pode causar confusão ao discutir opções longas do GNU, por exemplo --help.

Mikel
fonte
10
+1 para todas as referências com cotão mínimo. Traço não é um único personagem - é mais de um termo vago para qualquer um de um grupo de personagens que procuram semelhantes, incluindo hífens, os travessões, casa de traços, etc.
jw013
+1 para hífen . quão poucas pessoas sabem o que é esse símbolo básico de pontuação está além de mim. ouvi-lo chamado "traço" em todos os lugares é tão irritante. especialmente porque as mesmas pessoas não sabem o que é um traço real ... grr.
Underscore_d
Sim, mas o argumento de que a palavra "traço" é ambíguo não se sustenta. "menos" também é ambíguo; ver U + 2212.
Mr Lister
33

Eu nunca vi alguém dizer "menos" fora de um cenário de matemática (para significar subtrair), "traço" é apropriado e será mais comum, isso não é coisa do Unix, era apenas essa pessoa. Temos outro jargão, por exemplo, #!é pronunciado shebang .

Aqui está um link para o atual Jargon File for ASCII e como eles são ditos

xenoterracida
fonte
5
Eu gosto bastante de "octothorpe" #e, graças ao INTERCAL, só consigo pensar no %operador Python como "misturar". jargon.net/jargonfile/a/ASCII.html
msw
17
Realmente nítido é esse personagem - , #é hash (não que alguém se importe;)).
Maciej Piechotka 18/09/10
9
@xeno É, embora esteja escrito " shebang"
Michael Mrozek
10
pelo menos não chamamos mais o símbolo # de "libra". Gosto cos octothorpe', em seguida, I pode pronunciar C # como pau-dedo do pé-Thorpe, que irrita o fanbois MS por algum motivo :)
gbjbaanb
4
Espere, não chamamos isso de 'libra'?
belacqua
24

Eu aprendi o Unix nos dias AT&T System V (1990), e foi assim: rm -rf /bin/nessus-fetch.rc foi falado como: arr emm menos arr eff slash bin slash nessus traço buscar ponto rc onde um sinal de menos era um indicador de argumento e um traço fazia parte de um diretório ou nome de arquivo

Ouvi muitos pontos negativos no meu tempo e, geralmente, as pessoas que traçavam eram novatas, pronunciavam noo abelhas :-)

GUERRA

dev
fonte
4
Marque +1 em mim também: menos argumentos, traço para todo o resto #
B Bill
5
+1 Sim, exatamente; o que está acontecendo neste site? "Menos" é a única pronúncia que encontrei.
3
Sim, exceto o uso -rem um arquivo é bobo e, especialmente, junto com -fé perigoso se você cometer um erro. por exemplo rm -rf /bin/ nessus-fetch.rc. Opa!
Wodin
1
-1 Tudo bem, você pode ter afirmado ter estado por perto, e eu não estou dizendo que você não estava, ou que acho que está mentindo, mas o fato de você não ter fornecido uma referência por escrito significa que sua resposta é: natureza subjetiva. ( 'Guerra' de fato.)
ixtmixilix
1
eca por misturar menos e traçar juntos ("-" não é traço! procure ... por exemplo: cgi.duke.edu/web/sciwriting/index.php?action=dash_vs_hyphen )
Peter
12

Bem, para mim "menos" é mais natural, provavelmente porque eu não sou um falante nativo de inglês. Minha língua nativa em húngaro, e menos = menos, mas hífen = valasztojel, obviamente "menos" é mais fácil e mais curto. No entanto, eu moro na Romênia e menos = menos, mas hífen e hífen nem sequer têm uma tradução de uma palavra, portanto, seria muito tedioso de usar.

Patkos Csaba
fonte
9
Aqui na Alemanha: menos = menos, traço = Strich, hífen = Bindestrich. Menos é internacional.
usuário desconhecido
2
+1 Em russo, a palavra "hífen" - [defis] - embora não seja maior que "menos", mas não soa "coloquial" o suficiente para ser usada na fala normal. Outra palavra coloquial para "hífen" é [chortochka], mas não é boa por causa de alguma ambiguidade: significa "linha curta"; portanto, pode ser interpretada como "barra" ou "barra invertida" ou "tubo" ou qualquer outra coisa. A palavra [pneu] ("traço") está associada apenas a um longo traço usado como sinal de pontuação. Então, sinto que a melhor maneira de pronunciar essas coisas é dizer "menos". E verdade: provavelmente eu aprendi "menos" com outras pessoas do Unix, e fiquei feliz por haver uma maneira tão legal.
imz - Ivan Zakharyaschev 6/02
1
Além disso, um hífen ([defis] em russo) ocorre geralmente "dentro" de uma palavra, para conectar duas partes de uma palavra. Portanto, não é natural dizer "hífen" quando você pronuncia o início de uma "palavra" (a opção). Posso me imaginar pronunciando "apt-get" como "apt defis get" ou "apt get cherez defis" (= "com um hífen dentro"); a última é a maneira usual de falar sobre a ortografia de algumas palavras compostas em russo.
imz - Ivan Zakharyaschev 6/02/11
@imz: A última versão é usada no contexto do Unix?
Tikhon Jelvis
@TikhonJelvis: poderia ser usado em qualquer caso quando você precisar soletrar algo como uma palavra (poderia ser um comando Unix), e há algumas peculiaridades que não são refletidas pela pronúncia normal (o hífen não é pronunciado, então você deve adicionar um comentário depois de pronunciar o grupo de (pseudo) palavras). Não vejo nenhuma razão contra essa maneira de ser usada no contexto do Unix. Eu poderia escrever "apt-get" da última maneira ... Por que você está perguntando?
imz - Ivan Zakharyaschev
9

A única vez em que uso ou escuto menos, em vez de traço, é quando uso o chmod para remover uma certa permissão, por exemplo

chmod -x script.sh

como a ação em questão pode ser considerada subtração.

alanc10n
fonte
5
Muito bom ponto. Eu gostaria de comentar que sempre digo "traço", mas depois de ler sua resposta, percebi que essa é a exceção. Neste caso, eu diria " C H mod menos x ponto de script S H "
Josh
1
@ Josh, acabei de perceber que commé outra exceção . Você "menos 2" para ignorar as linhas que estão apenas em arquivo 2, etc.
Wildcard
7

Eu uso o Unix e o GNU / Linux há muitos anos, e falei sobre operadores de linha de comando em voz alta e nunca ouvi alguém dizer "menos". De fato, nem costumamos dizer "traço". Se estiver conversando com alguém e o contexto estiver claro, falarei apenas as letras da opção; usando seu exemplo

rm -rf /

seria pronunciado "arr em arr eff slash". Claro, isso não é algo que eu costumo dizer a alguém como fazer, então seria mais

rm -rf *

pronunciado "arr em arr eff estrela". Às vezes eu digo o traço, como

sudo yum -y update

Eu diria "soo dum yum dash por que atualizar".

Joel J. Adamson
fonte
10
"arr em arr eff slash."? Unix para piratas? :-))) scnr ;-)
echox
1
arr em arr starrr, amigo! grrrrep!
Joel J. Adamson
1
"soo massa"? Como em sudo make me some dough so you can bake bread for my sandwich?
21420 Josh
@ Joel - ah, eu fiz essa observação exata acima (em outro comentário). O 'rmrf' não precisa de traços, hacks, tachas, desvantagens, etc. É uma abreviação e inescrutabilidade para quem não deve executá-lo.
Belacqua
2
@ Mikel eu digo "sudo" como "pseudo" porque eu não sou realmente o super usuário.
Joel J. Adamson
7

Acredito que me qualifico como chefe do Unix e digo traço porque tem menos sílabas que menos ou hífen.

Eu gostaria de ler rm -rf /como "barra de rum ruff", mas temo que quase ninguém me entenda.

RedGrittyBrick
fonte
2
Concordo - na verdade, quando converso com pessoas que sabem coisas sobre o Unix, geralmente omito o 'traço' mesmo. Ou seja, "barra rmrf". Ninguém que não sabe o que isso significa não precisa executar o comando.
Belacqua
5

Eu sou principalmente um cara do Windows (não me vote aqui!) E normalmente digo "hífen".

Eu acho que é apenas a sua experiência com as pessoas com quem você lida e como elas foram criadas. Nada específico sobre o fundo de seus computadores.

wilhil
fonte
1
-1 para "hífen". Eu nunca chamá-lo assim ;-) (Na verdade dizendo hypen não faz sentido, um hífen é usado em entre duas palavras)
Josh
1
Espere, mas por que o Windows usaria -? Sempre que eu mudo para o Windows (e infelizmente isso ocorre), sempre fico gritado porque apenas alguns programas realmente usam -para delimitar argumentos. O Windows usa /, o que é ainda mais divertido (na verdade, eu nem me lembro. Talvez seja {forward slash}). Prompt de comando--.
Blender
@Blender é barra !!! ehh, eu sou principalmente o Windows, mas eu gosto de usar praticamente todos os sistemas operacionais de tempos em tempos. Esta pergunta apareceu na lista popular, então eu apenas pensei em responder!
wilhil
@ Josh Tecnicamente, é o caractere hífen / menos, portanto, um desses dois é mais correto que dash.
PSKocik 26/10/2015
5

Muitas pessoas realmente dizem " aderência ". (Estou assistindo a um vídeo do Hak5 no momento e o host continua dizendo "aderência").

As outras pronúncias mais comuns são "hífen" e "hífen".

Eu nunca ouvi um cara de Unix ou Linux dizer "menos" em um contexto de linha de comando.

greyfade
fonte
1
Como contraponto, ouvi "menos", "traço" e talvez (raramente) "hífen", mas nunca "adere".
Tikhon Jelvis
"dak" está listado como uma variante rara no arquivo de jargão. Eu realmente nunca ouvi isso.
Wnoise 22/03/12
@greyfade, de onde você é, onde nunca os ouviu dizer menos, que é de longe o mais comum e tradicional? E esses caras do unix, ou principalmente o windows, usam apenas para uma ou duas coisas que precisam do * nix (roteamento, virtualização, raspberry pi, etc.)?
Peter
5

Seria dito "arr em menos arr ef slash" em oposição a "arr em dash arr ef slash".

Por que é isso?

Eu acho que isso pode ser regional ou relacionado à idade mais do que qualquer outra coisa. Todo mundo disse menos quando eu estava na Uni. ... mas nesse momento todos os teclados tinham um teclado numérico, à direita, que tinha + - * / etc.

James Antill
fonte
1
Suspiro ... então, inadvertidamente, mostrei minha idade.
Eric Smith
4

Eu participei de três aulas de Linux da Red Hat e dois dos três instrutores usaram o termo "tack" exclusivamente ao se referir a hífens na linha de comando. O outro instrutor disse que usou "dash" porque não queria nos confundir usando "tack".

De Allied Flaghoist Procedures , aprendemos que a palavra "tack" é um termo militar abreviado para "Tackline" (usado para conectar sinalizadores para sinalização de navio a navio) e é representado como um hífen no código escrito:

"Um tackline é um comprimento de adriça de aproximadamente 6 pés; o comprimento exato depende do tamanho das bandeiras em uso. O tackline é transmitido e falado como tack e escrito como um hífen (hífen)" - ". É usado para evitar ambiguidade. Separa sinais ou grupos de numerais que, se não forem separados, podem transmitir um significado diferente do pretendido. "

Pessoalmente, acho a palavra "aderência" mais eficiente, porque é muito rápido dizer ou pensar. Como "dash", o tack é apenas uma sílaba. No entanto, como outros já apontaram, o "traço" é tecnicamente incorreto porque na verdade são duas tachas ou hífens "-".

teancum144
fonte
2

Trabalho no unix desde 1987 (BSD, SunOS, Solaris, IRIX, Unicos, Linux) em vários lugares do país (EUA) e quase sempre ouvi o caractere "-" chamado de hífen. Eu mesmo costumo dizer traço. Uma exceção é quando se diz "kill -9": só ouvi isso como "kill menos 9". Não sei por que tem sido assim, mas essa tem sido minha experiência. Também notei que várias regiões têm uma linguagem distintamente diferente para algumas coisas da tecnologia. Causou pesar (considerado estúpido porque não sabe o que é algo (tanto eu quanto os outros)) e muitas risadas.— De um modo geral, menos sílabas normalmente requerem menos processamento cognitivo para alcançar a compreensão.

Iceberg
fonte
1

No Windows, muitas opções de linha de comando são / (por exemplo, dir /?) dizendo que o traço pode facilmente ser confundido com a barra .... que é exatamente como muitos comandos no Windows quando você instala algumas ferramentas úteis da linha de comando unix-y - Eu continuo esquecendo quais usam / e quais usam -!

gbjbaanb
fonte
0

Há casos em que a linha de comando + e - são definitivamente destinadas a indicar uma subtração ou adição de algo, como

diff -w

ou

emacs +30

fonte
2
Como é diff -wum caso em que -deve indicar subtração?
Michael Mrozek
1
diff -w file-a file-bfornece a diferença entre dois arquivos sem considerar o espaço em branco.
0

Estou surpreso que não haja uma resposta definitiva aqui. Alguém deve fazer spelunking histórico e descobrir isso. Onde e quando começaram as tradições "menos" ou "traço"? Bom tópico da tese :-)

Eu peguei dizendo "menos" de um monte de hackers do kernel com os quais trabalhei em uma certa empresa que tinha um sistema operacional que incluía grandes partes do BSD (que seria a apple). Eu sempre achei que ele tropeçou na língua com muito mais facilidade do que correr.

Se eu tiver um nome de arquivo com um "-", nunca o chamaria de menos, chamaria de traço. Assim, posso diferenciar facilmente na conversa entre a parte dos argumentos de um comando e a parte do nome do arquivo.

É muito raro incluir expressões aritméticas nos comandos do shell, portanto, a confusão com a matemática parece improvável.

Com base nas outras respostas aqui, parece que as pessoas que são gurus do UNIX dos velhos tempos, ou como eu andam com gurus do UNIX dos velhos tempos, são mais como dizer "menos". Assim, minha suspeita de que haja uma história histórica interessante aqui.

Simon Woodside
fonte
0

Eu acho que o principal motivo aqui é porque você realmente precisa usar um caractere de menos ( -unicode 2212) para especificar opções.

O N-dash ( unicode 2013) não será capturado pelo comando rm.

Não tenho certeza de como isso funciona no Windows.

Mas eu já vi usuários Linux experientes dizerem traço em vez de menos (e eu costumava cometer o erro), principalmente influenciados pela música 'kill dash nine' de Monzy

Mais sobre a diferença entre um traço e um canto negativo

Jens Timmerman
fonte
2
Você não pode usar o Uniode menos U + 2212 para introduzir opções. Você deve usar o hífen ASCII menos U + 002D.
Celada
rm −i dpkg.log(menos) dá rm: cannot remove ‘−i’: No such file or directory.
GKFX 27/10/2015
0

Sei que esse é um tópico antigo, mas nunca vi essa explicação em nenhum outro lugar.

Eu sou bastante novo no Linux e c ++, e me disseram que "-j" é "tack j". Sem nenhuma explicação, presumi que isso significasse aderência como em "aderência". Como colocar um "j" no final do comando. ie make -j 10

Portanto, "aderência" não é necessariamente uma palavra para "-" (que eu normalmente chamaria de menos), mas uma ação realizada usando "-".

Certamente não dizer que isso é historicamente correto, mas talvez eu não seja o único a usá-lo dessa maneira.

litforall
fonte