Узнайте, которые являются большими файлами / dir

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

Таким образом, я хотел бы видеть более тяжелые файлы.

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

du -ch | sort by size| head

Вид частью размера беспокоит меня

Какие-либо мысли?

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

0
задан 22.10.2009, 16:11

10 ответов

du -k | sort -n | tail

Но это принадлежит на SU, не StackOverflow

2
ответ дан 24.11.2019, 07:02

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

du | sort -rn | head
0
ответ дан 24.11.2019, 07:02

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

du -ch /home |sort -nr|head
0
ответ дан 24.11.2019, 07:02

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

alias large     "ls -l  \!* |sort -k5 -rn |head -10"
0
ответ дан 24.11.2019, 07:02

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

du -ckhs *

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

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

0
ответ дан 24.11.2019, 07:02

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

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
ответ дан 24.11.2019, 07:02

Обычно я буду использовать du -s * | sort -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
ответ дан 24.11.2019, 07:02

Лично я нахожу, что kdirstat очень полезен для выяснения, куда мое дисковое пространство пошло. Это сортирует все по размеру и показывает несколько полезный визуальный 'treemap', который позволяет Вам примерно измерить видом, где пространство используется.

enter image description here

0
ответ дан 24.11.2019, 07:02

Попробуйте NCDU.

enter image description here

0
ответ дан 24.11.2019, 07:02

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

0
ответ дан 24.11.2019, 07:02

Теги

Похожие вопросы