8

Я хотел бы видеть общее использование диска для себя в определенной файловой системе. Я выполнил команду

du -h ~my_user_name

Однако в этом списке перечислены все каталоги, которыми владеет my_user_name . Я хотел бы получить общую сумму всей этой информации. Какой вариант подходит для прохождения? Я старался

du -h -c ~my_user_name

но это не сработало.

2 ответа2

10

Передача -s в du ограничит вывод только теми элементами, которые указаны в командной строке.

du -sh ~
8

Du покажет вам только итоги по папкам, а не по пользователям.

Это может сработать, если вы хотите указать общий размер, скажем, /home /example_user /, и если только этот example_user содержит файлы в этой папке. Если у других пользователей есть файлы в них, то это приведет не к размеру всех принадлежащих вам файлов, а к общему размеру всех файлов в этой папке.

Чтобы получить информацию о пользователе, либо:

  1. Если у вас включена квота , используйте эти команды.
  2. Используйте 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .