Um deles é provavelmente um link para o outro ...
Tradicionalmente, os shells (como bash
, csh
e zsh
) estão localizados em / bin - porque é necessário um shell mesmo no modo de usuário único ou outras vezes quando / usr pode ser desmontado ( / usr é freqüentemente em uma partição separada e pode até ser montado através da rede - portanto, não prontamente disponível em singe modo de usuário ).
Por outro lado, shells adicionais (do padrão / ones) não são estritamente necessárias no modo de usuário único (a menos que root acontece de usar um deles), então é natural colocar tais shells em / usr / bin ao invés de / bin .
Quando você faz colocá-lo em / usr / bin , é comum fornecer um link simbólico para ele de / bin , como os usuários tendem a esperar que seus shells fiquem diretamente sob / bin (não que um link ajudaria se / usr não estivesse montado).
Assim, ao compilar a lista de shells disponíveis para escolher ( / etc / shells ), tanto o executável real quanto o link foram listados. Você pode usar ls -l
para verificar qual é o link e qual é o executável.
+++
Ambos /bin/zsh
e /usr/bin/zsh
são explicitamente adicionados juntos (mesmo bloco if-fi ) no script postinst
(pós-instalação) para o pacote zsh, usando o add-shell
comando:
From zsh_5.1.1-1ubuntu2_amd64.deb:/DEBIAN/postinst #!/bin/sh ... case "$1" in (configure) # if test -z "$2"; then add-shell /bin/zsh add-shell /usr/bin/zsh # fi ...