Por exemplo, eu gitinstalei no meu sistema. Mas não me lembro onde o instalei, então qual comando é adequado para descobrir isso?
Por exemplo, eu gitinstalei no meu sistema. Mas não me lembro onde o instalei, então qual comando é adequado para descobrir isso?
Respostas:
Se estiver no seu caminho, você poderá executar type gitou which git. O whichcomando teve problemas para obter o caminho adequado (confusão entre o ambiente e os arquivos de ponto). Pois type, você pode obter apenas o caminho com o -pargumento.
Se não estiver no seu caminho, é melhor procurá-lo com locate -b git Ele encontrará qualquer coisa chamada 'git'. Será uma lista longa, portanto pode ser bom qualificá-la locate -b git | fgrep -w bin.
locatesem parar (é muito rápido), mas, para quem não sabe, locateé tão atualizado quanto a atualização mais recente do banco de dados, que é executada automaticamente diariamente no meu Ubuntu. O comando refresh é sudo updatedb... Também locatepossui capacidade de regex locate -br "^git$"interna , portanto, comandos como este funcionam: ... -b` significa restringir a pesquisa apenas ao nome da base ... ou sem o -b, ele pesquisa o nome completo do caminho. , ele pesquisa apenas os caminhos que você configurou para pesquisar. não há controle de linha de comando disso além dos filtros regex.
typeé um shell embutido que me diz aliases e tal, e whiché um programa externo que me mostra o caminho para um executável ... embora, se houver um embutido no diretório maneira que executável não será chamado.
whichsão que ele não sabe sobre os recursos e funções do shell (o que é relevante quando você está se perguntando o que digitar o comando fará), e usa algo diferente $PATHem alguns sistemas.
A maneira padrão POSIX de fazer isso é command -v git. Todos os sistemas do tipo UNIX devem suportar isso.
whereis git e você obtém o caminho para o comando.
isto é, apenas se o git estiver na sua variável PATH, caso você não o tenha instalado através do gerenciador de pacotes, é mais complexo e você deve usar os comandos findou locate.
whichtambém é incentivado.
As outras respostas aqui parece ser em grande parte voltado para versões modernos de Linux, por isso, se acontecer de você usar gitem um sistema operacional que não tem locate, whereis, which, ou apropos(como Solaris, HPUX, etc), então há sempre o velho standby find.
find / -name git
Em algumas versões mais antigas dos sistemas listados acima, você pode precisar de uma -printopção fornecida find.
find / -name git -print
E se você usar locate, certifique-se de executar updatedbperiodicamente. ( locate.updatedbem alguns derivados do BSD)
type. :) Isso definitivamente está no repertório!
findfaz uma pesquisa completa e aprofundada do sistema de arquivos a partir de onde você o enraizar. Então find / -name git, atravessará todo o seu sistema. Se você sabe que o programa está no seu caminho, normalmente pode fazê-lo IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done, embora os sistemas de arquivos Unix sejam permissivos o suficiente para que isso possa ocorrer de várias maneiras se houver caracteres estranhos no seu PATH.
PATH, a coisa correta (com as mesmas ressalvas de antes) é IFS=":"; for dir in $PATH; do find "$dir" -name git; done. Além disso, para reiterar, essa resposta deve ser usada apenas por pessoas que não têm acesso a typeou which ou locate , ou seja, quase ninguém. A resposta do @ Arcege está correta.
Para obter o caminho para o programa instalado, use whereisou which. Se você esquecer o nome, você pode usar aproposcom um sinônimo ou descrição do seu utilitário, por exemplo, apropos "version control"irá encontrar git. A seguir, é claro, o whatiscomando para resumir brevemente a função de um programa. No entanto, isso não se aplica a todos os programas e funções em seu sistema. Tente por exemplo whatis "the meaning of life, universe and everything".
whichcomando" na verdade :)