Использование ls для вывода списка каталогов и их общего размера - PullRequest
721 голосов
/ 19 июня 2009

Можно ли использовать ls в Unix для отображения общего размера подкаталога и всего его содержимого, в отличие от обычного 4K, который (я предполагаю) является просто самим файлом каталога? И.Е.

total 12K
drwxrwxr-x  6 *** *** 4.0K 2009-06-19 10:10 branches
drwxrwxr-x 13 *** *** 4.0K 2009-06-19 10:52 tags
drwxrwxr-x 16 *** *** 4.0K 2009-06-19 10:02 trunk

После поиска страниц справочника я выхожу пустым.

Ответы [ 25 ]

0 голосов
/ 26 февраля 2019

Если вы хотите больше контроля над size, для которого вы хотите вывести список каталогов, вы можете использовать переключатель threshold (-t), как в:

$ du -ht 1000000000 | sort --reverse

du - d ИСК u Шалфей
h - человекочитаемый формат
t - размер порога

Здесь мы хотим перечислить все каталоги, размер которых превышает 1 ГБ.

$ du -ht 1G | sort --reverse

Объяснение

Единицы, которые описаны в вики следующим образом:

K, M, G, T, P, E, Z, Y (степени 1024) или
KB, MB, GB, TB, PB, EB, ZB, YB (мощность 1000).

0 голосов
/ 29 ноября 2018

поместить в сценарий инициализации, например .bashrc ... настроить def по мере необходимости.

duh() {
  # shows disk utilization for a path and depth level
  path="${1:-$PWD}"
  level="${2:-0}"
  du "$path" -h --max-depth="$level"
}
0 голосов
/ 20 мая 2018

Следующее легко запомнить

ls -ltrapR

список содержимого каталога

- я использую формат длинного списка

-t сортировать по времени модификации, сначала сначала

-r, - обратный обратный порядок при сортировке

-a, --all не игнорируйте записи, начинающиеся с.

-p, --indicator-style = slash добавить / индикатор к каталогам

-R, - рекурсивный список подкаталогов рекурсивно

https://explainshell.com/explain?cmd=ls+-ltrapR

0 голосов
/ 11 марта 2016

введите "ls -ltrh / path_to_directory"

0 голосов
/ 14 февраля 2016

Я столкнулся с проблемой, аналогичной описанной Мартином Уайльдом, в моем случае, сравнивая один и тот же каталог на двух разных серверах после зеркалирования с помощью rsync.

Вместо использования сценария я добавил флаг -b к du, который подсчитывает размер в байтах и, насколько я могу судить, устраняет различия на двух серверах. Вы все еще можете использовать -s -h для получения понятного вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...