Утилиты df и du в Linux

Для того, чтобы посмотреть, сколько места занимает файловая система, диск, файл или каталог, в Linux существует две команды: df и du.
Df (disk free) выводит список всех файловых систем по именам устройств с указанием размера, показывает точки монтирования и количество свободного/занятого пространства.
Если мы введем команду df без ключа, у нас получится примерно вот такой вывод
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4673664 805492 3607720 19% / udev 10240 0 10240 0% /dev tmpfs 204876 4500 200376 3% /run tmpfs 512184 0 512184 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 512184 0 512184 0% /sys/fs/cgroup /dev/sda2 945144 223548 656368 26% /var /dev/sda3 1889292 2904 1772368 1% /home
Все данные отображаются в килобайтах, поэтому разобрать здесь что-либо непросто. Для того, чтобы информация отображалась именно так, как нам удобно, используем целый ряд ключей.
Синтаксис команды
# df опции файл/устройство
Список опций
-а, —all – отображение абсолютно всех файловых систем, в том числе и виртуальных;
-h, —human-readable – показ буквы для обозначения размера файла/каталога;
-I, —inodes – выводится информация об inode’ах: имя владельца, права доступа, местонахождение в системе, временные штампы;
-k, —kilobytes – вывод размеров в килобайтах;
-l,—local – показывает данные о локальных файловых системах;
— output – позволяет задать формат вывода по таким параметрам: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’; по умолчанию команда показывает сразу все параметры;
-Р, —portability – вывод информации согласно стандарту Posix. Информация о конкретной файловой системе будет выводится в одну строку;
—sync – отправка системного вызова перед получением информации об использовании пространства на диске;
-t —type – вывод информации о файловых системах указанного типа;
-x —exclude type – не показывать информацию о файловых системах указанного типа.
Наиболее часто используется опция –h, поскольку она оказывает данные в килобайтах.
Вводим команду
# df -h
В качестве вывода получаем более понятную картину
Filesystem Size Used Avail Use% Mounted on /dev/sda1 4.5G 787M 3.5G 19% / udev 10M 0 10M 0% /dev tmpfs 201M 4.4M 196M 3% /run tmpfs 501M 0 501M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 501M 0 501M 0% /sys/fs/cgroup /dev/sda2 923M 219M 641M 26% /var /dev/sda3 1.9G 2.9M 1.7G 1% /home
Чтобы получить информацию о всех смонтированных файловых системах, прописываем
# df –a
Получаем вывод (первые 10 строк)
Filesystem 1K-blocks Used Available Use% Mounted on rootfs - - - - / sysfs 0 0 0 - /sys proc 0 0 0 - /proc udev 10240 0 10240 0% /dev devpts 0 0 0 - /dev/pts tmpfs 204876 4500 200376 3% /run /dev/sda1 4673664 805492 3607720 19% / securityfs 0 0 0 - /sys/kernel/security tmpfs 512184 0 512184 0% /dev/shm
В выводе отображается информация как о реальных, так и виртуальных файловых системах. Для вывода данных только о реальных файловых системах используется команда
# df –x tmpfs
Наш список существенно уменьшился
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4673664 805492 3607720 19% / udev 10240 0 10240 0% /dev /dev/sda2 945144 223592 656324 26% /var /dev/sda3 1889292 2904 1772368 1% /home
Можно задать файловую систему на свое усмотрение
root@debian:~# df -t ext4 Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4673664 805492 3607720 19% / /dev/sda2 945144 223592 656324 26% /var /dev/sda3 1889292 2904 1772368 1% /home
Или указать интересующий раздел
root@debian:~# df -h /dev/sda Filesystem Size Used Avail Use% Mounted on udev 10M 0 10M 0% /dev
Используя опцию –i, мы можем получить данные о состоянии inode заданной нами директории.
root@debian:~# df -hi /dev/sda Filesystem Inodes IUsed IFree IUse% Mounted on udev 123K 332 123K 1% /dev
Утилита du (disk usage) – используется для оценки занимаемого файлового пространства. Показывает размер файлов и каталогов, как в совокупности, так и по отдельности.
Синтаксис команды
# du опции файл/устройство
Основные опции
-a, —all – выдавать размеры всех файлов в системе;
-b, —bytes – вывод информации в байтах;
-с, —total – показ данных об том, как используется дисковая память в целом (выводится в последней строке);
-k, —kilobytes – вывод информации в килобайтах (по умолчанию);
-s, summarize – вывод суммарного итога для каждого аргумента;
-h, —human-readable – добавление указание буквы размера, например, М – мемибайт и т.д.
Так будет выглядеть вывод при введении команды (первые десять строк)
# du –a 4 ./dir1/dir2/dir3/dir4/dir5 8 ./dir1/dir2/dir3/dir4 12 ./dir1/dir2/dir3 16 ./dir1/dir2 20 ./dir1 4 ./.viminfo 4 ./archive-directory/dir1/dir2/dir3/dir4/dir5 8 ./archive-directory/dir1/dir2/dir3/dir4 12 ./archive-directory/dir1/dir2/dir3 16 ./archive-directory/dir1/dir2
Использование опции -а и -h выводит информацию об использовании дискового пространства файлами и каталогами в удобном для чтения формате, например, в кило-, мегабайтах и т.д.
root@debian:~# du -ah 4.0K ./dir1/dir2/dir3/dir4/dir5 8.0K ./dir1/dir2/dir3/dir4 12K ./dir1/dir2/dir3 16K ./dir1/dir2 20K ./dir1 4.0K ./.viminfo 4.0K ./archive-directory/dir1/dir2/dir3/dir4/dir5 8.0K ./archive-directory/dir1/dir2/dir3/dir4 12K ./archive-directory/dir1/dir2/dir3 16K ./archive-directory/dir1/dir2
Проверяем, сколько места у нас занимает каталог dir1
Пишем команду
# du -ch /root/dir1
Получаем вывод в килобайтах
4.0K /root/dir1/dir2/dir3/dir4/dir5 8.0K /root/dir1/dir2/dir3/dir4 12K /root/dir1/dir2/dir3 16K /root/dir1/dir2 20K /root/dir1 20K total
С помощью этой команды можем посмотреть дату создания/изменения файлов и каталогов
# du -ha --time /root/dir1
Получаем вывод
4.0K 2017-07-14 16:03 /root/dir1/dir2/dir3/dir4/dir5 8.0K 2017-07-14 16:03 /root/dir1/dir2/dir3/dir4 12K 2017-07-14 16:03 /root/dir1/dir2/dir3 16K 2017-07-14 16:03 /root/dir1/dir2 20K 2017-10-03 13:28 /root/dir1
Важно! Если не ввести ключи –а или –s, выдается информация только о размерах каталогов.
Хотите изучить Linux от А до Я? Записывайтесь на наши авторские курсы по Linux администрированию. Обещаем – будет еще интереснее, сложнее и познавательнее!