Du покаже вам загальну суму за одну папку, а не на кожного користувача.
Це може спрацювати, якщо ви хочете загальний розмір, скажімо, /home/example_user/
і якщо тільки цей example_user має файли у цій папці. Якщо інші користувачі мають у них файли, то це не буде мати розмір усіх файлів, якими ви володієте, а загальний розмір усіх файлів у цій папці.
Щоб отримати інформацію на кожного користувача, виконайте такі дії:
- Якщо у вас включена квота , використовуйте ці команди.
- Скористайтеся функцією пошуку для прогулянки, хоча всі каталоги, в яких ви хочете порахувати свої файли. Використовуйте uid лише для вибору ваших файлів і збереження асоціативного масиву у невідомості для підрахунку підсумків.
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Зауважте, для цього використовується специфічне розширення пошуку GNU.
- Перша команда здійснює пошук у всіх файлах і каталогах у
/path/to/search/
.
-type f
гарантує вибір лише файлів, інакше ви також підраховуєте розмір каталогів. (Спробуйте створити порожню папку. Мабуть, буде використовувати 4k диск).
-user username_whos_files_to_count
вибирає результати лише від одного користувача
-printf "%s\n"
буде надрукувати розмір.
Якщо ви просто запустите першу частину цього, ви отримаєте список номерів. Це розміри файлів. (Все інше знімається; друкується лише розмір завдяки команді друку% s.)
Потім ми можемо додати всі ці числа, щоб отримати підсумок. У прикладі це робиться з awk.