Links Patrocinados

Como localizar arquivos com o comando Find

Quantas vezes tentamos encontrar algo específico em que não conseguimos quando usamos o comando Locate?


Pensando nisso, fiz um pequeno tutorial que é muito funcional, para ajudar os usuários a encontrar os arquivos que procuram nos sistemas GNU/Linux através de linhas de comando.

Em sistemas *nix, uma ferramenta de enorme funcionalidade é o comando find.

O comando find é extremamente poderoso e flexível para descobrir arquivos que atendem a determinadas especificações.

O comando find aceita diversas diretivas que lhe instruem sobre o que pesquisar em um sistema de arquivos. Arquivos maiores que um tamanho pré-determinado, que tenham sido modificados ou acessados até determinada data, etc.

Por isso estamos disponibilizando estas pequenas dicas de como pode-se utilizar o comando find.

Aqui estão alguns dos exemplos mais básicos:

Para procurar arquivos que contenham determinados conteúdos, por exemplo, procurar os arquivos que tenham o nome root dentro do diretório /etc.
find /etc -type f | xargs grep root

Para remover arquivos indesejáveis utilizando o find, como o core, digite o comando do exemplo abaixo.
find . -name core -exec rm {} ;

Procura arquivos em todos os subdiretórios com a extensão .txt
find . -name "*.txt"

Procura arquivos em toda a arvore com extensão .txt
find / -name .txt

Procura arquivos em todos os subdiretórios com extensão .txt e os apaga.
find . -name "*.txt" -exec rm -f {} ;

Procura arquivos em todos os subdiretórios com extensão .txt e os apaga, pedindo confirmação um por vez.
find . -name "*.txt" -ok rm -f {} ;

O exemplo apresentado abaixo é direcionado para algo específico:

Por exemplo, suponhamos que queiramos descobrir todos os arquivos que não possuem dono em nosso sistema. Esta situação é extremamente comum, visto que usuários são criados e apagados diariamente e ficam vagando pelo sistema e podem eventualmente vir a comprometer a segurança. O comando abaixo irá gerar uma listagem com todos os arquivos do sistema que não pertencem a ninguém.
find / -nouser -print

Caso queiramos simplesmente apagar estes arquivos (não recomendável!!!) basta redirecionar a saída deste comando para o comando xargs, da seguinte forma:
find / -nouser -print | xargs rm

O mais recomendável é gerar um backup destes arquivos, para em seguida apagá-los:
find . -cpio /dev/rmt0 -nouser

Para restaurar estes arquivos
cpio -idmv < /dev/rmt0

O comando cpio, a exemplo do comando find, é extremamente poderoso e flexível.

Estes são apenas uns pequenos exemplos do que se pode fazer com o find.

Roberto Rocha



Favoritos Google Bookmarks Digg Stumbleupon Technorati Del.icio.us Twitter Squidoo MySpace Facebook Reddit Slashdot Propeller Myweb2 Search Yahoo Favorites My AOL Multiply Favorites Live Bookmarks Yahoo Fark MyJeeves Ask Sphinn MetaFilter Mixx Furl BlinkList Indianpad Newsvine KillerStartups DZone Megite Stories Swik Faves Ma.Gnolia Mister-Wong BlinkBits Shoutwire Thisnext Simpy Diigo Spurl Netvouz Corank Backflip Dealigg Bibsonomy Designfloat Citeulike Searchles Lipstick DanceWithShadows Connotea Plugim Linkagogo SK-RT Hemidemi Wists Ideas Mailtrust Rambhai Dropjack Tailrank Buddymarks Thoof Postonfire Answers Psychcentral Tewfiq Byethost7 Teenwag
 

Pesquisa

Usuários Online

Nós temos 324 visitantes online

Links Patrocinados