Por exemplo, eu git
instalei no meu sistema. Mas não me lembro onde o instalei, então qual comando é adequado para descobrir isso?
terminal
system-calls
Anders Lind
fonte
fonte
which
comando" na verdade :)Respostas:
Se estiver no seu caminho, você poderá executar
type git
ouwhich git
. Owhich
comando teve problemas para obter o caminho adequado (confusão entre o ambiente e os arquivos de ponto). Poistype
, você pode obter apenas o caminho com o-p
argumento.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á-lalocate -b git | fgrep -w bin
.fonte
locate
sem 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émlocate
possui capacidade de regexlocate -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
awhich
.which
facilmente fica confuso .type
é um shell embutido que me diz aliases e tal, ewhich
é 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.which
sã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$PATH
em alguns sistemas.A maneira padrão POSIX de fazer isso é
command -v git
. Todos os sistemas do tipo UNIX devem suportar isso.fonte
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
find
oulocate
.fonte
which
também é incentivado.type
, sim, nãowhich
. Consulte Como usarwhich
em um comando com alias?As outras respostas aqui parece ser em grande parte voltado para versões modernos de Linux, por isso, se acontecer de você usar
git
em um sistema operacional que não temlocate
,whereis
,which
, ouapropos
(como Solaris, HPUX, etc), então há sempre o velho standbyfind
.Em algumas versões mais antigas dos sistemas listados acima, você pode precisar de uma
-print
opção fornecidafind
.E se você usar
locate
, certifique-se de executarupdatedb
periodicamente. (locate.updatedb
em alguns derivados do BSD)fonte
type
; é confiável e portátil (exceto para sistemas com 30 anos de idade).type
. :) Isso definitivamente está no repertório!find
faz uma pesquisa completa e aprofundada do sistema de arquivos a partir de onde você o enraizar. Entãofind / -name git
, atravessará todo o seu sistema. Se você sabe que o programa está no seu caminho, normalmente pode fazê-loIFS=":"; 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 seuPATH
.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 atype
ouwhich
oulocate
, ou seja, quase ninguém. A resposta do @ Arcege está correta.Para obter o caminho para o programa instalado, use
whereis
ouwhich
. Se você esquecer o nome, você pode usarapropos
com um sinônimo ou descrição do seu utilitário, por exemplo,apropos "version control"
irá encontrargit
. A seguir, é claro, owhatis
comando 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 exemplowhatis "the meaning of life, universe and everything"
.fonte