{"id":2881,"date":"2014-09-02T20:48:11","date_gmt":"2014-09-02T20:48:11","guid":{"rendered":"http:\/\/www.deuzebranaweb.com.br\/?p=2881"},"modified":"2014-09-02T20:48:11","modified_gmt":"2014-09-02T20:48:11","slug":"aprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find","status":"publish","type":"post","link":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/2014\/09\/02\/aprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find\/","title":{"rendered":"Aprenda a \u201cencontrar coisas\u201d pelo terminal Linux, com o comando FIND"},"content":{"rendered":"<div class=\"post-heading\">\n<h1>Aprenda a \u201cencontrar coisas\u201d pelo terminal Linux, com o comando FIND<\/h1>\n<p><span class=\"heading-author\">Vin\u00edcius Vieira<\/span> <span class=\"heading-date\">31\/07\/2013<\/span> <span class=\"heading-comments\"><a title=\"Coment\u00e1rio para Aprenda a \u201cencontrar coisas\u201d pelo terminal Linux, com o comando FIND\" href=\"http:\/\/sejalivre.org\/aprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find\/#comments\"><span class=\"dsq-postid\">1<\/span><\/a><\/span><\/div>\n<div class=\"post-thumb\"><a class=\"lightbox cboxElement\" href=\"http:\/\/cdn.sejalivre.org\/uploads\/2012\/01\/dicasLPI.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/cdn.sejalivre.org\/uploads\/2012\/01\/dicasLPI.png\" alt=\"Aprenda a \u201cencontrar coisas\u201d pelo terminal Linux, com o comando FIND\" width=\"620\" height=\"250\" \/><\/a><\/div>\n<div class=\"addtoany_share_save_container addtoany_content_top\">\n<div id=\"\" class=\"a2a_kit a2a_kit_size_32 addtoany_list a2a_target\" style=\"line-height: 32px;\"><a class=\"a2a_dd addtoany_share_save\" href=\"http:\/\/www.addtoany.com\/share_save#url=http%3A%2F%2Fsejalivre.org%2Faprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find%2F&amp;title=Aprenda%20a%20%E2%80%9Cencontrar%20coisas%E2%80%9D%20pelo%20terminal%20Linux%2C%20com%20o%20comando%20FIND&amp;description=No%20post%20de%20hoje%20vamos%20abordar%20o%20uso%20do%20comando%20find.%20Ele%20%C3%A9%20um%20incr%C3%ADvel%20software%20de%20terminal%20que%20tem%20por%20finalidade%20%22encontrar%20coisas%22%20no%20nosso%20sistema.%20Vamos%20l%C3%A1%3F\"><img decoding=\"async\" src=\"http:\/\/sejalivre.org\/wp-content\/uploads\/2011\/09\/botao_compartilhe.jpg\" alt=\"Share\" \/><\/a><\/div>\n<\/div>\n<p><a href=\"http:\/\/www.designbits.com.br\/suporte-em-ti\/\" target=\"_blank\"><img decoding=\"async\" class=\"aligncenter wp-image-21051 size-full\" title=\"Designbits Networks\" src=\"http:\/\/cdn.sejalivre.org\/uploads\/2014\/06\/banner.gif\" alt=\"banner\" width=\"600\" height=\"100\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">No post de hoje vamos abordar o uso do comando <strong>find<\/strong>. Ele \u00e9 um incr\u00edvel software de terminal que tem por finalidade \u201cencontrar coisas\u201d no nosso sistema. Vamos l\u00e1?<\/p>\n<p>Antes de mais nada, vamos consultar o manual do comando. Abra seu terminal Linux e digite:<\/p>\n<blockquote><p>man find<\/p><\/blockquote>\n<p>E voc\u00ea encontrar\u00e1 uma infinidade de op\u00e7\u00f5es de uso pra esse comando. Por\u00e9m vamos nos ater a sintaxe de uso dele:<\/p>\n<blockquote><p>find &lt;in\u00edcio da busca&gt; [condi\u00e7\u00f5es] \u00a0{a\u00e7\u00f5es}<\/p><\/blockquote>\n<p style=\"text-align: justify;\">O uso b\u00e1sico do <strong>find<\/strong> \u00e9 como o exemplo acima. Iremos chamar o <strong>find<\/strong>, diremos o ponto de partida da busca que queremos realizar (se \u00e9 dentro do \/home, do \/var ou de qualquer outro lugar), as condi\u00e7\u00f5es da nossa busca (se \u00e9 um arquivo, se \u00e9 um execut\u00e1vel, se foi modificado \u00e0 partir de quando e etc) e as a\u00e7\u00f5es (o que queremos buscar).<\/p>\n<h2><span style=\"color: #ff6600;\">Exemplo 1 \u2013 Encontrando arquivos e diret\u00f3rios com base nos seus nomes<\/span><\/h2>\n<p>Vamos a um exemplo b\u00e1sico. Abaixo iremos realizar uma busca em nosso sistema de coisas (arquivos e diret\u00f3rios) que contenham o nome \u201cinterfaces\u201d:<\/p>\n<blockquote><p>find \/ -iname interfaces<\/p><\/blockquote>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-19751\" src=\"http:\/\/cdn.sejalivre.org\/uploads\/2013\/07\/find.jpg\" alt=\"find\" width=\"479\" height=\"114\" \/><\/p>\n<p>Neste exemplo usamos a condi\u00e7\u00e3o \u201c-iname\u201d, que retorna resultados independente de mai\u00fasculas e min\u00fasculas.<\/p>\n<h2><span style=\"color: #ff6600;\">Exemplo 2 \u2013 Encontrando arquivos e diret\u00f3rios com permiss\u00e3o 777<\/span><\/h2>\n<blockquote><p>find \/ -perm 777<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19752\" src=\"http:\/\/cdn.sejalivre.org\/uploads\/2013\/07\/find1.jpg\" alt=\"find1\" width=\"492\" height=\"148\" \/><\/p>\n<p style=\"text-align: justify;\">Note que nos dois exemplos acima n\u00f3s partimos nossas buscas do diret\u00f3rio raiz \u201c\/\u201d. No pr\u00f3ximo exemplo n\u00f3s veremos outras op\u00e7\u00f5es de ponto de partida.<\/p>\n<h2><span style=\"color: #ff6600;\">Exemplo 3 \u2013 Encontrando arquivos \u00e0 partir de um local espec\u00edfico, que tenham permiss\u00e3o 644<\/span><\/h2>\n<blockquote><p>find \/root -type f\u00a0 perm 644<\/p><\/blockquote>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-19753\" src=\"http:\/\/cdn.sejalivre.org\/uploads\/2013\/07\/find2.jpg\" alt=\"find2\" width=\"532\" height=\"126\" \/><\/p>\n<p style=\"text-align: justify;\">Neste exemplo partimos nossa busca do diret\u00f3rio \/root e dizemos que queremos buscar SOMENTE POR ARQUIVOS (-type f). Se quis\u00e9ssemos buscar por diret\u00f3rio somente, usar\u00edamos -type d:<\/p>\n<blockquote><p>find \/root\u00a0 -type d<\/p><\/blockquote>\n<p>E se busc\u00e1ssemos por links simb\u00f3licos, usar\u00edamos:<\/p>\n<blockquote><p>\u00a0find \/home\u00a0 -type l<\/p><\/blockquote>\n<h2><span style=\"color: #ff6600;\">Exemplo 4 \u2013 Buscar arquivos com base no seu tamanho<\/span><\/h2>\n<blockquote><p>find \/home -size +1 G<\/p><\/blockquote>\n<p>O comando acima ir\u00e1 encontrar todos os arquivos em \/home que s\u00e3o maiores que 1GB.<\/p>\n<p>Se quisermos buscar arquivos com EXATAMENTE 1GB, usaremos:<\/p>\n<blockquote><p>find \/home -size 1G<\/p><\/blockquote>\n<p>Ou inferiores a 1GB:<\/p>\n<blockquote><p>find \/home -size -1G<\/p><\/blockquote>\n<h2><span style=\"color: #ff6600;\">Exemplo 5 \u2013 Executar comando ap\u00f3s encontrar coisas<\/span><\/h2>\n<p>Essa op\u00e7\u00e3o \u00e9 muito bacana. O find consegue encontrar algo pra ti e executar algum comando em cima da sua busca! Vamos a sintaxe:<\/p>\n<blockquote><p>\u00a0find &lt;onde buscar&gt; &lt;op\u00e7\u00f5es&gt; -exec &lt;comando&gt; {} \\;<\/p><\/blockquote>\n<p>Como exemplo, iremos buscar\u00a0todos os arquivos que t\u00eam permiss\u00e3o 644\u00a0e fazer a lista deles, usando o comando ls -l<\/p>\n<blockquote><p>find \/ -perm 644 -exec ls -l {} \\;<\/p><\/blockquote>\n<p>Ou podemos buscar todos os arquivos <strong>. mp3 <\/strong>(por exemplo)\u00a0e remov\u00ea-lo \u201c<\/p>\n<blockquote><p>find \/ -name \u201c*.mp3\u2033\u00a0 -exec rm -rf {} \\;<\/p><\/blockquote>\n<h2><span style=\"color: #ff6600;\">Exemplo 6 \u2013 Buscando arquivos com base na data de modifica\u00e7\u00e3o ou acesso<\/span><\/h2>\n<p style=\"text-align: justify;\">Este exemplo \u00e9 muito importante, inclusive \u00e9 muito utilizado por analistas de seguran\u00e7a quando realizam per\u00edcias forenses em sistemas Linux, a fim de buscar poss\u00edveis altera\u00e7\u00f5es indesejadas. Vamos ao exemplo:<\/p>\n<p>Localizar arquivos no diret\u00f3rio \/home que foram modificados a mais de 60 dias atr\u00e1s.<\/p>\n<blockquote><p>find \/home -mtime +60<\/p><\/blockquote>\n<p>Encontrar os arquivos no diret\u00f3rio \/var\/spool que foram acessados \u200b\u200bpelo menos h\u00e1 dois dias atr\u00e1s<\/p>\n<blockquote><p>find \/var\/spool -atime +1<\/p><\/blockquote>\n<h2><span style=\"color: #ff6600;\">Exemplo 7 \u2013 Encontrar todos os arquivos e diret\u00f3rios vazios no diret\u00f3rio raiz \u201c\/\u201d<\/span><\/h2>\n<blockquote><p>find \/ -empty<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #ff6600;\">Conclus\u00e3o<\/span><\/h2>\n<p style=\"text-align: justify;\">A nossa inten\u00e7\u00e3o aqui foi dar um \u201cponta-p\u00e9 inicial\u201d no estudo deste comando.\u00a0Existem in\u00fameras outras op\u00e7\u00f5es de uso do comando find, que voc\u00ea pode verificar lendo o manual do comando (man find).<\/p>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">http:\/\/sejalivre.org\/aprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aprenda a \u201cencontrar coisas\u201d pelo terminal Linux, com o comando FIND Vin\u00edcius Vieira 31\/07\/2013 1 No post de hoje vamos abordar o uso do comando find. Ele \u00e9 um incr\u00edvel software de terminal que tem por finalidade \u201cencontrar coisas\u201d no nosso sistema. Vamos l\u00e1? Antes&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_angie_page":false,"page_builder":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-2881","post","type-post","status-publish","format-standard","hentry","category-comandos-linux"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=2881"}],"version-history":[{"count":0,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2881\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}