relate perguntas
-
Como eu faria minha máquina Linux parecer que está executando o Windows?
-
Existe um equivalente a cd - para cp ou mv?
-
execute o contêiner do docker como root
-
Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux
-
Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?
Não sei por que essa captura de tela contém as setas. Estes não devem estar relacionados. (Acontece que eles estão relacionados .. veja o comentário na parte inferior).
Mas a resposta para sua pergunta é...
/bin
contém arquivos executáveis que fazem parte do sistema operacional principal. Esses arquivos precisam estar acessíveis antes de serem/usr
montados. (por exemplo, omount
comando está em/bin/mount
)./usr/bin
contém arquivos executáveis que não fazem parte do sistema operacional principal. Estes são considerados "binários de todo o sistema"./sbin
e/user/sbin
são a mesma configuração.. apenas os utilitários nesses diretórios geralmente requerem privilégios de root. O 's' é para superusuário (também conhecido como root), mas USADO para significar autônomo (como na ligação estática sem dependências).Já que estamos nisso, por que não abordar
/usr/local/bin
? Alocal
parte da árvore é para coisas específicas do host (como não é comum a todas as instâncias do sistema operacional). Frequentemente, programas que você instala fora do sistema de pacotes colocam binários aqui./tmp
é para dados temporários que devem ser limpos rapidamente. Geralmente limpo pelo menos a cada 10 dias. Muitos perfis também limparão isso em cada reinicialização./var/tmp
é geralmente para dados mais persistentes (mas ainda "jogar fora"). Geralmente limpo a cada 30 dias. Muitas vezes não é limpo na reinicialização.Tenha em mente. O Linux é um sistema operacional gratuito para o qual qualquer pessoa pode contribuir e criar código e, portanto, essas coisas são diretrizes e não regras. O Linux ainda é (e pode permanecer) "o oeste selvagem".
Veja os outros posts sobre UsrMerge (especificamente sobre o que é o diagrama).
@user1686 nos abençoou com as seguintes informações: (obrigado!) As setas indicam links simbólicos. Eu acho que o SunOS 4 pode ter sido o primeiro sistema operacional a
/bin
ser vinculado/usr/bin
- ele tinha apenas o comando 'mount'/sbin
(o "s" costumava ser para "autônomo" ou "vinculado estaticamente"; como em não depender de /lib; mas todo mundo esqueceu disso).A imagem que você postou parece ser uma visualização do que é chamado de UsrMerge, descrito em detalhes aqui . Boa redação rápida dos benefícios de symlinking estes juntos.
Significa uma maneira relativamente segura de simplificar a estrutura de arquivos do Linux. Diferentes distribuições lidam com esses diretórios de maneira diferente, portanto, vinculá-los pode resolver muitos problemas de compatibilidade em vários aplicativos.
Este link fornece um contexto sobre por que ele foi configurado do jeito que está em primeiro lugar. Para encurtar a história, é um órgão residual necessário para contornar as limitações de hardware nos anos 70.
Houve um tempo em que o armazenamento era caro. Nestes tempos
/usr
era um compartilhamento NFS em um servidor de arquivos "enorme". Como mencionado em uma resposta já/bin
e/sbin
continha os arquivos necessários para inicializar até que a montagem NFS fosse possível (por exemplo, omount
comando precisa estar lá antes que você possa montar algo).Na verdade, no Android, às vezes, você ainda pode ver essa divisão e em sistemas, onde o sistema de arquivos raiz está na ROM e montado com sobreposição. Lá, pode ser possível colocar software adicional em
/usr
, sem alterar o sistema principal.As distribuições modernas do Desktop Linux não veem mais a necessidade da divisão e mesclam tudo para
/usr
. Como mencionado acima vejaUsrMerge
.