Du покажет вам только итоги по папкам, а не по пользователям.
Это может сработать, если вы хотите указать общий размер, скажем, /home /example_user /, и если только этот example_user содержит файлы в этой папке. Если у других пользователей есть файлы в них, то это приведет не к размеру всех принадлежащих вам файлов, а к общему размеру всех файлов в этой папке.
Чтобы получить информацию о пользователе, либо:
- Если у вас включена квота , используйте эти команды.
- Используйте find, чтобы пройтись по всем каталогам, в которые вы хотите сосчитать ваши файлы. Используйте uid только для выбора ваших файлов и сохраняйте ассоциативный массив в awk для подсчета итогов.
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Обратите внимание, это использует GNU найти конкретное расширение.
- Первая команда просматривает все файлы и каталоги в /path /to /search.
-type f
обеспечивает выбор только файлов, в противном случае вы также учитываете размер каталогов. (Попробуйте создать пустую папку. Вероятно, он будет использовать 4k дискового пространства).
-user username_whos_files_to_count
выбирает результаты только от одного пользователя
-printf "%s\n"
напечатает размер.
Если вы просто запустите первую часть этого, вы получите список чисел. Это размеры файлов. (Все остальное удаляется, печатается только размер благодаря команде% s печати.)
Затем мы можем добавить все эти цифры, чтобы получить сводку. В примере это не так с awk.