Мне нужно помочь конкретному пользователю, скажем Алисе, освободить место на диске; но не все файлы пользователя находятся в его домашнем каталоге; многие из них находятся в общих каталогах с другими пользователями. Я бы хотел получить что-то вроде вывода
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 {} +
Обновление: вы можете проверить ответы Вот