Bash 按用户分组Red hat FS中共享文件夹的使用情况
历史记录:我有一个共享文件夹,系统的所有用户都可以访问该文件夹。每个人都声称他们用的不多。因此,我决定检查每个用户使用共享文件夹的次数 我可以通过Bash 按用户分组Red hat FS中共享文件夹的使用情况,bash,shell,unix,Bash,Shell,Unix,历史记录:我有一个共享文件夹,系统的所有用户都可以访问该文件夹。每个人都声称他们用的不多。因此,我决定检查每个用户使用共享文件夹的次数 我可以通过du-sh获得总使用量。但不是在个人用户级别 我想,我想得太多了,无法完成这件事。也许,有一种直接的方法可以做到这一点 如果有人问了类似的问题,请共享URL。这里有几个功能可能会有所帮助 space() { local user=$1 local space=0 local tmp=`mktemp` find . -us
du-sh
获得总使用量。但不是在个人用户级别
我想,我想得太多了,无法完成这件事。也许,有一种直接的方法可以做到这一点
如果有人问了类似的问题,请共享URL。这里有几个功能可能会有所帮助
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>
相比
du -sh .
399M .
非常接近;)
du -sh .
399M .