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

Поэтому я хотел бы видеть более тяжелые файлы.

du-ch принесет слишком много информации, так что я думал что-то вроде

du -ch | sort by size| head

Сортировка по размеру часть беспокоит меня

Какие-нибудь мысли?

заранее спасибо

10 ответов10

2

du -k | sort -n | tail

Но это относится к SU, а не к StackOverflow

0

Эта довольно длинная функция будет отображать отсортированный список с удобочитаемыми размерами:

dus () { du -bh ${1:+$1/}* |
    awk 'BEGIN {KMG="KMG"} 
        {printf "%s %08.2f %s\t%s\n",
        index(KMG,substr($1,length($1))),
        substr($1,0,length($1)-1),
        substr($1,length($1)),$0}' | 
    sort -r |
    cut -f 2-
}

который вы можете затем пропустить через head:

dus | head

Он принимает каталог в качестве аргумента:

dus /usr/local
0

Обычно я буду использовать du -s * | sort -nr для этого разбери -nr и пройди вниз по каталогам с большими размерами. Опция -s позволяет отображать итоговую сумму по каждому элементу вместо повторения.

например:

bcl@fozzy:~$ du -s * | sort -nr
171900  wiki
169932  bb.mail.tar.bz2
112772  tmp
44416   d.mail.tar.bz2
4148    src
2012    public_html
880 Mail
144 sha-search
72  logs
20  tt.txt
16  Maildir
16  brianlane_html
12  Temporary Items
12  Network Trash Folder
8   calendar_html
4   wiki_html
4   procmail.bcl
4   id_rsa.pub
4   foo.sh
4   fetchmail.bcl
4   bb.procmailrc
0   time.out
0

Попробуй NCDU.

0

Лично я считаю, что kdirstat очень полезен для определения места на диске. Он сортирует все по размеру и показывает несколько полезную визуальную «древовидную карту», которая позволяет приблизительно оценить, где используется пространство.

0

Моя первая мысль, что вы не можете использовать -h на du который вы собираетесь сортировать. Пытаться:

du | sort -rn | head
0

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

du -ch /home |sort -nr|head
0

У меня есть (csh) псевдоним "large", который показывает 10 самых больших файлов в моем текущем каталоге:

alias large     "ls -l  \!* |sort -k5 -rn |head -10"
0

Используйте ls -S для сортировки по размеру файла.

0

В зависимости от версии du, мне нравится следующее:

du -ckhs *

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

Как сказал хаос, вы не можете сортировать, чтобы все правильно отображалось с -h, но это, по крайней мере, дает хороший быстрый обзор размеров, не вдаваясь в подробности.

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