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.

instagram viewer

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.