I\'m looking to recursively look through directories to find files NOT owned by a particular user and I am not sure how to write this.
The find(1) utility has primaries that can be negated ("reversed") using the "!" operator. On the prompt one must however escape the negation with a backslash as it is a shell metacharacter. Result:
find . \! -user foo -print
-user
finds by user or user ID, and !
inverts the predicate. So, ! -user ...
.
You can use this:
find <dir> ! -user <username>
Using z-shell (zsh) you can use
ls -laR *(^U)
or
ls -la **/*(^U)
to search for all files recursively not owned by you.
Looking for files NOT owned by someone
Others have answered the question "NOT owned by a particular user" in the body. Here's one that answers the titular question but has not been provided:
$ find / -nouser
You can use it like so:
$ sudo find /var/www -nouser -exec chown root:apache {} \;
And a related one:
$ find / -nogroup