Как вывести все файлы/папки, упорядоченные по размеру, включая скрытые

Как вывести все файлы/папки, упорядоченные по размеру, включая скрытые

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

Кразмер каталога, я имею в виду сумму всех размеров файлов в каталоге и во всех его подкаталогах.

Разница вКак отсортировать вывод du -hпо размеру?заключается в том, что я запрашиваю вывод, который включаетвсефайлы и каталоги в текущем каталоге –скрытые или нет.

Рекомендации

решение1

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

Использоватьdu(использование диска)команда, которая является частьюGNU coreutils: 1

du -hs -- * .[^.]* | sort -h

The.[^.]* регулярное выражениеобеспечивает включение скрытых файлов и каталогов.

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

du -hs -- .[^.]* | sort -h

Списоктолько каталоги– скрытые или нет – отсортированы по возрастанию размера:

du -hs -- */ .[^.]*/ | sort -h

Только списокфайлыв текущем каталоге

Списоквсефайлы, отсортированные по возрастанию размера: 2

ls -AhlS | grep '^-' | tac

Только списокскрытыйфайлы, отсортированные по возрастанию размера:

ls -hldS .* | grep '^-' | tac

Только списокобычный(не скрытые) файлы, отсортированные по возрастанию размера:

ls -lS | grep '^-' | tac

Список файловрекурсивно– во всем дереве подкаталогов

Об этом не говорится в вопросе, но иногда может потребоваться перечислить все файлы в дереве подкаталогов (включая текущий каталог), упорядоченные по размеру. 3

du -ah | sort -h

Вывод будет представлять собой список (возможно, пугающе длинный) как подкаталогов, так и файлов. Чтобы ограничить его только файлами, вам нужно будет иметь представление о том, какое расширение файла имеют самые большие файлы (посмотрев на вывод команды выше).

du -ah | sort -h | grep .<file-extension>

Здесь вам следует заменить <file-extension>на zip, png, jpg, или на любое другое расширение файла, которое имеют самые большие файлы.

Примеры:

du -ah | sort -h | grep .zip
du -ah | sort -h | grep .png

Рекомендации


1 Я с благодарностью отношу свое решение кэтот комментарий. --Аргументзнаменует конец вариантов.
Команда duможет быть мучительно медленной для очень больших файлов/папок. Рассмотрите возможность использованияncduвместо этого команду.
Для установки на производной Debian, включая Ubuntu, запустите: sudo apt install -y ncdu.
В Arch Linux, включая MSYS2, запустите: yes | pacman -Syu ncdu.
Чтобы использовать его, введите ncduи нажмите .

2 Флаг-hlsвыводит размеры файлов в удобном для восприятия человеком стиле.
Флаг -Sсортирует вывод в порядкеуменьшениеразмер.
Труба | grep '^-'исключает каталоги и символические ссылки.
Труба| tac инвертирует вывод.

3 Это, скорее всего, будет интересно, когда размер текущего каталога составляет несколько мегабайт, а не гигабайт.

Связанный контент