Назад | Перейти на главную страницу

Как ограничить вывод du для конкретного пользователя?

Мне нужно помочь конкретному пользователю, скажем Алисе, освободить место на диске; но не все файлы пользователя находятся в его домашнем каталоге; многие из них находятся в общих каталогах с другими пользователями. Я бы хотел получить что-то вроде вывода

du -sh *

но ограничивается файлами, принадлежащими только этому пользователю. То есть что-то вроде,

du -sh --ignore-all-users-except=alice *

Так, например, если в текущем каталоге есть три каталога, a, b и c, Я бы хотел увидеть следующий результат:

1.3G   a
416K   b
80K    c

это означает, что Алиса использует 1.3G внутри a, 416К внутри b, и так далее.

Есть ли какая-нибудь утилита, которая может предоставить мне такую ​​информацию, или мне нужен сценарий?

find / -user alice -print0 | du -ch --files0-from=-

Думаю, сойдет.

find . -user alice -type f -exec du -h {} +

Обновление: вы можете проверить ответы Вот