Список файлов больше указанного размера


73

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

Ответы:


126

Используйте find и его -sizeфлаг.

Чтобы найти файлы размером более 100 МБ:

find . -type f -size +100M

Если вы хотите только текущий каталог:

find . -maxdepth 1 -type f -size +100M

2
Если вам нужно передать размер в байтах, используйте find . -type f -size +4096c ( superuser.com/a/204571/111289 )
17

23

Если вы хотите увидеть все файлы размером более 100M и увидеть, где они находятся и каков их размер, попробуйте это:

find . -type f -size +100M -exec ls -lh {} \;

1
Делает так же, как первая команда @ Nifle
канадский Люк

1
Я думаю, что было бы проще использовать параметр printf -printf "%p %s". Смотрите: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux

@Nux: хороший совет. -printf '%9s %p\n'работал хорошо для меня.
Сеанф

2

Используйте следующее:

find / -size gt 2MB

или же:

find / -size => 2000000 

3
Как это улучшает принятый ответ?
Дейв М,

Хотя мы благодарим вас за ваш ответ, было бы лучше, если бы он предоставил дополнительную ценность поверх других ответов. В этом случае ваш ответ не дает дополнительной ценности, поскольку другой пользователь уже опубликовал это решение. Если предыдущий ответ был вам полезен, вы должны проголосовать за него, а не повторять ту же информацию.
Тоби Спейт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.