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

73

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

Джонни
источник

Ответы:

126

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

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

find . -type f -size +100M

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

find . -maxdepth 1 -type f -size +100M
Nifle
источник
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
Как это улучшает принятый ответ?
Дейв М,
Хотя мы благодарим вас за ваш ответ, было бы лучше, если бы он предоставил дополнительную ценность поверх других ответов. В этом случае ваш ответ не дает дополнительной ценности, поскольку другой пользователь уже опубликовал это решение. Если предыдущий ответ был вам полезен, вы должны проголосовать за него, а не повторять ту же информацию.
Тоби Спейт