В Linux (Debian, Ubuntu, CentOS  и т.д)  для этого есть несколько универсальных утилит. 

df - Основная утилита для анализа места на диске

Основная утилита для анализа места на диске — это само собой df.

Самый распространенный вариант применения утилиты DF: 

df -h 

В итоге вы увидите вот такую картину:

  • Filesystem > отображает текущий каталог
  • Size > показывает общее место на каждом из подмонтированных дисков
  • Used > занятое место в мегабайтах/гигабайтах и процентах (столбцы «Used» и «Use%»)
  • Avail > сколько осталось свободного места (Столбец «Avail»)
  • Use > процентное использование
[root@server ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda3       58G  6,3G   48G  12% /
tmpfs           2,0G     0  2,0G   0% /dev/shm
/dev/xvda1      194M  117M   68M  64% /boot

Второй очень важный вариант использования утилиты DF:

df -i

аргумент «-i» указывает на необходимость вывода статистики по Inode («инодам»). Проще говоря, сколько всего файлов и папок можно создать на диске (Inodes), сколько уже создано (IUsed, IUse%), сколько ещё можно создать (IFree):

[root@server ~]# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/xvda3     3726848 309625 3417223    9% /
tmpfs           181859      1  181858    1% /dev/shm
/dev/xvda1       51200     62   51138    1% /boot

Согласитесь, что не совсем понятно, что именно занимает дисковое пространства на Centos 7. Просто представьте ситуацию, что у вас есть какой-то каталог, занимающий 100 гб и там огромное количество файлов, а вам нужно понять, что именно занимает это пространство. Для решения это задачи есть утилита ncdu, она не идет в стандартной сборке и ее нужно доставлять.

Как узнать, какая папка занимает больше всего места? 

Для этого можно задействовать утилиту ncdu.

Установка утилиты ncdu на Centos 7

Она не входит в стандартные репозитории centos 7, и вам в начале нужно добавить EPEL Repository. Делается это установкой RPM пакета.

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

Теперь проверьте добавился ли у вас EPEL Repository в список репозиториев Centos 7, через команду:

yum repolist

сама установка ncdu производится командой:

yum install ncdu -y

Запуск утилиты NCDU НА CENTOS 7

Все теперь запускаем утилиту ncdu.

ncdu /

Можно сразу перемещаться между каталогами, с помощью стрелок и зайти так в любой каталог.

Если нажать ?, то вылезет подсказка с горячими клавишами, которые помогут расширить функционал, например сортировка или удаление файлов.

как Быстро найти самые большие файлы в системе?

Быстро узнать самые большие файлы в системе можно так:

ls -lR | sort -k5 -n

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

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

find . -type f -printf '%20s %p\n' | sort -n | cut -b22- | tr '\n' '\000' | xargs -0 ls -laSr

НАЙТИ 10 САМЫХ БОЛЬШИХ ФАЛОВ, НАЧИНАЯ с директории <DIR>

Выполните следующую комбинацию команд для поиска десяти самых больших файлов в Linux, начиная с директории <DIR> (измените <DIR> на директорию в которой Вы хотите запустить поиск).

find <DIR> -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'

Найти 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}'