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.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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
回答2:
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
回答3:
-user
finds by user or user ID, and !
inverts the predicate. So, ! -user ...
.
回答4:
You can use this:
find <dir> ! -user <username>
回答5:
Using z-shell (zsh) you can use
ls -laR *(^U)
or
ls -la **/*(^U)
to search for all files recursively not owned by you.