Costumo ver um traço único -
ou duplo --
seguido de comandos linux ou outros programas linux instalados.
Quais são as diferenças entre traço único e traço duplo?
É apenas sobre abreviação? Por exemplo, -v
significa na --verbose
maioria das vezes.
command-line
Peng Zhang
fonte
fonte
Respostas:
É uma questão de convenção. Os programas padrão POSIX geralmente têm apenas opções de caracteres únicos e todos são prefixados com um único hífen. As versões mais longas são uma melhoria do GNU para maior clareza, pelo que sei, e geralmente são prefixadas com hífens duplos. Você pode ver isso nas bibliotecas e programas usados para analisar as opções -
getopt
egnu-getopt
respectivamente. Programas que não sejam compatíveis com GNU e não POSIX podem fazer outra coisa. Observe que você realmente não pode ter certeza de que a forma longa de um argumento pode ser a mesma de programa para programa.-f
geralmente significa--force
, mas não comapt-get install
(equívoco comum).-v
pode significar versão - geralmente, ou--verbose
assim por diante. Verifique as páginas de manual ou outra documentação para ter certeza. Também dê uma olhada noArtigo da Wikipedia sobre getopt . Tudo isso antecede o Linux em uma década ou mais.dd
é um exemplo de um utilitário padrão POSIX que não tem quaisquer opções hífen em tudo .find
é o exemplo clássico de um utilitário padrão POSIX que possui opções de palavras com hífens únicos - quase todasfind
as opções têm vários caracteres.ps
suporta vários estilos de opção:O GNU
tar
também suporta vários estilos de opção.Por uma questão de uso, prefira as opções longas nos scripts se tiver certeza de que os scripts serão executados em ambientes compatíveis - a melhoria da clareza é uma bênção ao depurar. Para portabilidade, as opções curtas são preferidas.
fonte
Geralmente - as opções podem ser encadeadas, como
pacman -Syu
equivalentes apacman -S -y -u
, e - as opções geralmente assumem um parâmetro como em./configure --prefix=/usr
fonte