Как найти 10 самых больших файлов в командной строке Linux
Краткое руководство, которое покажет вам, как найти самые большие файлы на вашем компьютере с Linux, используя несколько команд, с которыми вы, возможно, уже знакомы, — du, sort и head.
Это краткое руководство покажет вам, как найти самые большие файлы на вашем компьютере с Linux, используя несколько команд, с которыми вы, возможно, уже знакомы, — du, sort и head.
Вот краткое резюме:
Чтобы найти 10 самых больших папок в текущем каталоге:
du -h | sort -hr | head -n 10
Чтобы найти 10 самых больших файлов и папок в текущем каталоге:
du -ah | sort -hr | head -n 10
Прочтите остальную часть статьи, чтобы получить подробное объяснение этих команд.
Как найти самые большие папки в Linux?
Команда du используется для получения информации об использовании диска. Команда Sort сортирует данные в соответствии с вашими требованиями. Команда head отображает верхние строки источника ввода текста.
Это всего лишь одна комбинация для получения самых больших файлов и каталогов в командной строке Linux. Может быть несколько других способов добиться того же результата.
Что произойдет, если вы запустите эти три команды вместе без параметров? Ваши результаты, вероятно, не будут очень полезны.
Когда вы запускаете эти команды, если не указано иное с помощью du, все будет выполняться автоматически, используя текущий рабочий каталог в качестве исходного файла.
Сортировка без параметров сортирует элементы в числовом порядке, но такое поведение немного странное. 100 считается меньше 12, потому что 2 > 0. Это определенно не то, что нам нужно.
По умолчанию здесь отображаются первые 10 элементов. В зависимости от каталога, который вы хотите проанализировать, вы можете настроить это для быстрого поиска больших файлов.
christopher@linux-console:~$ du | sort | head
100 ./.local/share/evolution/addressbook
108 ./.mozilla/firefox/jwqwiz97.default-release/datareporting
112 ./.local/share/gvfs-metadata
12 ./.cache/fontconfig
12 ./.cache/gnome-software/screenshots/112x63
12 ./.cache/thumbnails/fail
12 ./.config/dconf
12 ./.config/evolution
12 ./.config/gnome-control-center/backgrounds
12 ./.config/ibus
Добавление опций
Итак, давайте посмотрим, какие могут быть более типичные варианты.
Добавление -n
в команду сортировки означает, что элементы будут отсортированы по числовому значению. Добавление -r
означает, что результаты будут обратными. Это то, что нам нужно при поиске наибольшего числа.
Я также собираюсь добавить -5
, чтобы ограничить наши результаты дальше, чем по умолчанию для head. Это значение вам следует определить на основе того, что вы знаете о системе.
Возможно, вы захотите расширить значение до числа, превышающего 10, или полностью опустить его, если вы пытаетесь отфильтровать много больших файлов. В противном случае вы можете запустить его, удалить несколько файлов, но у вас все равно возникнут проблемы с пространством.
Хорошо, давайте соберем все это вместе и посмотрим, что произойдет.
christopher@linux-console:~$ du | sort -nr | head -5
1865396 .
1769532 ./Documents
76552 ./.cache
64852 ./.cache/mozilla
64848 ./.cache/mozilla/firefox
Это лучше, вы можете быстро увидеть, где находятся самые большие файлы. Однако вы можете добиться большего. Давайте очистим его, добавив еще несколько вариантов.
Удобочитаемый вывод
Человеческие возможности для определенных команд помогают представлять числа привычным для нас способом. Давайте попробуем добавить это к команде du.
christopher@linux-console:~$ du -h | sort -nr | head -5
980K ./.local/share/app-info
976K ./.local/share/app-info/xmls
824K ./.cache/thumbnails
808K ./.cache/thumbnails/large
804K ./.local/share/tracker
Исправленный вывод, понятный человеку.
Подождите секундочку… Эти цифры не имеют никакого смысла. Нет, не делают, потому что вы всего лишь изменили содержимое на удобочитаемое для команды du. Sort имеет собственную встроенную функцию для удобочитаемой числовой сортировки с ключом -h. Оба должны быть использованы для получения желаемого результата. В Linux вы часто можете столкнуться с подобными проблемами.
Важно поэкспериментировать и убедиться, что ваши результаты «имеют смысл», прежде чем использовать команду определенным образом.
Давайте попробуем еще раз.
christopher@linux-console:~$ du -h | sort -hr | head -5
1.8G .
1.7G ./Documents
75M ./.cache
64M ./.cache/mozilla/firefox/jwqwiz97.default-release
64M ./.cache/mozilla/firefox
Это больше походит на это.
Где самые большие файлы?
Из выходных данных вы можете сказать, что папка «Документы» содержит файлы большего размера, но если вы переключитесь на эту папку и снова запустите нашу команду, вы не получите самый большой файл. Вы получаете это:
christopher@linux-console:~/Documents$ du -h | sort -hr | head -5
1.7G .
Это просто говорит нам то, что вы уже знаете. Текущий каталог, называемый .
, содержит файлы объемом 1,7 ГБ. Это бесполезно, если вы пытаетесь найти отдельные файлы необычно большого размера.
Для этой задачи вам нужно добавить еще один флаг в du. Используя опцию -a, вы можете получить тот результат, который нам нужен. Давай попробуем.
christopher@linux-console:~/Documents$ du -ah | sort -hr | head -5
1.7G .
1.1G ./1gig-file.file
699M ./doc.tar
2.9M ./photo-of-woman-wearing-turtleneck-top-2777898.jpg
1.4M ./semi-opened-laptop-computer-turned-on-on-table-2047905.jpg
Заключение
Вам понравилось это руководство по поиску больших файлов в Linux? Надеюсь, все эти советы научили вас чему-то новому.
Если вам понравилось это руководство, поделитесь им в социальных сетях. Если у вас есть какие-либо комментарии или вопросы, оставьте их ниже.