我在 OS X 中创建了一个新帐户并删除了旧帐户。
我有一堆文件,现在所有者为 501,需要将所有权更改为我
[/usr/local]$ ll
total 24
drwxrwxr-x 18 root admin 612B Oct 20 11:01 ./
drwxr-xr-x@ 14 root wheel 476B Oct 19 10:43 ../
-rw-r--r-- 1 501 admin 116B Oct 19 10:01 .gitignore
drwxr-xr-x 13 501 admin 442B Oct 19 12:35 Cellar/
drwxr-xr-x 7 501 admin 238B Oct 19 12:17 Library/
-rw-r--r-- 1 501 admin 679B Oct 19 10:01 README.md
drwxr-xr-x 42 501 admin 1.4K Oct 20 11:12 bin/
drwxr-xr-x 2 501 admin 68B Oct 20 11:01 cfg/
drwxr-xr-x 5 501 admin 170B Oct 20 11:08 data/
drwxr-xr-x 7 501 admin 238B Oct 20 11:08 docs/
drwxr-xr-x 4 501 admin 136B Oct 19 12:23 etc/
drwxr-xr-x 11 501 admin 374B Oct 19 12:35 include/
drwxr-xr-x 38 501 admin 1.3K Oct 19 12:35 lib/
lrwxr-xr-x 1 root wheel 27B Oct 20 10:02 mysql -> mysql-5.5.16-osx10.6-x86_64
drwxr-xr-x 16 root wheel 544B Sep 9 11:08 mysql-5.5.16-osx10.6-x86_64/
drwxr-xr-x 16 501 admin 544B Oct 20 11:01 share/
drwxr-xr-x 4 501 admin 136B Oct 20 11:01 tests/
drwxr-xr-x 2 501 admin 68B Oct 20 11:01 www/
[/usr/local]$ ll Cellar
total 0
drwxr-xr-x 13 501 admin 442B Oct 19 12:35 ./
drwxrwxr-x 18 root admin 612B Oct 20 11:01 ../
drwxr-xr-x 3 501 admin 102B Oct 19 12:18 gettext/
drwxr-xr-x 3 501 admin 102B Oct 19 12:16 git/
drwxr-xr-x 3 501 admin 102B Oct 19 12:21 glib/
drwxr-xr-x 3 501 admin 102B Oct 19 12:34 gnutls/
drwxr-xr-x 3 501 admin 102B Oct 19 12:23 irssi/
drwxr-xr-x 3 501 admin 102B Oct 19 12:31 libgcrypt/
drwxr-xr-x 3 501 admin 102B Oct 19 12:30 libgpg-error/
drwxr-xr-x 3 501 admin 102B Oct 19 12:20 libiconv/
drwxr-xr-x 3 501 admin 102B Oct 19 12:32 libtasn1/
drwxr-xr-x 3 501 admin 102B Oct 19 12:35 loudmouth/
drwxr-xr-x 3 501 admin 102B Oct 19 12:17 pkg-config/
[/usr/local]$
目标
我想递归查找所有文件和目录/usr/local/
及其所有者501
,并将其 chown 为$USER
笔记
此文件夹中的部分文件和目录归 拥有root
。这些文件需要保持不变。
答案1
sudo find /usr/local -uid 501 -exec chown $USER '{}' ';'
顺便一提,find
还具有-nouser
将所有文件与已删除用户的 UID 进行匹配的选项:
sudo find /usr/local -nouser -exec chown $USER '{}' ';'
还会匹配另一个已删除用户的文件。