Время от времени вам может потребоваться инвентаризация файлов, принадлежащих определенному пользователю в системе Linux с несколькими зарегистрированными пользователями. Это пригодится, когда вы хотите освободить место и предотвратить истощение жесткого диска. Это особенно важно, если некоторые пользователи давно перестали пользоваться системой и их учетные записи отключены. Итак, как вы оцениваете дисковое пространство, занимаемое конкретным пользователем? Давай выясним.
Подсчитайте общее дисковое пространство, используемое конкретным пользователем
Чтобы получить дисковое пространство, используемое конкретным пользователем, используйте синтаксис команды find следующим образом:
$ find /path/to/directory/ -user username_whose_files_are_to_be_counted -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Давайте разберем синтаксис этой команды:
- Первый раздел – find /path/to/directory/ – выполняет поиск по указанному пути каталога.
- Второй раздел – -user username_whose_files_are_to_be_counted – ограничивает операцию поиска только определенным пользователем.
- Третий раздел – -type f – указывает, что мы ищем только файлы, а не каталоги. Пустые каталоги обычно занимают 4 КБ, что незначительно.
- Последний раздел – -printf “%s\n” | awk ‘{t+=$1}END{print t}’
Распечатывает размер файлов.
Предположим, вы хотите узнать об использовании диска пользователем по имени andreyex в домашнем каталоге. Команда будет.
$ find /home -user andreyex -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Если вы находитесь внутри каталога, вы можете просмотреть использование диска с помощью показанной команды:
$ find . -type f -printf "%u %s\n" \ | awk '{user[$1]+=$2}; END{for(i in user) print i,user[i]}'
Например, мы перейдем в каталог Downloads, расположенный в моем домашнем каталоге, и проверю дисковое пространство, используемое конкретными пользователями. Вывод четко отображает сводку дискового пространства, где у двух пользователей есть файлы, сохраненные в текущем каталоге, который является каталогом /home/andreyex/Downloads.
Вот и все. Мы успешно увидели, как вы можете найти дисковое пространство конкретными пользователями в Linux.