it-swarm-pt.com

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

Há algumas semanas, 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?

55
Eric Smith

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 1 :

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.

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 (-).
A 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 +, então é lógico pensar em mais e menos

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

75
Mikel

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 só essa pessoa. No entanto, temos outra linguagem, por exemplo #! é pronunciado Shebang .

Aqui está um link para o arquivo de jargão atual para ASCII e como eles são ditos

34
xenoterracide

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 vestidas eram novatas, pronunciavam noo abelhas :-)

GUERRA

24
dev

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, eles seriam muito tediosos de usar.

12
Patkos Csaba

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

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

9
alanc10n

Eu uso o Unix e o GNU/Linux há muitos anos, e conversei 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".

7
Joel J. Adamson

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

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

7
RedGrittyBrick

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

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

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

6
greyfade

Sou principalmente um cara do Windows (não 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 histórico de seus computadores.

5
wilhil

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.

5
James Antill

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 "traço" porque ele não queria nos confundir usando "aderência".

Em 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 de comprimento; 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 "-".

4
teancum144

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. Isso causou pesar (considerado estúpido por não saber o que é algo (tanto eu quanto os outros)) e muitas risadas.— De um modo geral, menos sílabas normalmente requerem menos processamento cognitivo para obter entendimento. Isso pode se traduz em mais trabalho em menos tempo - mas isso provavelmente é um seque em outra lata de vermes.

2
Iceberg

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

1
gbjbaanb

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"? Tópico da boa tese :-)

Comecei 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 muito mais facilmente 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". Daí minha suspeita de que haja uma história histórica interessante aqui.

0
Simon Woodside

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

Eu acho que o principal motivo aqui é porque você realmente precisa usar um hífen ou hífen-menos (- unicode 002D) para especificar opções.

O traço N ( unicode 2013) não será captado 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 mais influenciado por t ele canta 'kill dash nine' por Monzy ), antes de ouvir essa música, eu sempre dizia menos .

Mais sobre a diferença entre um traço e um sinal de menos

edit: atualizado para refletir as correções nos comentários, parece que meu Shell ou terminal estava consertando algumas coisas para mim que nem todas as conchas fazem (ou deveriam fazer)

0
Jens Timmerman

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. ou seja, 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.

0
litforall