Как вывести список принадлежащих мне файлов для проверки квот?

В Linux (RHEL 6), как лучше всего перечислить все файлы и размеры, которые считаются с моей квотой в данной файловой системе?

У нас есть каталог проектов, и все, что я сейчас делаю, довольно мало, но моя квота почти заполнена, и я хочу посмотреть, что еще принадлежит мне, чтобы я мог немного почистить.

2 ответа

Решение

С помощью find, вы должны использовать способ, который безопасен в отношении пробелов и других забавных символов, которые могут появляться в именах файлов. Это должно сделать (при условии вашего find а также du версии принимают опции):

find . -type f -user "$USER" -print0 | du -ch --files0-from=-

(-c вариант, чтобы иметь хороший итог в конце). Это не будет учитывать размер каталогов, хотя.

Если в дереве каталогов у вас есть какие-то каталоги, которые вам недоступны, вы можете получить нежелательную информацию (разрешение запрещено) на вашем экране, поэтому вы можете захотеть перенаправить stderr в /dev/null как:

find . -type f -user "$USER" -print0 2>/dev/null | du -ch --files0-from=-

Я, вероятно, просто сделал бы команду поиска, основанную на имени пользователя, я предполагаю, что это то, что они вычисляют квоту.

Что-то вроде:

#!/bin/bash

for i in `find . -type f -user $(whoami)`; do
    du -h ${i}
done

Это перечислит все файлы, принадлежащие $(whoami) с размером файла в удобочитаемом формате.

Хотя этот список действительно длинный в моей системе, поэтому я бы, вероятно, предложил stdout для файла на этом (> output.txtнапример) или добавление -maxdepth # в find Команда, чтобы ограничить его до управляемого уровня каталогов.

Другие вопросы по тегам