вторник, 7 сентября 2010 г.

bash: Кто самый большой у нас в каталоге?

Проблема: пришло к концу место на разделе /home.
Задача: Найти замый жирный каталог

Решение:
du -m --max-depth=1 | sort -n

,где du - Disk Usage - утилита для определения занимаемого места файлом или каталогом.
параметры: 
-m выдавать информацию в мегабайтах, а то по умолчанию оно выдаем в понятном для человека виде - цифра и символ килобайт, мегабайт или гигабайт. Но так как сортировать будем не мы, а утилитка sort, то эти символы будут только мешать. В данном примере я указал в мегабайтах, т.к. размер раздела в гигабайтах, но можно указать и в килобайтах -k, и в байтах -b. В битах почемуто не хочет показывать :)
--max-depth=1  показывать файлы и каталоги только текущего уровня, не выдавая нагора все их внутренности

| перенаправляет результат работы du команде sort

sort сортирует данные полученные от du по первой колонке по убыванию по умолчанию.
параметры: 
-n указываем, что воспринимать первую колонку как цифры, а не как строки

Вот и все. Остальные параметры смотрите в манах

2 комментария: