Время от времени вам может потребоваться инвентаризация файлов, принадлежащих определенному пользователю в системе 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}'
Давайте разберем синтаксис этой команды:
Распечатывает размер файлов.
Предположим, вы хотите узнать об использовании диска пользователем по имени 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.