Я хочу список папок із поточного каталогу або тієї, яку я вказую з їх розміром.
Я спробував з du, але я отримую лише розмір вказаних у мене каталогів (du ./f1), а ls не показує розмір папок.
Як це зробити без будь-якого сценарію?
Я хочу список папок із поточного каталогу або тієї, яку я вказую з їх розміром.
Я спробував з du, але я отримую лише розмір вказаних у мене каталогів (du ./f1), а ls не показує розмір папок.
Як це зробити без будь-якого сценарію?
Відповіді:
Якщо ви хочете показати всі каталоги в поточному каталозі:
$ du -sh */
788K foo/
500K bar/
931K baz/
Щоб показати їх, починаючи з іншого каталогу:
$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/
Якщо ви хочете переконатися, що каталоги з іменами, що починаються з крапки, додаються shopt -s dotglob
спочатку.
du -s */ | sort -n
.
shopt -s dotglob
doc
На Mac, параметр --max-глибина замінюється на -d [deep]. Отже, щоб побачити людський читацький список вашого кореневого диска плюс два рівні глибоко, скористайтеся наступним:
du -hd 2 /*
Примітка: ця команда відкриє два найпопулярніші рівні каталогу у вашому корені. Сюди входить проходження одного рівня до ваших томів та відображатиметься підсумкові розміри кожного каталогу верхнього рівня у кожному з доданих томів. Залежно від того, що ви додали, ця команда може зайняти деякий час, щоб виконати.
Іншим підходом є варіант - maxx глибина.
du -h --max-depth=1 .
Буде перераховано всі каталоги та файли в поточній папці з розміром.
У глибині 2 було б вказано ще один рівень папок.
du -hd 2 .
2 рівні глибини.
Спробуйте:
$ du -s ./f1
або
$ du -sh ./f1
для більш зручних для читання розмірів.
$ du --max-depth=1 /var/www/ | sort -n -r
Варто згадати команду оболонки NCurses Disk Usage .
Ncdu - аналізатор використання диска з інтерфейсом ncurses. Він призначений для пошуку космічних свиней на віддаленому сервері, де у вас немає всієї графічної установки, але це корисний інструмент навіть у звичайних настільних системах. Ncdu має на меті бути швидким, простим і простим у використанні, і він повинен мати можливість працювати в будь-якому мінімальному POSIX-середовищі із встановленими ncurses.
На Mac можна встановити реалізацію GNU (Linux) за du
допомогою Homebrew ( brew install coreutils
). Тоді наприклад:
gdu folder -shL --exclude=.git
де
gdu
- ім'я, яке надається для реалізації GNU du
(за замовчуванням Homebrew не приховує /usr/bin/du
);s
створює загальну суму для вказаної папки (опустіть, якщо ви хочете побачити розбиття);h
виводить людиночитані розміри;L
слід за посиланнями;--exclude=.git
виключає каталог git у вказаній папці (це лише приклад).Ви можете ігнорувати більше папок, додавши --exclude=blah
. Ви також можете вказати відразу декілька папок (тобто gdu folder1 folder2 ...
), і в цьому випадку ви можете об'єднати всі підсумкові дані в один розмір за допомогою параметра c
.
Ось сценарій POSIX, який буде працювати з:
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'