Назад | Перейти на главную страницу

как использовать du для просмотра файлов, размер которых превышает пороговое значение

У меня есть несколько ситуаций, в которых я ничего не вижу на страницах du man.

1) Я хочу видеть файлы в подкаталоге, размер которых превышает определенный размер. 2) Я использую du -sh> du_output.txt. Я вижу вывод, как описано для опций -s и -h, но меня больше интересует, если вывод идет в формате, который, например,

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

Если это макет каталога, и я хочу просто увидеть размер отдельных каталогов во всех подкаталогах, то что я могу сделать (глубина каждого подкаталога является переменной)

Чтобы отображать только папки размером более 1 ГБ:

du -h --threshold=1G

Вы также можете заказать по размеру, чтобы легко найти самые большие.
du -h --threshold=1G | sort -h

(Работает на: Ubuntu / Mint.
Не работает на: OSX или RHEL 6.2)

Вместо этого используйте команду поиска. В следующем примере будут показаны все файлы размером более 10 мегабайт:

find -size +10M

Вы можете использовать du с find следующим образом, чтобы увидеть размер каждого файла:

find -size +10M -exec du -sh {} \;

я люблю gt5 утилита. Он использует вывод du и создает доступный для просмотра список каталогов и их размеров и использует браузер в текстовом режиме, например ссылки для отображения информации.

Обе программы доступны в репозиториях Ubuntu: gt5 и ссылки.

find /path/to/folder -size +100k

Неясно, хотите ли вы увидеть размер отдельных файлов, которые больше некоторого значения, или вы хотите увидеть папки больше некоторого значения.

Я считаю, что ответ Mtl Dev подходит на этот вопрос. Поскольку Бонд открыл эту ветку с тегами «linux» и «ubuntu-10.04».
Очередной раз, du -h --threshold=1G (с последующим | sort -h опционально) отлично работает в Ubuntu.

Хотя Бонд сказал, что

Я не вижу ничего на страницах du man.

На странице руководства есть две строки, см. ниже.

-t, --threshold = РАЗМЕР
исключить записи меньше SIZE, если положительные, или записи больше SIZE, если отрицательные

Еще одна вещь, я думаю, точная командная строка, которую хочет Бонд, выглядит примерно так:

find . -mindepth 2 -type d | xargs du -sh -t 1G

когда -mindepth 1 утверждает, что он должен содержать текущий путь, -mindepth 2 буду работать по вашему запросу.

Ниже представлена ​​демонстрация популярного набора данных. Лиза.

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training