Linux
如何為每個使用者生成文件夾所有權列表?
我想為 Ubuntu 中的每個使用者生成幾個單獨的列表。列表包含屬於每個使用者的文件和文件夾。
使用以下命令列出系統中的所有使用者:
cat /etc/passwd | awk -F: '{print $1;}'
假設“user1”是第一個結果,我想得到列表:
find / -user "user1" > user1.txt
因此,我的問題是如何盡可能少地使用命令獲取所有列表。提前致謝。
getent passwd | cut -d: -f1 | while read USER ; do echo $USER #use this to show some kind of progress otherwise delete this string find / -user $USER > ${USER}.txt 2>/dev/null done
附言。有關更多資訊,請查看shell 循環。
然而,這是一個非常糟糕的主意:您需要
find
在整個文件系統上執行與您擁有的使用者一樣多的使用者。我們將變得更聰明,並以另一種方式做到這一點:我們將
find
只執行一次並將其輸出拆分為如下文件:find / -printf "%u %p\n" | awk '{print $2 > $1".txt"}'