Как рекурсивно найти сумму сохраненной в каталоге?

Это кажется, что Вы после XDMCP - который корректен? Старое ПРАКТИЧЕСКОЕ РУКОВОДСТВО доступно (хотя оно читает как он, был записан сверхвосторженным Linux, "преобразовывают") - я уверен, GDM и детали конфигурации KDM изменились с тех пор. XDM мог бы быть довольно подобным в эти дни; XDM очень хорошо документируется, хотя такое чувство, что это могло использовать руководство "по общему использованию" на одну страницу.

144
13.03.2013, 23:51
9 ответов

Попытайтесь делать это:

du -s dir

или

du -sh dir

потребности -h поддерживайте, зависит Вашей ОС.

Посмотрите

man du
156
27.01.2020, 19:28
  • 1
    добавляет -b производить в байтах –  pcnate 17.03.2016, 23:47
  • 2
    весь список все файлы и-h показывает размер файла в человекочитаемом формате du-h - все –  Praneeth 10.05.2017, 04:29

Вы просто делаете:

du -sh /path/to/directory

где -s для сводки и -h для человекочитаемого (нестандартная опция).

Будьте осторожны однако, в отличие от этого, ls, это не покажет Вам, размер файла, но использование диска (т.е. несколько из размера блока файловой системы), но файл может быть меньшим, или еще больше, таким образом, можно использовать --apparent-size опция:

du -sh --apparent-size /path/to/directory

Это - размер, который был бы передан по сети, если бы Вы имели к.

Действительно, файл может иметь "дыры" в нем (пустая оболочка), может быть меньшим, чем размер блока файловой системы, может быть сжат на уровне файловой системы, и т.д. Страница справочника объясняет это.

Как Nicklas указывает, можно также использовать ncdu анализатор использования диска. Запущенный из каталога это покажет Вам, что папки и файлы используют дисковое пространство путем упорядочивания им самый большой самому маленькому.

Вы видите этот вопрос также.

30
27.01.2020, 19:28

Альтернатива уже упомянутому du команда была бы ncdu который является хорошим использованием диска анализатор для использования в терминале. Вы, возможно, должны установить его сначала, но это доступно в большинстве хранилищ пакетов.

Править: Поскольку выходной формат видит эти снимки экрана http://dev.yorhel.nl/ncdu/scr

15
27.01.2020, 19:28
  • 1
    ! С этим я вижу, какие папки, который содержит большой объем устройства хранения данных размера диска. Я даже также нашел все свои файлы, которые загадочно исчезлись. Большой инструмент это. –  Faron 16.09.2015, 04:53

В Unix каталог просто содержит имена и ссылки на объекты файловой системы (inodes, который может обратиться к каталогам, файлам или некоторым другим экзотическим вещам). Файл может появиться под несколькими именами в том же каталоге или быть перечислен в нескольких каталогах. Так "пространство, использованное каталогом и файлами внутри" действительно, не имеет никакого смысла, поскольку файлы не "внутри".

Тем не менее команда du(1) перечисляет пространство, использованное каталогом и всеми, что достижимо через него, du -s дает сводку, с -h некоторые реализации как GNU du дайте "человекочитаемый" вывод (т.е. килобайт, мегабайт).

3
27.01.2020, 19:28

Обратите внимание, что если вы хотите узнать размер всех {под)-папок внутри каталога, вы также можете использовать опцию -d или --max depth из du (которая принимает аргумент: предел рекурсивности)

Например :

du -h /path/to/directory -d 1

Покажет что-то вроде

4.0K /path/to/directory/folder1
16M  /path/to/directory/folder2
2.4G /path/to/directory/folder3
68M  /path/to/directory/folder4
8G   /path/to/directory/folder5

PS: Ввод 0, так как предел рекурсивности эквивалентен опции -s. Эти 2 команды дадут вам тот же самый результат (ваш каталог рекурсивного читаемого человеком размера):

du -h /path/to/directory -d 0
du -sh /path/to/directory
24
27.01.2020, 19:28

Для меня это работало в обратном порядке в случае глубины и пути на OS X El Capitán

du -h -d 1 /path/to/directory
1
27.01.2020, 19:28

Вы можете использовать "file-size.sh" из библиотеки awk Velor :

ls -ARgo "$@" | awk '{q += $3} END {print q}'
2
27.01.2020, 19:28

Использование ip addr flushбудет работать, но оно также очистит все и все адреса, установленные на этом интерфейсе -, возможно, включая тот, который вы используете, если вы вошли в систему на удаленной машине. Это может заблокировать доступ к вашему устройству.

RNETLINK answers: File existsпроисходит, когда вы пытаетесь addприменить правило, которое конфликтует с существующим правилом. Я предполагаю, что OP столкнулся с этим, потому что они уже установили адрес с помощью ifconfig. Эту ошибку обычно можно устранить, преобразовав команду addв аналогичную по структуре команду changeили replace.

Гораздо безопаснее использовать вместо них ip addr changeили ip addr replace.

-121 ---300721 ​​-

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

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

где:

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

Это работает:

Чтобы получить размер каждого каталога в текущем каталоге.

du -h --max-depth=1.

В целом:

du -h --max-depth=1 <dirpath>
1
03.12.2020, 21:57

Теги

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