5

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

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

2 ответа2

4

Используя 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=-
1

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

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

#!/bin/bash

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .