404 Not Found


nginx
{"id":11115,"date":"2016-06-27T10:57:42","date_gmt":"2016-06-27T13:57:42","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=11115"},"modified":"2016-06-27T11:01:09","modified_gmt":"2016-06-27T14:01:09","slug":"35-usos-praticos-do-comando-find","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2016\/06\/27\/35-usos-praticos-do-comando-find","title":{"rendered":"35 Usos Pr\u00e1ticos do Comando Find"},"content":{"rendered":"

Ol\u00e1 pessoal.<\/p>\n

N\u00e3o tem como memorizar todos os comandos do Linux de uma vez s\u00f3. Ent\u00e3o o melhor a fazer \u00e9 pesquisar e documentar, para que possamos consultar depois, quando n\u00e3o nos lembrarmos de algum comando, ou par\u00e2metro.<\/p>\n

Hoje aqui vou abordar o uso do comando find. Se voc\u00ea deseja ver o manual completo do find, basta digitar “man find”<\/strong> no terminal e ele mostrar\u00e1 o manual da ferramenta. Achei\u00a0no site do\u00a0tecmint<\/a>, um bom resumo de 35 usos deste comando e vou repassar aqui. S\u00e3o\u00a0exemplos pr\u00e1ticos do uso do find.<\/p>\n

Sobre o Find<\/h3>\n

O comando find<\/strong>\u00a0\u00e9 um dos comandos usados mais importantes no Linux. Ele\u00a0<\/strong>\u00e9 usado para pesquisar e listar arquivos e diret\u00f3rios com base nas condi\u00e7\u00f5es especificadas. O find\u00a0pode ser usado com uma variedade de condi\u00e7\u00f5es, como encontrar arquivos por permiss\u00f5es<\/strong>, usu\u00e1rios<\/strong>, grupos<\/strong>, tipo de arquivo<\/strong>, data<\/strong>, tamanho<\/strong> e outros crit\u00e9rios poss\u00edveis.
\n<\/a><\/p>\n

Ele pode tamb\u00e9m filtrar os resultados e ent\u00e3o realizar uma a\u00e7\u00e3o sobre os arquivos encontrados, como por exemplo encontrar e excluir ou copiar<\/strong> ou fazer o que voc\u00ea desejar.<\/p>\n

Para\u00a0mostrar os 35 comandos\u00a0find<\/strong> mais usados.\u00a0Dividi a se\u00e7\u00e3o em cinco partes.
\n<\/span><\/p>\n

    \n
  1. Parte I<\/strong>: Encontrar arquivos pelos\u00a0nomes<\/li>\n
  2. Parte II<\/strong>: Encontrar arquivos com base em suas permiss\u00f5es<\/li>\n
  3. Parte III<\/strong>: Encontrar\u00a0arquivos com base em Usu\u00e1rios\u00a0e Grupos<\/li>\n
  4. Parte IV<\/strong>: Encontrar\u00a0arquivos e diret\u00f3rios com base na data e hora<\/li>\n
  5. Parte V<\/strong>: Encontrar\u00a0arquivos e diret\u00f3rios com base no tamanho<\/li>\n<\/ol>\n

    Parte I – Encontrar Arquivos Pelos\u00a0Nomes<\/h2>\n

    Obs. Para voc\u00ea fazer esses exerc\u00edcios na sua casa, precisar\u00e1 ter os mesmos arquivos de teste que usaremos aqui. Se preferir cri\u00e1-los para reproduzir melhor o exerc\u00edcio, seria interessante.\u00a0Eu faria isso com o comando touch para arquivos e mkdir para pastas.<\/p>\n

    touch receita.txt\u00a0Receita.txt receita.php login.php index.php\r\nmkdir Receita<\/pre>\n

    1. Encontre arquivos usando o nome na pasta atual<\/h4>\n

    Localizar todos os arquivos cujo nome \u00e9 receita.txt na pasta\u00a0de trabalho atual.<\/p>\n

    find . -name receita.txt<\/strong>\r\n\r\n.\/receita.txt<\/pre>\n

    2. Encontrar arquivos no diret\u00f3rio\u00a0home<\/h4>\n

    Localizar todos os arquivos dentro da pasta\u00a0\/home<\/strong>\u00a0 com o nome receita<\/strong>.txt<\/strong> .<\/p>\n

    find \/home -name receita.txt<\/strong>\r\n\r\n\/home\/receita.txt<\/pre>\n

    3. Localizar arquivos usando o nome e Ignorando o “case” (mai\u00fasculas ou min\u00fasculas)<\/h4>\n

    <\/ins><\/center>Localizar todos os ficheiros cujo nome \u00e9 receita<\/strong>.txt<\/strong> e cont\u00e9m letras mai\u00fasculas e min\u00fasculas no diret\u00f3rio\u00a0\/home<\/strong>.<\/p>\n
    find \/home -iname receita.txt<\/strong>\r\n\r\n.\/receita.txt\r\n.\/Receita.txt<\/pre>\n

    4. Encontrar Diret\u00f3rios Usando Nome<\/h4>\n

    Localizar todos os diret\u00f3rios cujo nome \u00e9 receita<\/strong>\u00a0em \/<\/strong>.<\/p>\n

    find \/ -type d -name Receita<\/strong>\r\n\r\n\/Receita<\/pre>\n

    5. Localizar arquivos por formato. Ex: PHP<\/h4>\n

    Encontrar todos os arquivos\u00a0php<\/strong>\u00a0cujo nome \u00e9 receita.php no\u00a0diret\u00f3rio de trabalho atual.<\/p>\n

    find . -type f -name receita.php<\/strong>\r\n\r\n.\/receita.php<\/pre>\n

    6. Localizar todos os arquivos PHP no diret\u00f3rio<\/h4>\n

    Encontrar todos os arquivos php em um diret\u00f3rio.<\/p>\n

    find . -type f -name \"*.php\"<\/strong>\r\n\r\n.\/receita.php\r\n.\/login.php\r\n.\/index.php<\/pre>\n

    Parte II – Localizar Arquivos Com Base em suas Permiss\u00f5es<\/h2>\n

    Obs.<\/strong> Para saber mais sobre permiss\u00f5es comuns, e permiss\u00f5es especiais, tais como as SGID, SUID e STICKY, consulte este outro artigo abaixo<\/p>\n

    \"chmod\"<\/a><\/p>\n

    7. Localizar arquivos com permiss\u00f5es 777.<\/h4>\n
    find . -type f -perm 0777 -print<\/strong><\/pre>\n

    8. Encontre arquivos sem permiss\u00e3o 777.<\/h4>\n
    find \/ -type f ! -perm 777<\/strong><\/pre>\n

    9. Localizar arquivos SGID com permiss\u00f5es 664.<\/h4>\n
    find \/ -perm 2644<\/strong><\/pre>\n

    10. Localizar arquivos “Stick Bit” com permiss\u00f5es 551.<\/h4>\n
    find \/ -perm 1551<\/strong><\/pre>\n

    11. Encontrar arquivos SUID.<\/h4>\n
    find \/ -perm \/u=s<\/strong><\/pre>\n

    12. Encontrar arquivos SGID.<\/h4>\n

    Pesquisar os arquivos\u00a0SGID<\/strong>\u00a0.<\/p>\n

    find \/ -perm \/g=s<\/strong><\/pre>\n

    13. Encontre Leia arquivos somente<\/h4>\n

    Pesquisar os arquivos\u00a0somente leitura<\/strong>.<\/p>\n

    find \/ -perm \/u=r<\/strong><\/pre>\n

    14. Encontrar arquivos execut\u00e1veis<\/h4>\n

    Pesquisar os arquivos\u00a0execut\u00e1veis<\/strong>.<\/p>\n

    find \/ -perm \/a=x<\/strong><\/pre>\n

    15. Encontrar arquivos com 777 permiss\u00f5es e chmod para 644<\/h4>\n

    Encontrar todos os arquivos\u00a0de permiss\u00e3o 777\u00a0e usar comando\u00a0chmod<\/strong>\u00a0para definir as permiss\u00f5es para 644<\/strong>.<\/p>\n

    find \/ -type f -perm 0777 -print -exec chmod 644 {} \\;<\/strong><\/pre>\n

    16. Encontra Diret\u00f3rios com Permiss\u00f5es 777 e fazer chmod para 755<\/h4>\n

    Encontrar todos os diret\u00f3rios com permiss\u00e3o 777 e usar chmod<\/strong>\u00a0para definir as permiss\u00f5es para 755<\/strong> .<\/p>\n

    find \/ -type d -perm 777 -print -exec chmod 755 {} \\;<\/strong><\/pre>\n

    17. Encontrar e remover um \u00fanico arquivo<\/h4>\n

    Para encontrar um \u00fanico arquivo chamado receita.txt<\/strong> e remov\u00ea-lo.<\/p>\n

    find . -type f -name \"receita.txt\" -exec rm -f {} \\;<\/strong><\/pre>\n

    18. Encontrar e remover v\u00e1rios arquivos por extens\u00e3o<\/h4>\n

    Para localizar e remover v\u00e1rios arquivos, como .mp3<\/strong> ou .txt<\/strong> , em seguida, usar.<\/p>\n

    find . -type f -name \"*.txt\" -exec rm -f {} \\;<\/strong>\r\n\r\nOu\r\n\r\nfind . -type f -name \"*.mp3\" -exec rm -f {} \\;<\/strong><\/pre>\n

    19. Encontre todos os arquivos vazios<\/h4>\n

    Para encontrar todos os arquivos vazios sob certo caminho.<\/p>\n

    find \/tmp -type f -empty<\/strong><\/pre>\n

    20. Encontre todos os diret\u00f3rios vazios<\/h4>\n

    Para registrar todos os diret\u00f3rios vazios sob certo caminho.<\/p>\n

    find \/tmp -type d -empty<\/strong><\/pre>\n

    21. Arquivo todos os arquivos ocultos<\/h4>\n

    Para encontrar todos os arquivos ocultos, use o comando abaixo.<\/p>\n

    find \/tmp -type f -name \".*\"\r\n<\/strong><\/pre>\n

    Parte III – Localizar\u00a0arquivos com base em Propriet\u00e1rios e Grupos<\/h2>\n

    22. Encontre \u00fanico arquivo com base no usu\u00e1rio<\/h4>\n

    Para encontrar todos os arquivos ou um \u00fanico arquivo chamado receita.txt<\/strong>\u00a0dentro da raiz “\/”<\/p>\n

    find \/ -user root -name receita.txt<\/strong><\/pre>\n

    23. Localizar todos os arquivos com base no usu\u00e1rio<\/h4>\n

    Para encontrar todos os arquivos que pertence ao usu\u00e1rio cleuber<\/strong>\u00a0dentro da pasta\u00a0\/home<\/strong>.<\/p>\n

    find \/home -user cleuber<\/strong><\/pre>\n

    24. Encontre todos os arquivos com base em Grupo<\/h4>\n

    Para encontrar todos os arquivos que pertence ao grupo developer<\/strong>\u00a0dentro da pasta\u00a0\/home<\/strong>.<\/p>\n

    find \/home -group developer<\/strong><\/pre>\n

    25. Localizar arquivos particulares de um usu\u00e1rio<\/h4>\n

    Para encontrar todos os arquivos\u00a0.txt<\/strong>\u00a0do usu\u00e1rio cleuber<\/strong>\u00a0na pasta\u00a0\/home<\/strong>.<\/p>\n

    find \/home -user tecmint -iname \"*.txt\"<\/strong><\/pre>\n

    Parte IV – Localizar arquivos e diret\u00f3rios com base na data e hora<\/h2>\n

    26. Encontre as \u00faltimas 50 Dias arquivos modificados<\/h4>\n

    Para encontrar todos os arquivos que s\u00e3o modificados 50<\/strong> dias atr\u00e1s.<\/p>\n

    find \/ -mtime 50<\/strong><\/pre>\n

    27. Encontre arquivos acessados\u00a0nos \u00faltimos 50 dias<\/h4>\n

    Para encontrar todos os arquivos que foram\u00a0acessados at\u00e9\u00a050<\/strong> dias atr\u00e1s.<\/p>\n

    find \/ -atime 50<\/strong><\/pre>\n

    28. Encontre os arquivos modificados entre 50 a 100 dias atr\u00e1s<\/h4>\n

    Para encontrar todos os arquivos que foram\u00a0modificados mais de 50<\/strong> dias para tr\u00e1s e menos de 100<\/strong> dias.<\/p>\n

    find \/ -mtime +50 -mtime -100<\/strong><\/pre>\n

    29. Procurar arquivos alterados na \u00faltima hora<\/h4>\n

    Para encontrar todos os arquivos que foram\u00a0alterados na \u00faltima\u00a0hora<\/strong>.<\/p>\n

    find \/ -cmin -60<\/strong><\/pre>\n

    30. Procurar arquivos modificados na \u00faltima 1 hora<\/h4>\n

    Para encontrar todos os arquivos que foram\u00a0modificados na \u00faltima\u00a0hora<\/strong>.<\/p>\n

    find \/ -mmin -60<\/strong><\/pre>\n

    31. Procurar arquivos acessados na \u00faltima 1 hora<\/h4>\n

    Para encontrar todos os arquivos que foram\u00a0acessados pela \u00faltima vez na \u00faltima\u00a0hora<\/strong>.<\/p>\n

    find \/ -amin -60<\/strong><\/pre>\n

    Parte V – Localizar arquivos e diret\u00f3rios com base no tamanho<\/h2>\n

    32. Encontrar arquivos de 50MB<\/h4>\n
    find \/ -size 50M<\/strong><\/pre>\n

    33. Encontre arquivos de\u00a0tamanho entre 50MB a 100MB<\/h4>\n

    Para encontrar todos os arquivos que s\u00e3o maiores do que 50 MB<\/strong> e menores de 100 MB<\/strong>.<\/p>\n

    find \/ -size +50M -size -100M<\/strong><\/pre>\n

    34. Localizar e apagar arquivos de 100MB<\/h4>\n

    Para encontrar todos os arquivos de\u00a0100MB<\/strong>\u00a0e exclu\u00ed-los usando um \u00fanico comando.<\/p>\n

    find \/ -size +100M -exec rm -rf {} \\;<\/strong><\/pre>\n

    35. Procurar arquivos espec\u00edficos e Excluir<\/h4>\n

    Pesquisar os arquivos de extens\u00e3o\u00a0.mp3<\/strong>\u00a0com mais de 2MB<\/strong> e exclu\u00ed-los usando um \u00fanico comando.<\/p>\n

    find \/ -type f -name *.mp3 -size +2M -exec rm {} \\;<\/strong><\/pre>\n

    <\/h3>\n

    Conclus\u00e3o<\/h3>\n

    Estes comandos find s\u00e3o extremamente \u00fateis e com certeza em algum momento voc\u00ea precisar\u00e1 muito deles. Eu n\u00e3o usei outras a\u00e7\u00f5es do “-exec<\/strong>” aqui para os arquivos que foram encontrados, mas a sintaxe do exec para uma a\u00e7\u00e3o de c\u00f3pia, ap\u00f3s o comando find, por exemplo, seria:<\/p>\n

    -exec cp {} \/pasta-destino \\;<\/pre>\n

    Exemplo – Encontrar arquivos mp3 e copi\u00e1-los para a pasta \/tmp\/musicas:<\/p>\n

    find . -type f -name \"*.mp3\" -exec cp {} \/tmp\/musicas \\;<\/pre>\n

    E a mesma regra se aplica para o comando de mover (mv).<\/p>\n

    Para saber mais dos comandos de Linux, um outro artigo talvez possa ser \u00fatil.<\/p>\n

    Comandos B\u00e1sicos de Linux<\/span><\/span><\/a><\/h4>\n

    \"permissions\"<\/a><\/p>\n

    At\u00e9 a pr\u00f3xima!<\/p>\n

    Cleuber<\/p>\n","protected":false},"excerpt":{"rendered":"

    Ol\u00e1 pessoal. N\u00e3o tem como memorizar todos os comandos do Linux de uma vez s\u00f3. Ent\u00e3o o melhor a fazer \u00e9 pesquisar e documentar, para que possamos consultar depois, quando n\u00e3o nos lembrarmos de algum comando, ou par\u00e2metro. Hoje aqui vou abordar o uso do comando find. Se voc\u00ea deseja ver o manual completo do …<\/p>\n","protected":false},"author":1,"featured_media":11348,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[51,4,348],"tags":[615,588],"class_list":["post-11115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas-e-tutoriais","category-tutoriais-linux","category-servidores-linux","tag-comando","tag-find"],"_links":{"self":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/11115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=11115"}],"version-history":[{"count":0,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/11115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media\/11348"}],"wp:attachment":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=11115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=11115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=11115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}