Как перечислить рекурсивные размеры файла файлов и каталогов в каталоге?

Как я перечисляю все файлы в каталоге и их рекурсивных размерах файла?

править

Я хочу видеть размеры, 'свернутые' к родительским каталогам в перечисленном каталоге. Я не хочу видеть дочерние каталоги или их содержание или размеры.

52
задан 18 August 2011 в 05:06

11 ответов

Я предполагаю, что самый легкий путь путем ввода ls -l, или ls -lh который обеспечит размер файла в человекочитаемом формате (КБ, МБ, и т.д.).

Если 'рекурсивно' означает перечислять все последующие папки, например:

/foo/
/foo/bar/...

Затем необходимо также добавить параметр R, как ls -lR или ls -lhR

Больше информации для ls может быть найден путем ввода man ls

Обновление:

Следующая команда как предложенный Lekensteyn, вероятно, сделает задание:

du -h --max-depth=1 <folder>

-h для человекочитаемого
--apparent-size иначе к размерам дисплея, как уже указано
--max-depth уровень подпапок, до которых Вы хотите спуститься.

53
ответ дан 22 November 2019 в 23:49
apt-get install ncdu

enter image description here

Это является интерактивным слишком поэтому, если Вы хотите проверить sub папку просто, ВНИЗ, и Войти в него.

62
ответ дан 22 November 2019 в 23:49

Получить общий размер каталога и всех детей

du -hs directory/*
30
ответ дан 22 November 2019 в 23:49

Также выезд tree. Это не установлено по умолчанию, но является репозиториями.

Пример:

richard@legend:~$ tree Applications/ -s
Applications/
├── [           4096]  AlexFTPS-1.0.2
│  ├── [      31232]  AlexPilotti.FTPS.Client.dll
│  ├── [     274432]  C5.dll
│  ├── [       1457]  C5-License
│  ├── [      35147]  COPYING
│  ├── [       7639]  COPYING.LESSER
│  ├── [         70]  ftps
│  ├── [      28672]  ftps.exe
│  ├── [      98304]  Plossum CommandLine.dll
│  ├── [       1557]  Plossum-License
│  └── [       2560]  README
└── [           4096]  src
    └── [     180849]  AlexFTPS_bin_1.0.2.zip

Больше опций может быть найдено в странице справочника.

17
ответ дан 22 November 2019 в 23:49

Так как Вы конкретно не упоминаете необходимость в на терминальном основанном решении я думаю баобаб иначе Использование диска, которое Анализатор пропускает из списка.

Это установлено в Ubuntu по умолчанию и делает точно, что Вы хотите в хорошем графическом UI со способностью выполнить развертку иерархии каталогов.

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

baobab the Disk Usage Analyzer

15
ответ дан 22 November 2019 в 23:49

Терминальное решение du команда:

du --all --human-readable --apparent-size

(стенография: du -ah --apparent-size)

du отображает использование диска для каждого файла и каталога. Опции объяснили:

  • --all, -a - покажите размеры для файлов также, не просто каталоги
  • --human-readable, -h - покажите размеры в человекочитаемом формате, например. 10K (10 килобайтов), 10 (10 байтов)
  • --apparent-size - покажите фактический размер файла, не размеры, как используется диском.
7
ответ дан 22 November 2019 в 23:49

Для получения отсортированного списка помещает все в МБ и вид:

du -m * | sort -n

Или используйте инструмент, такой как DiskReport для генерации сообщения о полном дисковом дереве.

1
ответ дан 22 November 2019 в 23:49

Другое терминальное решение с find и вид (размером файла, столбцом 1)

$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1                              
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh
1
ответ дан 22 November 2019 в 23:49

Это, кажется, добивается цели, когда символьные ссылки включены.

ls -LRlh
2
ответ дан 22 November 2019 в 23:49

Для отображения размера содержимого папки с меньшим набором текста ( -d сокращенно от - max-depth )

du -hd1
-1
ответ дан 7 January 2020 в 20:24

Мне нравится следующий подход:

du -schx .[!.]* * | sort -h

где:

  • s: отображать только итог для каждого аргумента
  • c: подводить общий итог
  • h: печатать размеры в удобочитаемом формате
  • x: пропускать каталоги в разных файловых системах
  • .[!.]* *: суммировать использование диска для каждого файла, рекурсивно для справочников (в т.ч. "скрытых")
  • | sort -h: Сортировка на основе удобочитаемых чисел (например, 2K 1G)
0
ответ дан 31 July 2020 в 00:04

Другие вопросы по тегам:

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