Linux
Linux find 命令返回不屬於指定使用者的文件和文件的所有者
我有以下終端命令:
find /home/not_this/ \! -user not_this_user_account
目標是找到所有不屬於指定使用者的文件和目錄,這個版本的
find
命令效果很好。但是,我真的很想返回返回的文件和目錄的所有者。
所以:
/home/not_this/test1.html /home/not_this/test2.html
會返回這個:
someone_else /home/not_this/test1.html someone_else /home/not_this/test2.html
或者返回這個:
/home/not_this/test1.html someone_else /home/not_this/test2.html someone_else
如何使用該
find
命令返回不屬於指定使用者的文件/目錄以及這些文件/目錄的所有者?因為我不認為自己精通 Linux 終端,所以我同意使用不同的命令,只要它返回所需的結果並且不需要某種特殊條件(例如,下載和安裝不是在幾乎每個 Linux 發行版上)。
大多數
find
實現允許您使用該printf
函式格式化它們的輸出。請諮詢您自己的系統
man find
以了解實際支持的格式選項。Using
-printf '%u\t%p\n'
給了我一個 TAB (\t
) 分隔的列表,其中包含使用者名%u
(或 UID 號,當它無法解析為使用者名時)和完整的文件名,包括 path%p
。需要換行符\n
,否則您看不到每行一個項目。find /home/not_this/ \! -user not_this_user_account -printf '%u\t%p\n'
給出一個列表,例如:
diya /home/bla diya /home/bla/file-1 diya /home/blaa diya /home/blaa/file-2 diya /home/blaa/images & screenshots unbound /home/blaa/images & screenshots/Screenshot 2022-11-03 11:02.PNG diya /home/blaa/images & screenshots/image-2.jpg diya /home/blaa/images & screenshots/image-1.jpg diya /home/blaa/file-3 diya /home/blaa/1 diya /home/blaa/1/file.txt