Общее использование диска для конкретного пользователя

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

du -h ~my_user_name

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

du -h -c ~my_user_name

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

8 голосов | спросил Alex 19 Mayam13 2013, 00:28:43

2 ответа


9

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

du -sh ~
ответил Ignacio Vazquez-Abrams 19 Mayam13 2013, 00:38:50
8

Du будет показывать только итоговые значения для каждой папки, а не для пользователя.

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

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

  1. Если вы используете quota , используйте эти команды.
  2. Используйте найти , чтобы ходить, хотя все каталоги, которые вы хотите подсчитать ваши файлы, в . Используйте uid , чтобы выбрать только ваши файлы и сохранить ассоциативный массив в awk для подсчета итогов.

find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'

Обратите внимание: для этого используется расширение GNU find.

  • Первая команда выполняет поиск по всем файлам и каталогам в /path /to /search.
  • -type f гарантирует, что вы выбираете только файлы, иначе вы также считаете размер каталогов. (Попробуйте создать пустую папку, вероятно, будет использовать 4k дисковое пространство).
  • -user username_whos_files_to_count только выбирает результаты от одного пользователя
  • -printf "%s\n" напечатает размер.

Если вы просто запустите первую часть этого, вы получите список номеров. Это размеры файлов. (Все остальное разделено, только размер печатается благодаря команде печати% s.)

Затем мы можем добавить все эти числа, чтобы получить сводку. В примере это не работает с awk.

ответил Hennes 19 Mayam13 2013, 00:39:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132