Глиф Учебники

Как узнать размер папки в Linux

Справочник · Командная строка Linux · 2 минуты чтения

Размер одной папки:

Bash
du -sh ~/projects

du (disk usage) считает, сколько места занимает папка со всем содержимым; -s — только итог, без каждой вложенной папки; -h — в понятных единицах (K, M, G). Ответ выглядит так: 1,2G /home/ivan/projects (в русской системе дробь пишется через запятую).

Что внутри занимает больше всего

Bash
du -h -d 1 ~ | sort -h
du -sh ~/* | sort -h

Дальше спускайтесь туда, где больше всего: du -h -d 1 ~/.cache | sort -h и так далее.

Самые большие файлы во всей системе — через find:

Bash
sudo find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null

-xdev не даёт уходить на другие диски и в особые системные папки вроде /proc.

Свободное место на дисках

Bash
df -h

df показывает каждый подключённый диск: размер (Size), занято (Used), свободно (Avail), процент и папку, куда он подключён (Mounted on). Смотрите на строку с / — это системный диск. Строки tmpfs — диски в оперативной памяти, их можно не учитывать. Если терминал на русском, заголовки столбцов тоже будут по-русски.

Подводные камни

Удобная программа ncdu

ncdu показывает размеры папок списком, по которому можно ходить стрелками и сразу видеть, что занимает место. Ставится пакетом ncdu:

Bash
ncdu ~

Стрелки и Enter — вход в папку, q — выход. Запуск ncdu -r ~ — только просмотр, без возможности что-то удалить.

В ncdu клавиша d удаляет выбранный файл или папку — навсегда, без корзины. Не нажимайте её, если не уверены, что это за файл. Удалять системные файлы, чтобы освободить место, нельзя: чистите кэш программ, старые журналы и свои загрузки.