Como encontrar o caminho do aplicativo a partir da linha de comando?

90

Por exemplo, tenho git instalado no meu sistema. Mas eu não lembro onde eu instalei, então qual comando é adequado para descobrir isso?

    
por Anders Lind 07.01.2012 / 20:33

5 respostas

102

Se estiver no seu caminho, você poderá executar type git ou which git . O comando which teve problemas para obter o caminho correto (confusão entre arquivos de ponto e ambiente). Para type , você pode obter apenas o caminho com o argumento -p .

Se não estiver no seu caminho, é melhor procurá-lo com locate -b git . Ele encontrará qualquer coisa chamada 'git'. Vai ser uma lista longa, então pode ser bom qualificá-la com locate -b git | fgrep -w bin .

    
por 07.01.2012 / 20:43
42

A maneira POSIX standard de fazer isso é command -v git . Todos os sistemas semelhantes ao UNIX devem suportar isso.

    
por 09.01.2012 / 19:28
13

As outras respostas aqui parecem ser em grande parte voltadas para as versões modernas do Linux, portanto, se você usar git em um sistema operacional que não tenha locate , whereis , which ou apropos (como Solaris, HPUX, etc), então há sempre o antigo standby find .

find / -name git 

Uma versão mais antiga dos sistemas listados acima, você pode precisar de uma opção -print fornecida para find .

find / -name git -print

E se você usar locate , certifique-se de executar updatedb periodicamente. ( locate.updatedb em alguns derivados BSD)

    
por 07.01.2012 / 20:51
12

whereis git e você obtém o caminho para o comando.

isto é, se o git estiver em sua variável PATH, caso você o tenha instalado não através do gerenciador de pacotes, é mais complexo e você deve usar os comandos find ou locate .

    
por 07.01.2012 / 20:35
5

Para obter o caminho para o programa instalado, use whereis ou which . Se você esquecer o seu nome, você pode usar apropos com um sinônimo ou descrição de seu utilitário, por exemplo apropos "version control" encontrará git . Em seguida, é claro que o comando whatis resume brevemente a função de um programa. Isto, no entanto, não se aplica a todos os programas e funções do seu sistema. Tente por exemplo whatis "the meaning of life, universe and everything" .

    
por 07.01.2012 / 20:42