按红帽子共享文件夹中的用户分组FS
问题描述:
历史记录:我有一个共享文件夹,可供系统的所有用户访问。每个人都声称他们没有多少用处。所以,我决定检查每个用户使用共享文件夹的数量。按红帽子共享文件夹中的用户分组FS
我能够通过du -sh <path/to/folder>
获得总使用量。但不在个人用户级别。
我想,我想太多了,以完成这件事。或许,可能会有直接的方式来完成这件事。
如果有人问类似的问题,请分享网址。
答
这里有一对夫妇的功能,可以帮助
space() {
local user=$1
local space=0
local tmp=`mktemp`
find . -user $user -exec stat --printf="%s\n" {} \; 2>/dev/null >> $tmp
for size in `cat $tmp`; do ((space=space + size)); done
local humanized=`mb $space`
echo "`pwd` $user $humanized"
rm -f $tmp
}
mb() {
local orig=$1
if [[ $orig -gt $((2**20)) ]]; then
echo -n $(($orig/2**20))
echo "mb"
else
echo -n $(($orig/2**10))
echo "kb"
fi
}
粘贴到这些你的shell,然后调用它的命令行上像
$space <user>
它会打印出所有的文件大小为临时文件,然后将它们全部添加。 MB函数使其可读性强。当我运行它,我得到
/home/me me 377mb
与
du -sh .
399M .
八九不离十相比;)