Administração de Linux
medium

Administração de Linux Question #019e3987

Question Statement
Administração de Linux
#whereis
#man-pages
#binary-location
#file-search
#coreutils
Medium

Qual dos seguintes comandos pode ser usado para localizar programas e suas respectivas páginas de manual e arquivos de configuração?

A

dirname

B

which

C

basename

D

query

E

whereis

Correct

Official Explanation / Community Explanations

O comando whereis foi projetado especificamente para localizar executáveis binários, código-fonte e arquivos de páginas de manual de um determinado programa. Ele realiza buscas em diretórios padrão do sistema (por exemplo, /bin, /sbin, /usr/bin, /usr/share/man) e exibe os caminhos para o binário, a página de manual e os arquivos de configuração, se existirem. Por exemplo, whereis ls retorna uma saída semelhante a ls: /bin/ls /usr/share/man/man1/ls.1.gz.

Como funciona

whereis usa uma lista de diretórios codificada (normalmente definida na variável de ambiente WHEREIS ou valores padrão compilados) para pesquisar arquivos. Não depende de um banco de dados como locate; em vez disso, realiza uma busca no sistema de arquivos em locais comuns. O comando suporta opções como -b (somente binários), -m (somente páginas de manual) e -s (somente código-fonte).

Por que o valor correto está certo

O comando whereis é a única opção capaz de localizar tanto programas quanto suas respectivas páginas de manual e arquivos de configuração. É um utilitário padrão em sistemas do tipo Unix e faz parte do pacote coreutils do GNU.

Por que os valores incorretos estão errados

  • dirname extrai o caminho do diretório a partir de um determinado caminho de arquivo (por exemplo, dirname /usr/bin/ls retorna /usr/bin). Não realiza buscas por programas ou páginas de manual.
  • which localiza o arquivo executável associado a um comando pesquisando o $PATH do usuário. Ele exibe apenas o binário, não as páginas de manual ou os arquivos de configuração.
  • basename remove o diretório e o sufixo de um caminho de arquivo (por exemplo, basename /usr/bin/ls retorna ls). Não realiza nenhuma busca.
  • query não é um comando padrão do Linux para localizar programas ou documentação. Pode ser usado em contextos específicos (por exemplo, consultas de pacotes RPM com rpm -q), mas não serve ao propósito geral descrito na pergunta.