Como procurar em todo o sistema (Linux) por uma string específica?

4

Eu preciso encontrar essa string:

7z a -p

Eu tentei:

grep -iR "7z a -p" /

Mas parece que demora um pouco, com muito:

grep: /sys/class/vc/vcs5/power/autosuspend_delay_ms: Input/output error
grep: warning: /sys/class/vc/vcsa5/subsystem: recursive directory loop
grep: /sys/class/vc/vcsa5/power/autosuspend_delay_ms: Input/output error
grep: warning: /sys/class/vc/vcs6/subsystem: recursive directory loop

EDIT - No entanto, isso parece apenas olhar para arquivos de texto estáticos. Além disso, que sobre áreas de tempo de execução, memória e processos? ou seja, todo o sistema? eg para o mysql:

ps aux | grep "mysql -u user -p"

mostra:

38164  4292 pts/0    S+   13:16   0:00 mysql -uodbcuser -px xxxxxxxx

Curiosamente, o ps aux esconde a senha com xxxxx. Eu posso tentar com o 7zip, mas é bem rápido, ele tem que estar rodando ao mesmo tempo que você executa o comando ps aux para "pegá-lo".

    
por user127379 07.06.2013 / 14:28

3 respostas

8

Você deve excluir diretórios como /sys/ , /proc/ e /dev/ do seu comando:

grep -iR --exclude-dir='/sys' --exclude-dir='/proc' --exclude-dir='/dev' "7z a -p" / 
    
por 07.06.2013 / 14:38
1

Presumivelmente, essa string está em um arquivo de script. Você pode tentar ack (também conhecido como ack-grep ).

Ele selecionará automaticamente apenas os arquivos de script e de código-fonte, mas você poderá pesquisar todos os arquivos com a opção -a (na versão 1). Na versão 2, todos os arquivos não binários são pesquisados por padrão.

Você pode especificar diretórios para ignorar ou para a pesquisa se concentrar ou ignorar determinados tipos de arquivos.

--[no]ignore-dir=name
--[no]elisp        .el
--[no]erlang       .erl .hrl
--[no]fortran      .f .f77 .f90 .f95 .f03 .for .ftn .fpp
for a few examples

Existem muitas opções que são iguais às do GNU grep , então elas serão familiares.

O sistema de filtragem incorporado é muito poderoso e configurável. Devido à filtragem, as pesquisas podem ser significativamente mais rápidas do que as que usam grep .

Instalação não poderia ser mais simples.

documentação

    
por 07.06.2013 / 15:57
1

Você pode errar erros com

grep -iR "7z a -p" / 2 > / dev / null

    
por 07.06.2013 / 16:31

Tags