Qual é a diferença entre whiche whereis?
whiche whereissaída diferente dando (no MacOS Sierra) apple.stackexchange.com/questions/259047/...
typeé superior. Ele também sabe sobre aliases definidos, funções etc
Qual é a diferença entre whiche whereis?
whiche whereissaída diferente dando (no MacOS Sierra) apple.stackexchange.com/questions/259047/...
typeé superior. Ele também sabe sobre aliases definidos, funções etc
Respostas:
Que tal aprender whereise whichusar whatis?
$ whatis which
which (1) - shows the full path of (shell) commands
$ whatis whereis
whereis (1) - locate the binary, source, and manual page files for a command
Basicamente, whereisprocura por arquivos "possivelmente úteis", enquanto whichapenas procura por executáveis.
Eu raramente uso whereis. Por outro lado, whiché muito útil, especialmente em scripts. whiché a resposta para a seguinte pergunta: De onde vem este comando?
$ which ls
/bin/ls
$ whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2
whereis, e não para o que which.
whichmostra o caminho real. Tem certeza de que o caminho apontado por whichnão é apenas um link simbólico para o caminho apontado por whereis? Talvez seja um apelido de shell. No bash, tente executar type your_cmd_here.
whereis procura nos locais padrão * nix por um comando especificado.
whichpesquisa seu PATH específico do usuário (que pode incluir alguns dos locais em que é pesquisado e pode não incluir outros - também pode incluir alguns lugares que whereisnão pesquisam se você tiver adicionado ao seu PATH)
Citando suas páginas de manual:
em que :
whereis localiza seções fonte / binária e manuais para arquivos especificados.
Por exemplo :
$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
ou seja, o executável "php" e outras coisas (como páginas de manual).
e quais :
que retorna os nomes dos caminhos dos arquivos que seriam executados no ambiente atual
Por exemplo :
$ which php
/usr/bin/php
ou seja, apenas o executável "php".
que pesquisam executáveis nos diretórios especificados pela variável de ambiente PATH. E se for descoberto, o nome completo do caminho deste executável será impresso.
$ what ls
/ bin / ls
$ what ifconfig
$ # Sem saída, porque o ifconfig existe apenas no PATH da raiz.
onde é possível procurar executáveis, arquivos de origem e páginas de manual usando um banco de dados criado pelo sistema automaticamente.
$ where é menos
menor: / bin / less / usr / bin / less / usr / bin / X11 / less /usr/share/man/man1/less.1.gz
Mas parece que whereis e localizar não usar o mesmo banco de dados. Quando instalei um software e usei whereis e localize-o imediatamente para procurar esse software. O resultado é que whereis poderia descobrir alguns arquivos relacionados a este software enquanto localizar não podia. Eles realmente usam bancos de dados diferentes? Como o banco de dados funciona? - Que tal se recusar a ser pedante? :)