{"id":181,"date":"2014-04-13T02:21:50","date_gmt":"2014-04-13T02:21:50","guid":{"rendered":"https:\/\/stevepedwards.today\/DebianAdmin\/?p=181"},"modified":"2025-07-03T17:27:10","modified_gmt":"2025-07-03T16:27:10","slug":"cool-command-2-find-with-exec-or-delete-or-pipe-to-xargs-rm-v","status":"publish","type":"post","link":"https:\/\/stevepedwards.today\/DebianAdmin\/cool-command-2-find-with-exec-or-delete-or-pipe-to-xargs-rm-v\/","title":{"rendered":"Cool Command #2, Find with -exec or -delete or pipe to xargs rm -v"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_181\" class=\"pvc_stats all  \" data-element-id=\"181\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p><span style=\"color: #0070c0;\">man find<\/span><\/p>\n<p><span style=\"color: red;\">FIND(1)<\/span><\/p>\n<p><span style=\"color: red;\">NAME<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> find - search for files in a directory hierarchy<\/span><\/p>\n<p><span style=\"color: red;\">SYNOPSIS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]<\/span><\/p>\n<p><span style=\"color: red;\">DESCRIPTION<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> This manual page documents the GNU version of find. GNU find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS), until the outcome is known (the left hand side is false for and operations, true for or), at which point find moves on to the next file name.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">If you are using find in an environment where security is important (for example if you are using it to search directories that are writable by other users), you should read the \"Security Considerations\" chapter of the findutils documentation, which is called Finding Files and comes with findutils. That document also includes a lot more detail and discussion than this manual page, so you may find it a more useful source of information.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">In most Linux commands, the form is usually in the order of:<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">CMD [OPTION]... [DIR\/FILE]...<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The <span style=\"color: #0070c0;\">find<\/span> cmd is unusual in that it has its options switches placed AFTER the DIR\/FILE to be searched e.g.<br \/>\n<\/span><\/p>\n<p><span style=\"color: #0070c0; font-size: 12pt;\">find \/home\/ -name libflashplayer.so<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">This will recursively search for a file named libflashplayer.so in the home directory, and finds it in my Downloads folder:<br \/>\n<\/span><\/p>\n<p>root@LinuxLaptop:~# <span style=\"color: #00b0f0;\">find \/home\/ -name libflashplayer.so<\/span><\/p>\n<p><span style=\"color: red;\">\/home\/stevee\/Downloads\/libflashplayer.so<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">So its default behaviour is to file search recursively with no switch required.<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">A very useful addition can be made to this command by adding the -exec command switch, a program in its own right, who's description is a bit cryptic:<br \/>\n<\/span><\/p>\n<p><span style=\"color: #0070c0; font-size: 12pt;\">man exec<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">NAME<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> execl, execlp, execle, execv, execvp, execvpe - execute a file<\/span><\/p>\n<p><span style=\"color: red;\">SYNOPSIS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> #include &lt;unistd.h&gt;<\/span><\/p>\n<p><span style=\"color: red;\"> extern char **environ;<\/span><\/p>\n<p><span style=\"color: red;\"> int execl(const char *path, const char *arg, ...);<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> int execlp(const char *file, const char *arg, ...);<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> int execle(const char *path, const char *arg,<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> ..., char * const envp[]);<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> int execv(const char *path, char *const argv[]);<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> int execvp(const char *file, char *const argv[]);<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> int execvpe(const char *file, char *const argv[],<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> char *const envp[]);<\/span><\/p>\n<p><span style=\"color: red;\"> Feature Test Macro Requirements for glibc (see feature_test_macros(7)):<\/span><\/p>\n<p><span style=\"color: red;\"> execvpe(): _GNU_SOURCE<\/span><\/p>\n<p><span style=\"color: red;\">DESCRIPTION<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> The exec () family of functions replaces the current process image with<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> a new process image. The functions described in this manual page are<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> front-ends for execve(2). (See the manual page for execve(2) for fur\u00c3:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> ther details about the replacement of the current process image.)<\/span><\/p>\n<p><span style=\"color: red; font-size: 12pt;\"><strong> The initial argument for these functions is the name of a file that is\u00a0<\/strong><\/span><span style=\"color: red; font-size: 12pt;\"><strong>to be executed.<\/strong><\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The key thing to take from that is the execution of a \"file\" that follows it. In Linux, everything that is not a directory is a \"file\" even hardware, which gets virtualised as an alias. So, exec can start another program file. <\/span><\/p>\n<p><span style=\"color: #ffffff;\"><em>\"-exec command ;<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> Execute command; true if 0 status is returned. All following<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> arguments to find are taken to be arguments to the command until<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> an argument consisting of `;' is encountered. The string `{}'<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> is replaced by the current file name being processed everywhere<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> it occurs in the arguments to the command, not just in arguments<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> where it is alone, as in some versions of find. Both of these<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> constructions might need to be escaped (with a `\\') or quoted to<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> protect them from expansion by the shell. See the EXAMPLES sec<\/em><\/span><span style=\"color: #ffffff;\"><em>tion for examples of the use of the -exec option. The specified<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> command is run once for each matched file. The command is exe<\/em><\/span><span style=\"color: #ffffff;\"><em>cuted in the starting directory. There are unavoidable secu<\/em><\/span><span style=\"color: #ffffff;\"><em>rity problems surrounding use of the -exec action; you should<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> use the -execdir option instead.<\/em><\/span><\/p>\n<p><span style=\"color: #ffffff;\"><em>-exec command {} +<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> This variant of the -exec action runs the specified command on<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> the selected files, but the command line is built by appending<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> each selected file name at the end; the total number of invoca\u00c3:<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> tions of the command will be much less than the number of<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> matched files. The command line is built in much the same way<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> that xargs builds its command lines. Only one instance of `{}'<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> is allowed within the command. The command is executed in the<\/em><\/span><br \/>\n<span style=\"color: #ffffff;\"><em> starting directory.\"<\/em><\/span><\/p>\n<p><span style=\"font-size: 12pt; line-height: 1.5em;\">For this example it starts the copy command (cp) which copies the file libflashplayer.so that <\/span><strong style=\"font-size: 12pt; line-height: 1.5em;\">find<\/strong><span style=\"font-size: 12pt; line-height: 1.5em;\"> found, and copies it elsewhere:<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><span style=\"color: #0070c0;\">find \/home\/ -name libflashplayer.so -exec cp -vt \/etc\/chromium\/plugins\/ {} +;<\/span><br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The cp cmd could be replaced with any other cmd like remove (rm) etc. So this makes this a useful line for housekeeping your backups etc.<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">I used it to finally sort out my messy \/Files subdirectories on my 1TB BU drive, by creating directories of all Windows files of a specific extension type - .doc, .docx, .rtf, .txt, .pdf, .PDF, jpg, .jpeg, .mp3, .mp4, .mov, .xls, .html, and any others I wanted to move to separate folders of the same type name, so they could be checked for content, then deleted to save space as required.<br \/>\n<\/span><\/p>\n<p>For multiple types by find alone, the format is:<\/p>\n<p><span style=\"color: #0000ff;\">find . -iname \"*.mp3\" -o -iname \"*.mp4\"<\/span> ...etc...<\/p>\n<p>This finds extra files that match any same letters in the name also, but gets the required extensions too:<\/p>\n<p><span style=\"color: #0000ff;\">find -type f | egrep '.*\\.(jpg|png|doc|docx|rtf|txt|pdf|jpg|jpeg|mp3|mp4|mov|xls|html)'<\/span><\/p>\n<p>.\/Documents\/MintCourse\/Day 5 Package Installation, AV, Backups\/Day 5 Package Installation, AV, Backups<span style=\"color: #ff0000;\">.pdf<\/span><br \/>\n<span style=\"color: #ff0000;\"><span style=\"color: #ffffff;\">.\/Cprogs\/converterprogideas<\/span>.txt<\/span><br \/>\n<span style=\"color: #ff0000;\"><span style=\"color: #ffffff;\">.\/.pki\/nssdb\/pkcs11<\/span>.txt<\/span><br \/>\n<span style=\"color: #ffffff;\">.\/Videos\/Rachel<span style=\"color: #ff0000;\">.mp4<\/span>.gpg<\/span><\/p>\n<p>To find all file types of mixed caps like .m4p and .M4P, use the -iname format instead of -name e.g.<\/p>\n<p><span style=\"color: #0000ff;\">find \/1500\/MP3 -iname *m4p -exec cp -vt \/1500\/M4P\/ {} +;<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">This took time but I plodded on, letting Linux sort it all out in the background as I did other things, by amending each line for each file type, over a day or two.<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Once done though, I could check through everything, finding some old useful\/important but forgotten documents in the process, and deleting the no longer relevant. The original messy folder containing all the mixed up originals could then be deleted saving a load of space.<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Once all the file types to be found and copied were decided on and folders created, the command was amended to find and copy them there using the wildcard *:<br \/>\n<\/span><\/p>\n<p><span style=\"color: #0070c0; font-size: 12pt;\">find \/Storebird\/Files -name *.pdf -exec cp -vt \/Storebird\/PDFs {} +;<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The -vt after cp is for \"verbose\" and \"to\" destination folder and the \"t\" MUST come last i.e. right before the destination folder, as \"-tv\" \/DestFolder does not work.<\/span><\/p>\n<p>Note, on search types like those containing UPPER and lower case letters, you can use the -iname switch to find ALL file types that end in either .pdf or PDF, or .doc and .DOC for example:<\/p>\n<p><span style=\"color: #0000ff;\">find \/Storebird\/PDF\/ -iname *PDF<\/span><\/p>\n<p><span style=\"color: #ff0000;\">\/Storebird\/PDF\/5.pdf<\/span><br \/>\n<span style=\"color: #ff0000;\">\/Storebird\/PDF\/514168_NIKOLA_TESLA.PDF<\/span><\/p>\n<p>Experiment with other examples using this syntax from the book TLCL-13.07.pdf by\u00a0William Shotts here:<\/p>\n<p><span style=\"color: #339966;\"><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2014\/04\/TLCL-13.07.pdf\"><span style=\"color: #339966;\">TLCL-13.07.pdf<\/span><\/a><\/span><\/p>\n<p>such as files\/dirs with whitespace for removal of spaces e.g.:<\/p>\n<p><span style=\"color: #0000ff;\">find \/Quadra\/MP3\/ -type f -name '*[[:blank:]]*' -exec rename \"s\/ \/\/g\" {} +;<\/span><\/p>\n<p><span style=\"color: #0000ff;\">find \/1500\/MP3\/ITunes\/ -type d -name \"*\\ *\"<\/span><\/p>\n<p><em>\"Table 4-1: Wildcards<\/em><br \/>\n<em>Wildcard Meaning<\/em><br \/>\n<em>* Matches any characters<\/em><br \/>\n<em>? Matches any single character<\/em><br \/>\n<em>[characters] Matches any character that is a member of the set characters <\/em><br \/>\n<em>[!characters] Matches any character that is not a member of the set <\/em><br \/>\n<em>characters<\/em><br \/>\n<em>[[:class:]] Matches any character that is a member of the specified class<\/em><br \/>\n<em>Table 4-2 lists the most commonly used character classes:<\/em><br \/>\n<em>Table 4-2: Commonly Used Character Classes<\/em><br \/>\n<em>Character Class Meaning<\/em><br \/>\n<em>[:alnum:] Matches any alphanumeric character<\/em><br \/>\n<em>[:alpha:] Matches any alphabetic character<\/em><br \/>\n<em>[:digit:] Matches any numeral<\/em><br \/>\n<em>[:lower:] Matches any lowercase letter<\/em><br \/>\n<em>[:upper:] Matches any uppercase letter<\/em><br \/>\n<em>Using wildcards makes it possible to construct very sophisticated selection criteria for <\/em><br \/>\n<em>filenames. Here are some examples of patterns and what they match:<\/em><br \/>\n<em>Table 4-3: Wildcard Examples<\/em><br \/>\n<em>Pattern Matches<\/em><br \/>\n<em>* All files<\/em><br \/>\n<em>g* Any file beginning with g<\/em><br \/>\n<em>b*.txt Any file beginning with b followed by <\/em><br \/>\n<em>any characters and ending with .txt<\/em><br \/>\n<em>26Wildcards<\/em><br \/>\n<em>Data??? <\/em><\/p>\n<p><em>Any file beginning with Data followed by exactly three characters\u00a0<\/em><\/p>\n<p><em>[abc]* Any file beginning with either an a, a b, or a c<\/em><br \/>\n<em>BACKUP.[0-9][0-9][0-9] Any file beginning with BACKUP. <\/em><br \/>\n<em>followed by exactly three numerals\u00a0<\/em><\/p>\n<p><em>[[:upper:]]* Any file beginning with an uppercase letter\u00a0<\/em><\/p>\n<p><em>[![:digit:]]* Any file not beginning with a numeral\u00a0<\/em><\/p>\n<p><em>*[[:lower:]123] Any file ending with a lowercase letter or the numerals 1, 2, or 3<\/em><\/p>\n<p><em>Wildcards can be used with any command that accepts filenames as arguments, but we,ll\u00a0talk more about that in Chapter 7.<\/em><br \/>\n<em>Character Ranges<\/em><br \/>\n<em>If you are coming from another Unix-like environment or have been reading some other books on this subject, you may have encountered the [A-Z] or the [a-z] character range notations. These are traditional Unix notations and\u00a0worked in older versions of Linux as well. They can still work, but you have to be\u00a0very careful with them because they will not produce the expected results unless properly configured. For now, you should avoid using them and use character\u00a0classes instead.\"<\/em><\/p>\n<p>Here's a good house cleaner for removing those pesky Windows \"<strong>Thumbs.db\", \".tmp\"<\/strong> or \"<strong>desktop.ini\"<\/strong> files that get everywhere:<\/p>\n<p><span style=\"color: #0000ff;\">find \u00a0\/Quadra\/Test\/ -name Thumbs.db \u00a0-exec rm -v \u00a0{} +;<\/span><\/p>\n<p><strong>CAUTION<\/strong>: You may want to test is on a known directory first before you unleash it on a whole drive; like the root dir, or using a <strong>*.db<\/strong>\u00a0shortcut, as you might delete all your system's databases!<\/p>\n<p>You could also just use functions of \"find\" alone for the same job in that case:<\/p>\n<p><span style=\"color: #0000ff;\">find ~ -type f -name 'Thumbs.db' -delete<\/span><\/p>\n<p><span style=\"color: #0000ff;\">sudo find ~ -type f -name 'desktop.ini'\u00a0| xargs rm -v<\/span><\/p>\n<p><strong>BUT!! Beware - many\u00a0linux files ALSO end in .ini so be careful what directories you use wildcards in! Check the results first without the -delete.<\/strong><\/p>\n<p><span style=\"color: #ff0000;\">\/usr\/share\/themes\/Mint-X-Sand\/gtk-3.0\/settings.ini<\/span><\/p>\n<p>Similarly for \"locked\" temp files of type that start with \"~$\". Note the $ is a Special char so has to be escaped with the backslash, so either of:<\/p>\n<p><span style=\"color: #0000ff;\">sudo find \/1500\/ -name ~*<\/span><br \/>\n<span style=\"color: #ff0000;\">\/1500\/AET\/~$luing Diversity Notes.docx<\/span><br \/>\n<span style=\"color: #ff0000;\">\/1500\/AET\/~$les, Responsibilities and Relationships in Education and Training.docx\u00a0<\/span><\/p>\n<p>OR<\/p>\n<p><span style=\"color: #0000ff;\">sudo find \/1500\/ -name ~\\$*<\/span><br \/>\n<span style=\"color: #ff0000;\">\/1500\/AET\/~$luing Diversity Notes.docx<\/span><br \/>\n<span style=\"color: #ff0000;\">\/1500\/AET\/~$les, Responsibilities and Relationships in Education and Training.docx<\/span><\/p>\n<p>If you have a very large ext4 backup drive - say 1TB or more, it may pay you to defrag it before doing any housecleaning to speed up finds. Word tmp files alone could account for much space.<\/p>\n<p><span style=\"color: #0000ff;\">man e4defrag<\/span><\/p>\n<p>My main 1500GB backup drive has this many (mainly Win) .tmp files:<\/p>\n<p><span style=\"color: #0000ff;\">find . -name *.tmp | wc -l<\/span><br \/>\n<span style=\"color: #ff0000;\">333<\/span><\/p>\n<p><span style=\"color: #ffffff;\"><strong>ALSO! beware of mounted file systems on backup and\/or smb networked drives! Use the:<\/strong><\/span><\/p>\n<p><span style=\"color: #ff0000;\"><strong>\u00a0-mount<\/strong> Don't descend directories on other file systems. An alternate\u00a0name for <strong>-xdev<\/strong>, for compatibility with some other versions of\u00a0find.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_181\" class=\"pvc_stats all  \" data-element-id=\"181\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>man find FIND(1) NAME find - search for files in a directory hierarchy SYNOPSIS find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] DESCRIPTION This manual page documents the GNU version of find. GNU find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according <a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/cool-command-2-find-with-exec-or-delete-or-pipe-to-xargs-rm-v\/\" class=\"more-link\">...<span class=\"screen-reader-text\">\u00a0 Cool Command #2, Find with -exec or -delete or pipe to xargs rm -v<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,2],"tags":[],"class_list":["post-181","post","type-post","status-publish","format-standard","hentry","category-post","category-uncategorized"],"a3_pvc":{"activated":true,"total_views":0,"today_views":0},"_links":{"self":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":6,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":10562,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/181\/revisions\/10562"}],"wp:attachment":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}