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.