Usando o comando apropos com -a para pesquisar várias palavras-chave no CentOS 7

2

Estou executando o CentOS 7.0 build 1503 . Eu estou tentando procurar por comandos que eu não sei o nome de pesquisando as descrições de homem para várias palavras-chave usando AND (por exemplo, procurar por um comando contendo as duas palavras "criar" e "grupo" na descrição).

Então me deparei com o comando apropos (que é um apelido para man -k). O comportamento padrão quando recebe várias palavras-chave é retornar qualquer comando que corresponda a qualquer uma das palavras-chave, o que não é o que eu quero. De acordo com a página do manual, a opção -a especifica o uso de AND para retornar correspondências apenas quando todas as palavras corresponderem.

Mas isso não é o que estou vendo na prática, então preciso de ajuda aqui - por exemplo, usando o Centos 7, se eu fizer:

apropos create user

Eu vejo uma lista enorme de comandos, aparentemente correspondendo a qualquer comando com create ou user na descrição, como esperado. Observando a lista inclui uma entrada para o comando ' useradd (8) - criar um novo usuário ... '.

Se eu fizer:

apropos -a create user

Eu só recebo 2 comandos (environ e open). Isto é o que eu estou confuso por - eu esperaria que ele retornasse o comando 'useradd (8) - crie um novo usuário', porque eu posso ver na pesquisa anterior que o comando contém essas palavras na descrição. Além disso, os dois comandos retornados não parecem ser nada sobre a criação de usuários. O que estou fazendo de errado? Tenho certeza de que é algo embaraçosamente óbvio, por isso peço desculpas antecipadamente.

Obrigado

    
por James Allen 25.06.2015 / 19:20

1 resposta

2

O comando apropos lê de um cache. É possível que as man pages recém-instaladas ainda não sejam referenciadas nesse cache. Geralmente, o cache é atualizado após a instalação de cada pacote ou em uma tarefa cron, não sei como está configurado no CentOS.

Para atualizar o cache, execute mandb . Pode haver uma maneira preferida de executá-lo em sua distribuição (por exemplo, como um usuário dedicado), ver se você tem uma entrada crontab do sistema (por exemplo, /etc/cron.daily/man-db ou uma linha em /etc/crontab ) e, se o fizer, execute isso em vez de chamando mandb diretamente.

    
por 26.06.2015 / 03:29