ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Поиск самых больших файлов и папок в командной строке Linux

Поиск самых больших файлов и папок в командной строке Linux

Это краткая статья, которое покажет вам, как найти самые большие файлы на вашем Linux-компьютере, используя несколько команд, которые вы, возможно, уже знакомы с du, sort и head.

 

Чтобы найти 10 самых больших папок в текущем каталоге:

du -h | сортировать -hr | head -n 10

 

Чтобы найти 10 самых больших файлов и папок в текущем каталоге:

du -ah | сортировать -hr | head -n 10

 

Прочитайте остальную часть статьи, чтобы получить подробное объяснение этих команд.

Команда du используется для получения информации об использовании диска. Команда сортировки сортирует данные согласно вашему требованию. Команда head отображает верхние строки источника ввода текста.

Это всего лишь одна комбинация для получения самых больших файлов и каталогов в командной строке Linux. Там может быть несколько других способов достижения того же результата.

 

Как найти самые большие папки в Linux?

Что произойдет, если вы запустите три команды вместе без параметров? Ваш вывод, вероятно, не будет очень полезным.

Когда вы запускаете эти команды, если не указано с помощью du, все будет работать автоматически, используя текущий рабочий каталог в качестве исходного файла.

Сортировка без параметров упорядочивает элементы в числовом порядке, но это поведение немного странно. 100 считается меньше 12, потому что 2> 0. Это определенно не то, что мы хотим.

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

destroyer@andreyex:~$ 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 в команду sort означает, что элементы будут отсортированы по числовому значению. Добавление -r означает, что результаты будут отменены. Это то, что мы хотим при поиске наибольшего числа.

Мы также собираемся добавить -5, чтобы ограничить наши результаты дальше, чем по умолчанию для head. Это значение нужно решать исходя из того, что вы знаете о системе.

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

Хорошо, давайте соберем все вместе и посмотрим, что получится.

destroyer@andreyex:~$ du | sort -nr | head -5
1865396    .
1769532    ./Documents
76552    ./.cache
64852    ./.cache/mozilla
64848    ./.cache/mozilla/firefox

 

Это лучше, вы можете быстро увидеть, где находятся самые большие файлы. Вы можете сделать лучше, хотя. Давайте решим это с еще некоторыми вариантами.

 

Человекочитаемый вывод

Человеческие опции для определенных команд помогают представлять числа в привычном для нас виде. Давайте попробуем добавить это в команду du.

destroyer@andreyex:~$ 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. Сортировка имеет собственную встроенную функцию для удобочитаемой числовой сортировки с -h. Оба должны быть использованы для получения желаемого результата. Вы можете столкнуться с такими проблемами часто в Linux.

Важно поэкспериментировать и убедиться, что ваши результаты «имеют смысл», прежде чем использовать команду определенным образом.

Давайте попробуем это снова.

destroyer@andreyex:~$ du -h | sort -hr | head -5
1.8G    .
1.7G    ./Documents
75M    ./.cache
64M    ./.cache/mozilla/firefox/jwqwiz97.default-release
64M    ./.cache/mozilla/firefox

 

Это больше походит.

 

Где самые большие файлы?

По выводу вы можете сказать, что в папке «Documents» содержатся файлы большего размера, но если вы переключитесь на эту папку и снова запустите нашу команду, вы не получите самый большой файл. Вы получаете это:

destroyer@andreyex:~/Documents$ du -h | sort -hr | head -5
1.7G

 

Этот вывод просто говорит нам то, что вы уже знаете. В текущем каталоге, есть файлы 1.7G. Это не поможет, если вы пытаетесь найти отдельные, необычно большие файлы.

Вам нужно добавить еще один флаг для этой задачи. Используя опцию -a, вы можете получить результат, который мы ищем. Давай попробуем.

destroyer@andreyex:~/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? Мы надеемся, что все эти советы научили вас чему-то новому.

Если вам нравилась эта статья, пожалуйста, поделитесь им в социальных сетях. Если у вас есть какие-либо комментарии или вопросы, оставьте их ниже.

Exit mobile version