Алиас для показа самых больших файлов и директорий в текущей директории
"Резиновый винчестер это не игрушка, это мечта" Ж:-)
Как всегда не хватает места, и при поиске чего бы такого удалить может помочь алиас который показывает файлы и директории которые занимают больше мегабайта.
для bash, заносим в ~/.bashrc
alias dud="(shopt -s dotglob;du -ks * | sort -nr | sed -e 's/^\([0-9]\{1,\}\)[0-9]\{6\}[^0-9]/\1G\t/;t;s/^\([0-9]\{1,\}\)[0-9]\{3\}[^0-9]/\1M\t/;t;d')" #или альтернативный вариант с perl alias dud="(shopt -s dotglob;du -ks * | sort -nr | perl -pe 's/^(\d+)\d{6}[^\d]/\$1G\t/ || s/^(\d+)\d{3}[^\d]/\$1M\t/ || s/.*\n//')"
для zsh, заносим в ~/.zshrc
alias dud="(setopt globdots;du -ks * | sort -nr | sed -e 's/^\([0-9]\{1,\}\)[0-9]\{6\}[^0-9]/\1G\t/;t;s/^\([0-9]\{1,\}\)[0-9]\{3\}[^0-9]/\1M\t/;t;d')" #или альтернативный вариант с perl alias dud="(setopt globdots;du -ks * | sort -nr | perl -pe 's/^(\d+)\d{6}[^\d]/\$1G\t/ || s/^(\d+)\d{3}[^\d]/\$1M\t/ || s/.*\n//')"
Цифры примерные, так как считается что в мегабайте не 1024 байт, а 1000.
Пример использования:
ramok@ramok:~/doc/os/unix$ dud
170M Richard Stevens TCP-IP Illustrated Vol 2.pdf
153M Richard_Stevens_UNIX_Network_Programming_Sec_Ed_Vol_1.pdf
126M Rederik_Smith_Full_Docs_FreeBSD_rus.pdf
117M WhiteParus.Unix.Rukovodstvo_Sysadmina.pdf
115M Richard_Stevens_Advanced_Programming_in_the_UNIX_Environment.pdf
89M Richard Stevens Tcp-Ip Illustrated Vol 1.pdf
80M Richard_Stevens_UNIX_Network_Programming_Sec_Ed_Vol_2.pdf
73M IEEE
22M tannenbaumСоветы в тему с поиском больших пакетов:
- Чистка системы, узнать какие пакеты занимают много места в Debian
- чистка системы, определение кандидатов на удаление по размеру во FreeBSD
Советы в тему с алиасами:
- Отображения размеров файлов и директорий в удобной для человека формe
- Глобальные алиасы в zsh
- alias и функции, как средство настройки оболочки по себя
- Удобные alias для работы с временными директориями
- Подсветка sql синтаксиса в клиенте mysql с использованием vim
- Удобное обращение к родительским каталогам в zsh
- ls | less в цвете
- Просмотр логов почтового сервера с подстветкой e-mail в vim
- Более быстрое переключение между часто используемыми каталогами
(4 голоса)
- 3194 просмотра


А ещё есть ncdu! Оно прямо создано для ситуаций, когда надо быстро освободить место на диск
попробовал ниче так. применю как нить Ж:-)
В перловых выражениях
s/^(\d+)\d{6}[^\d]/\$1G\t/ || s/^(\d+)\d{3}[^\d]/\$1M\t/ || s/.*\n//
надо убрать \ перед $
s/^(\d+)\d{6}[^\d]/$1G\t/ || s/^(\d+)\d{3}[^\d]/$1M\t/ || s/.*\n//
А то выводит
$1G .VirtualBox
вместо
5G .VirtualBox
А так спасибо за полезность. Записал себе в профиль
экранировать $ нужно если использовать в виде алиасов как я написал.
весь алиан обрамлен "" и $1 раскрывается шелом после команды alias dud=""
наверное надо показать отдельную команду
Да точно, спасибо. Что-то я протупил
Блин, да когда же Вам всем надоест самокаты плодить, а???
find -size +1M -exec du -ha {} \;а зачем мне все вложенные файлы?
ты бы хоть попробывал сначало что бы видеть чем отличается, прежде чем кидатся такими заявлениями
Добавьте -maxdepth 0, 1, 2 какая вздумается в любой момент, вот и все. А также вся остальная мощь - добавьте одной опцией сортировку в нужном порядке (также 1 ключик), любой отбор, скажем не только по размеру но хоть по правам и владельцу, да еще черта в ступе.
а теперь добавь сортировку нормальную(что бы шли гигабайты, потом мегабайты) и получить такой же "велосипед".
теже фаберже только в профиль. а понту то
find -maxdepth 1 -size +1M -printf "%s\t%P\n" | sort -nr | cut -f2 | xargs -I{} du -ha {}
А добавим в Ваш вариант скажем еще исключение нужных файлов по именам, исключение файлов старее месяца...? :)
фух.. и чем теперь Ваша команда не "велосипед"? тем более не делает то что задумано изначально. эта команда_не_ считает размеры директорий в текущей директории. считаются только файлы.
мне _лично_ больше нужны директории которые занимаю место чем файлы.
например хочу зайти в /usr/local и увидеть примерно такое
а не
что до "а добавим в Ваш вариант скажем..", такой задачи не стояло и не стоит.
надо будет - добавим | grep или сделаем новую команду, но _мне лично_ ненадо было исключать файлы по имени или старее. что не делает этот алиас "велосипедом"
sort -nr лучше заменить на sort -n
допустим у вас 200 файлов
и когда вы смотрите и вам надо удалить самые большие
они получаются самые первые, а как правило с помощью именно этой команды мы отслеживаем большие файлы, логи, дампы и что то еще...
http://dev.yorhel.nl/ncdu/ - стоит попробовать.
Спасибо, мне понравилось :)
надёжнее будет:
du -sm * | sort -n | tail
Правильно ли я понял, что каталоги размером в пару-тройку гигабайтов окажутся в конце этого списка? Далее. Правильно ли я понял, что скрытые каталоги вас не интересуют?
Так что, увы, приходится ограничиваться
du -sk * .??*, хоть это и не так наглядно...подправлю Ж:-)
что бы не ругалось на .??* если нет дот файлоф. надо отлючить кой чего
или сделать по другому
Спасибо!
Отправить комментарий