В статье разбираем утилиты df, du и ncdu, которые покажут занятое место на диске и помогут выяснить кто занимает на диске больше всего места.
Оглавление скрыть
За что отвечают эти команды
Команда df позволяет определить занятое место на диске. С помощью команды du можно посмотреть размер файлов. А утилита ncdu позволяет быстро определить, что занимает больше всего места на диске.
Так как все эти команды используются для определения занимаемого места на диске, то я решил их объединить в одну статью.
Команда df
Первая команда, которой нужно воспользоваться, чтобы быстро получить информацию о занятом месте на диске – это команда df. Её удобно использовать с опцией -h, чтобы смотреть информацию в удобном для человека виде:
$ df -h Filesystem Size Used Avail Use% Mounted on tmpfs 97M 980K 96M 1% /run /dev/sda2 16G 6,3G 8,6G 43% / tmpfs 485M 0 485M 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 97M 4,0K 97M 1% /run/user/1000
Как мы видим, корневой раздел (/), в который у нас примонтирован дисковый раздел /dev/sda2, занимает 43% дискового пространства.
КАК ПОЛЬЗОВАТЬСЯ ПРИЛОЖЕНИЕМ GOOGLE DUO / ТУТОРИАЛ
Кроме этого, создавая файлы, мы занимаем индексные дескрипторы (inode) на файловой системе. Про это я писал здесь. Чтобы посмотреть информацию по занятым индексным дескрипторам воспользуемся опцией -i:
$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on tmpfs 124059 659 123400 1% /run /dev/sda2 1048576 123545 925031 12% / tmpfs 124059 1 124058 1% /dev/shm tmpfs 124059 3 124056 1% /run/lock tmpfs 24811 25 24786 1% /run/user/1000
Из вывода видно, что у меня занято только 12% inode на корневом разделе.
Команда du
Следующая команда у нас высчитывает сколько места на диске занимает определенный каталог или файл. Это команда du. С опцией -h она покажет информацию в удобном для человека виде. Например, посмотрим сколько весит скачанный deb пакет веб сервера apache2:
$ du -h apache2_2.4.52-1ubuntu4_amd64.deb 96K apache2_2.4.52-1ubuntu4_amd64.deb
Или сколько весит домашний каталог пользователя alex:
$ du -h /home/alex/ 4,0K /home/alex/.cache 12K /home/alex/.ssh 8,0K /home/alex/.config/htop 8,0K /home/alex/.config/procps 20K /home/alex/.config 4,0K /home/alex/.local/share/nano 8,0K /home/alex/.local/share 12K /home/alex/.local 22M /home/alex/
При этом, помимо информации о самом каталоге /home/alex/, мы видим все подкаталоги, которые находятся в нём. Если нам не нужна эта информация то используем опцию -s:
$ du -hs /home/alex/ 22M /home/alex/
А если нам нужна информация по каждому файлу, то воспользуемся опцией -a:
$ du -ha /home/alex/ 12K /home/alex/.bash_history 4,0K /home/alex/.profile 4,0K /home/alex/.cache 4,0K /home/alex/.bash_logout *** 22M /home/alex/
Команда ncdu
Для поиска того, что больше всего занимает места на диске, можно воспользоваться утилитой ncdu. Её нужно вначале установить:
$ sudo apt install ncdu
Начнём наш анализ от корня:
$ sudo ncdu / 3,0 GiB [##########] /usr 2,0 GiB [###### ] swap.img 1,3 GiB [#### ] /snap 1,0 GiB [### ] /var 246,1 MiB [ ] /boot 21,5 MiB [ ] /home 6,2 MiB [ ] /etc 984,0 KiB [ ] /run 64,0 KiB [ ] /tmp 60,0 KiB [ ] /root ***
Видим что больше всего занимает каталог /usr. Стрелочками можем выбрать каталог, и нажмём enter чтобы перейти в него. Перейдем в /usr:
Обзор Google Allo и Duo — зачем?
2,3 GiB [##########] /lib 280,0 MiB [# ] /src 235,5 MiB [# ] /share 145,6 MiB [ ] /bin 32,1 MiB [ ] /sbin 12,0 MiB [ ] /include 3,1 MiB [ ] /libexec 64,0 KiB [ ] /local 4,0 KiB [ ] /lib64 4,0 KiB [ ] /libx32 4,0 KiB [ ] /lib32 4,0 KiB [ ] /games
Тут мы видим, что больше всего места занимает каталог lib, перейдем в него:
926,8 MiB [##########] /modules 850,4 MiB [######### ] /firmware 236,2 MiB [## ] /x86_64-linux-gnu 75,4 MiB [ ] /snapd 71,4 MiB [ ] /python3 63,4 MiB [ ] /gcc 23,9 MiB [ ] /python3.10 19,0 MiB [ ] /udev 18,4 MiB [ ] /debug 10,3 MiB [ ] /systemd ***
И таким образом находим самые большие каталоги в системе. Для выхода из утилиты используется клавиша “q“.
Итог
Использование диска версии 1.62
] Скачать Du(1,62 МБ)
Введение
Du (использование диска) сообщает об использовании дискового пространства для указанного каталога. По умолчанию каталоги рекурсивно отображают общий размер каталога и его подкаталогов.
Использование диска (DU)
Использование: du [-c[t]] [-l | -n | -v] [-u] [-q]
-c | Вывод выходных данных в формате CSV. Используйте -ct для разделения табуляции. |
-l | Укажите глубину данных подкаталога (по умолчанию — 0 уровней). |
-n | Не рекурсивно. |
-v | Отображение размера (в КБ) промежуточных каталогов. |
-u | Подсчитывать каждый экземпляр жесткого файла. |
-q | Тихий. |
-nobanner | Не отображайте баннер запуска и сообщение об авторских правах. |
Выходные данные CSV форматируются следующим образом:
Path, CurrentFileCount, CurrentFileSize, FileCount, DirectoryCount, DirectorySize, DirectorySizeOnDisk
Du(1,62 МБ)
Источник: learn.microsoft.com
Размеры папок и дисков в Linux. Команды df и du
Рассмотрим, как используя команды df и du просматривать свободное место на дисках и размеры папок в Linux.
Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
df Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в udev 1969036 0 1969036 0% /dev tmpfs 404584 6372 398212 2% /run /dev/sda9 181668460 25176748 147240368 15% / . /dev/sda1 117194136 103725992 13468144 89% /media/yuriy/5EB893BEB893935F /dev/sda6 144050356 121905172 14804772 90% /media/yuriy/2f24. d9075
Примечание: df не отображает информацию о не смонтированных дисках.
Опция -h
Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.
df -h Файл.система Размер Использовано Дост Использовано% Cмонтировано в udev 1,9G 0 1,9G 0% /dev tmpfs 396M 6,3M 389M 2% /run /dev/sda9 174G 25G 141G 15% / . /dev/sda1 112G 99G 13G 89% /media/yuriy/5EB893BEB893935F /dev/sda6 138G 117G 15G 90% /media/yuriy/2f24. d9075
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
df -h /dev/sda9 Файл.система Размер Использовано Дост Использовано% Cмонтировано в /dev/sda9 174G 25G 141G 15% /
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du.
Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать.
Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (—summarize). Также как и с df, добавим опцию -h (—human-readable).
Размер конкретной папки:
du -sh ./Загрузки 3,4G ./Загрузки
Размеры файлов и папок внутри конкретной папки:
du -sh ./Загрузки/* 140K ./Загрузки/antergos-17.1-x86_64.iso.torrent 79M ./Загрузки/ubuntu-amd64.deb 49M ./Загрузки/data.zip 3,2G ./Загрузки/Parrot-full-3.5_amd64.iso 7,1M ./Загрузки/secret.tgz
Источник: pingvinus.ru