Find

=============================================================================== find (CLL p. 178, LGAS2ed 49) >find |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #### Descrição: - Procura arquivos no disco rígido. #### Sintaxe do Comando find: find [caminho] [expressão] |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #### Exemplos: (Examples) ### Para pesquisar por links simbólicos: find -L -type l ### Para pesquisar por links simbólicos quebrados (broken symbolic links) find -L -type l ### Para descobrir a versão do comando find: find --version ### Para procurar por arquivos que terminam o nome com .conf: find / -name "*.conf" |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ### Para pesquisar por arquivos que terminam com ~ find ./ -iname '*~' ### Para pesquisar por arquivos que terminam com ~ e apagá-los: find ./ -iname '*~' -exec rm -v {} \; http://superuser.com/questions/204564/how-can-i-find-files-that-are-bigger-smaller-than-x-bytes find. -type f -size +100M |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Tags: linux apagar diretórios vazios) (Fonte: http://francival.wordpress.com/2011/07/20/apagar-diretorios-vazios-no-linux/) (Fonte: http://www.tvieira.net/linux/deletar-arquivos-e-diretorios-vazios/) #### Deletar Arquivos e Diretórios Vazios. ### Buscar e deletar arquivos e pastas vazias: find. -empty -exec rm -ri {} \; (http://www.cyberciti.biz/faq/howto-find-delete-empty-directories-files-in-unix-linux) ### Find and delete everything with find command only: find /path/to/dir -empty -type d -delete ### Para procurar arquivos que começam o nome por "res" e terminam com .conf: find / -name "res*.conf" ### Para encontrar arquivos com menos de dois dias de ACESSO ## ou seja, que foram acessados nestes dois últimos dias: find. -atime -2 |<<<<<<<<<<<<<< ==== find ==== ### Para encontrar arquivos com mais de dois dias de MODIFICAÇÃO (MODIFY): find. -mtime +2 ### Para encontrar arquivos com mais de dois dias de MODIFICAÇÂO (CHANGE) find. -ctime +2 |<<<<<<<<<<<<<< ==== find ==== ### Para procurar arquivos com o bit suid setado: find / -perm -4000 ### Para procurar arquivos com o bit sgid setado: find / -perm -2000 ## Procura por arquivos com permissões especiais: # -or – ou find / -perm -4000 -or -perm -2000 ### Para procurar arquivos maiores que 5 MB: find. -size +5M ### Para procurar arquivos menores que 15 MB: find. -size -15M ↑-- Exemplos |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ### Para pesquisar determinandos arquivos e apagar ao encontrar: find ./ -iname "*_kfreebsd-*.deb*" -exec rm -v {} \; ### Para pesquisar arquivos com o nome .DS_Store e apagar ao encontrar: find ./ -name .DS_Store -exec rm -v {} \; #### Para pesquisador por tipo de arquivos: ### Para pesquisar por tipo de arquivo do tipo "arquivo normal": find. -type f |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #### Expressões: # -atime – # -print – Exibe o nome dos arquivos encontrados # -size – Procura arquivos pelo tamanho definido; # -type x – Procura arquivos do tipo especificado, onde x é um dos seguintes: # f – Arquivos (Files) # d – Diretórios # l – Links Simbólicos # b – Dispositivos de Bloco # c – Dispositivos de caractere # p – Pipe |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ##### Troubleshooting: #### Erros conhecidos: (Known Errors) ——————————————————————————————————————————————————————————————————————————————— ### Erros conhecidos: (Known Errors) [Resolvido] [Solved] ## Questão/Problema: (Question/Issue) Aparece erro ao digitar o comando: find. -maxdepth 1 -mtime +2 -exec ls -l {}\; ## Erro: (Error) find. -maxdepth 1 -mtime +2 -exec ls -l {}\; find: missing argument to ‘-exec’ ## Causa: (Cause) O erro acontece porque faltou o espaço entre } e \ ## Solução: (Solution) find. -maxdepth 1 -mtime +2 -exec ls -l {} \; |———————————————————————————————————————————————————————————————————————————––| find: missing argument to `-exec' Faltou colocar o \ no final do comando find |<<<<<<<<<<<<<< ==== find ==== >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <find |==========^ find ============================================================|
 * Comandos DescPag