{"id":32,"date":"2007-06-18T18:20:10","date_gmt":"2007-06-18T16:20:10","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=32"},"modified":"2007-06-18T18:20:10","modified_gmt":"2007-06-18T16:20:10","slug":"praxis-tipps-find","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=32","title":{"rendered":"praxis tipps: find"},"content":{"rendered":"<p>Obwohl das (GNU) <strong>find<\/strong> Kommando wirklich ein alter Hut ist, lohnt es sich zumindest f\u00fcr mich nochmal die wichtigsten Features zusammenzufassen:<\/p>\n<dl>\n<dt>-ctime n<\/dt>\n<dd>findet Dateien die <em>genau<\/em> n-Tage alt sind. Sollen Dateien gefunden werden die j\u00fcnger als n sind, muss dem n ein Minuszeichen vorangestellt werden. Ein vorangestelltes Pluszeichen findet dementsprechend Dateien die \u00e4lter als n-Tage sind. An dieser Stelle kann ruhig nochmal erw\u00e4hnt werden, dass ctime die Change Time und damit das prim\u00e4re Datum einer Datei auf einem POSIX kompatiblen Rechner darstellt. Daneben g\u00e4be es noch die atime (Access Time) und mtime (Modification Time) die eine \u00c4nderung des inode-Eintrages darstellt (&#8230;nein &#8211; eine Create Time gibt es tats\u00e4chlich unter POSIX nicht).<\/dd>\n<dt>-perm BITS<\/dt>\n<dd>Sucht nach Dateien die genau dem Oktalmuster BITS entsprechen, also bspw. &#8222;find -perm 0644&#8220;. Wenn man eine Auflistung von Dateien braucht die mindestens aber nicht nur ein bestimmte Rechtebits gesetzt haben stellt man ein Pluszeichen voran. Damit kann man recht einfach bspw. suid-Programme suchen: &#8222;find . -perm +4000&#8220;<\/dd>\n<dt>-user USERNAME \/ -nouser USERNAME<\/dt>\n<dd>Sucht Dateien die USERNAME geh\u00f6ren oder eben nicht (-nouser)<\/dd>\n<dt>-group GROUPNAME \/ -nogroup GROUPNAME<\/dt>\n<dd>Sucht Dateien deren Gruppenzugeh\u00f6rigkeit GROUPNAME ist oder eben nicht (-nogroup)<\/dd>\n<dt>-maxdepth n<\/dt>\n<dd>das GNU find Kommando sucht automatisch rekursiv nach unten den Verzeichnisbaum durch. Wenn man das nicht m\u00f6chte (bspw. im Zusammenhang mit einem kombinierten cp-Befehl) begrenzt man die Verzeichnistiefe in der find sucht mit dem Parameter n<\/dd>\n<dt>-iname NAME<\/dt>\n<dd>sucht nach einem Namens(muster) und ignoriert Gro\u00df- und Kleinschreibung. Ansonsten analog <em>-name<\/em><\/dd>\n<\/dl>\n<p>Dar\u00fcber hinaus liegt die St\u00e4rke von find v.a. im Zusammenhang mit gekoppelten Kommandos durch den <strong>-exec<\/strong> Parameter.<\/p>\n<pre>find \/ -perm +4000 -exec chmod u-s {} ;<\/pre>\n<p>nimmt das suid-bit aus allen gefundenen suid-Programmen heraus ..was nicht unbedingt sinnvoll ist \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Obwohl das (GNU) find Kommando wirklich ein alter Hut ist, lohnt es sich zumindest f\u00fcr mich nochmal die wichtigsten Features zusammenzufassen: -ctime n findet Dateien die genau n-Tage alt sind. Sollen Dateien gefunden werden die j\u00fcnger als n sind, muss dem n ein Minuszeichen vorangestellt werden. Ein vorangestelltes Pluszeichen findet dementsprechend Dateien die \u00e4lter als &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=32\" class=\"more-link\"><span class=\"screen-reader-text\">praxis tipps: find<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-32","post","type-post","status-publish","format-standard","hentry","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/32","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=32"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/32\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=32"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}