Os comandos which, whereis e whatis podem parecer semelhantes a um novato no Linux, mas são mais diferentes do que você imagina.
Você pode ter usado os comandos which, whereis e whatis no Linux várias vezes. Todos os três comandos ajudam a encontrar informações sobre outros comandos do Linux. Esses comandos parecem semelhantes, mas têm algumas diferenças.
Aqui está uma comparação detalhada dos comandos which, whereis e whatis no Linux.
o qual comando
Alguns comandos têm vários executáveis binários localizados em diretórios diferentes. Quando você executa um comando, o shell procura seus executáveis nos diretórios especificados na variável de ambiente PATH.
Para descobrir quais diretórios estão na variável de ambiente PATH, abra o terminal no Linux e execute o seguinte comando:
echo $PATH
Você também pode manualmente adicione um diretório à sua variável de ambiente PATH.
Quando o shell encontra o primeiro caminho executável, ele o executa. Usando o comando which no Linux, você pode identificar o caminho desse executável.
Isso é útil em cenários onde você tem duas versões diferentes do mesmo programa ou dois programas diferentes com o mesmo nome instalados em seu sistema. Usando o comando which, você pode descobrir qual deles será executado primeiro.
Aqui está a sintaxe do comando which:
qual [opção] [comando]
Por exemplo, para verificar o caminho real do alcatrão comando, você digitaria:
qual alcatrão
Este comando exibirá o primeiro caminho executável, ou seja, /usr/bin encontrado para o comando tar no PATH. Isso significa que sempre que você executa o comando tar, o shell executa o arquivo binário localizado no /usr/bin diretório.
Para exibir todos os caminhos executáveis disponíveis para um comando, use o comando which com o -a opção:
qual -um alcatrão
Você também pode exibir caminhos executáveis para vários comandos de uma só vez, assim:
qual [comando1] [comando2] [comando3]
O comando whereis
O comando whereis exibe o caminho dos arquivos binários, de origem e de página de manual associados ao comando especificado. Ao contrário do comando which, ele não apenas procura o executável em $PATH, mas também $MANPATH e outros locais predefinidos.
Sem qualquer opção de linha de comando, o comando whereis exibe os arquivos binários, de origem e de página de manual para um comando:
onde está alcatrão
Para exibir apenas o caminho do arquivo binário, use o -b opção:
whereis -b tar
Para exibir apenas o arquivo de origem, use o -s bandeira:
whereis -s tar
Para exibir apenas a página de manual, use o -m opção:
whereis -m tar
O comando whatis
O comando whatis fornece uma descrição de uma linha de um determinado comando do Linux. Ele encontra essas informações na página de manual do comando.
Por exemplo, para descobrir o que o comando tar faz, execute:
o que é alcatrão
Você também pode encontrar informações sobre vários comandos simultaneamente usando:
o que é ls cp mkdir cabeça de gato
qual vs. onde é vs. whatis: Quais são as diferenças?
Se você estiver procurando o caminho do binário que é executado quando um comando é executado no shell, use o comando which. Considerando que, se você estiver procurando a fonte, o binário e as páginas de manual de um comando, use whereis.
O comando whereis lista todos os executáveis binários, enquanto o comando which exibe apenas o primeiro executável que é executado quando você digita o referido comando no shell.
O comando which executa pesquisas na variável PATH enquanto o comando whereis pesquisa diretórios padrão do Linux, incluindo $PATH e $MANPATH.
Por fim, o comando whatis simplesmente exibe uma descrição de uma linha de um comando.
Encontrando informações sobre os comandos do Linux
Os comandos which, whereis e whatis ajudam você a encontrar informações sobre outros comandos do Linux, como o caminho completo dos executáveis, binário, origem, páginas de manual e funcionalidade de um comando.
Junto com o whatis, você pode usar outros comandos como apropos, man, info e help para obter informações detalhadas e uma melhor compreensão dos comandos do Linux e suas funções.