Поиск больших папок/файлов linux
Как то столкнулся с проблемой поиска больших папок на Linux на хостинге. Мне нужно было найти большие папки чтобы потом почистить их, я погуглив определенное время и нашел несколько решений и сейчас я в своей статье «поиск больших папок linux» покажу несколько примеров поиска больших папок в Linux.
1. Поиск больших папок в текущей папке, с помощью команды что ниже:
$ ls -lSrh
Ключ «r» указывает утилите ls, чтобы она выводила все большие файлы в конце.
2. Можно искать большие файлы по ихним разрешением, допустим нужно найти большие файлы MP3/MPEG, чтобы это сделать, выполните:
$ ls -lSrh *.mp*
3. Вот еще один способ найти самые большие папки:
$ du -kx | egrep -v "\./.+/" | sort -n
4. Еще пример:
$ du -sckh /home/user/* | sort -rn | head -n 15
du — утилита суммирует статистику для каждого файла с каталогами.
Ключи:
-s — показывать уже итог для каждого аргумента;
-c — выводит сумарный итог;
-k — использовать блоки размером 4K (синоним —block-size=4K);
-h — Выводить все размеры в удобном для чтения и понимания (для примера, 4K 2M 8G);
sort — утилита для сортировки и вывода файлов на экран.
Ключи:
-r — (reverse) — обратить результаты сравнения;
-n — сортировать по размеру.
head — утилита которая выведет первые 10 строк для каждого файла.
Ключи:
-n — вывести N строк для каждого файла, но не первые 10 строк.
Приведу еще полезные варианты:
$ du -sh /home/user/* 2>/dev/null | grep "[[:digit:]]\.*G" | sort -nk1 $ du -hx --max-depth=1 /
Найти 10 самых больших фалов, начиная с ‘/’ (корня)
$ find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
Найти 10 самых больших фалов, начиная с ‘/home’
$ find /home -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
Тема «поиск больших папок linux» завершена.