find
Arquivos e diretórios
Uso
find [path] -name '[pattern]' -type fPercorre a árvore testando cada entrada; ponha o padrão entre aspas como -name '*.log', senão o shell o expande antes de find ver.
Opções comuns
| Opção | Significado |
|---|---|
| -name | Match the file name, case sensitive; -iname ignores case |
| -type | Restrict to f (file), d (directory) or l (symlink) |
| -size | Filter by size, as in -size +100M |
| -mtime | Filter by age in days, as in -mtime +7 |
| -maxdepth | Limit how deep to walk; GNU wants it before the tests |
| -delete | Delete every match, no confirmation |
| -exec | Run a command on each hit, ending with \; or + |
| -print0 | Separate results with NUL, to pair with xargs -0 |
Exemplos
find . -name '*.log' -mtime +7 -deleteDeletes log files older than a week.
find / -type f -size +1G 2>/dev/nullFinds files over a gigabyte, hiding permission errors.
find . -name '*.jpg' -exec mv {} photos/ +Moves every JPEG it finds.
Mover, apagar e encontrar. Alguns não perguntam duas vezes, e é por isso que -i vira hábito.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que find faz?
Percorre a árvore testando cada entrada; ponha o padrão entre aspas como -name '*.log', senão o shell o expande antes de find ver.
Q. Como se digita?
find [path] -name '[pattern]' -type f — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 8; a lista completa está em man find. Este comando fica em Arquivos e diretórios.
Comandos relacionados
página man: man find