Quero compartilhar uma curiosidade que aprendi esse ano com o livro The Art of Unix Programming, no tópico Command-Line Options, que tem a ver com as convenções que o @kht mencionou e vai ajudar a entender para que serve (e como surgiu) cada forma de argumento (curta e longa):

  • -a é um exemplo de argumento na tradição Unix original, onde as opções de linha de comando eram uma única letra precedida por um único hífen. Opções para sinalizar um modo que não recebem argumentos podem ser agrupadas, então se -a e -b fossem opções de modo, -ab ou -ba habilitariam ambos modos. Inclusive, existem alguns significados mais comuns para as opções de uma única letra, por exemplo, a = all, -d = delete ou directory.
  • --all é um exemplo de argumento no estilo GNU, que usa opções com palavras-chave ao invés de letras, precedidas por dois hífens. O argumento de uma opção, caso exista, pode ser separado por espaço em branco ou um =. O hífen duplo foi escolhido para que as opções tradicionais Unix de uma letra e as opções no estilo GNU pudessem ser misturadas inequivocamente na mesma linha de comando.
  • -geometry é um exemplo de argumento no estilo do toolkit X, que usa hífens únicos e palavras-chave para as opções. Pela minha experiência, diria que é a opção menos popular entre as três.

O estilo Unix original evoluiu em teletipos ASR-33 que tornaram a concisão uma virtude; por isso, as opções de uma única letra. Manter pressionada a tecla shift exigia um esforço real, daí a preferência por letras minúsculas e o uso de - (em vez do, talvez mais lógico, +) para habilitar opções.

O teletipo ASR-33, a aparência das teclas lembra uma máquina de escrever

Quem quiser se aprofundar um pouco mais, pode acessar o link desse tópico no livro.

Bacana! 😁 Vlw!