Как вывести список принадлежащих мне файлов для проверки квот?
В 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
Команда, чтобы ограничить его до управляемого уровня каталогов.