- How can I calculate the size of a directory?
- Размеры папок и дисков в Linux. Команды df и du
- Свободное место на диске (df)
- Опция -h
- Размер конкретного диска
- Размер папок на диске (du)
- Размер конкретной папки:
- Размеры файлов и папок внутри конкретной папки:
- Как узнать размер файлов и папок в Linux
- Узнайте размеры файлов всех файлов и папок
- Изменение выводимого размера файлов
- Полезные на практике примеры команды du
- Резюме
- Вам также может понравиться
- Как добавить новый раздел диска на существующий сервер Linux
- Bat — подсветка синтаксиса. Аналог Cat.
- Как сделать файлы и каталоги неудаляемыми, даже root в Linux
- Добавить комментарий Отменить ответ
- Открой для себя мир Linux
- Свежие записи
- Категории
- Как посмотреть размер папки в Linux
- Как посмотреть размер папки в Linux
- 1. Определённая папка
- Выводы
How can I calculate the size of a directory?
The -s option means that it won’t list the size for each subdirectory, only the total size.
Actually du ‘s default unit is 512-byte blocks according to POSIX, and kilobytes on Linux (unless the environment variable POSIXLY_CORRECT is set) or with du -k .
if the directory is very big and have lots of subdirectories, it takes lots of time. almost 1 min.. is that normal? is there a way to get the size more rapidly?
While using a separate package such as ncdu may work well, the same comparison of many folders can be done, to some degree, by just giving du a list of folders to size up. For example to compare top-level directories on your system.
will list in human-readable format the sizes of all the directories, e.g.
656K ./rubberband 2.2M ./lame 652K ./pkg-config
See the man page and the info page for more help:
-b , —bytes is equivalent to —apparent-size —block-size=1
The -c doesn’t make sense to use together with -s , right? -s only displays the size of the specified directory, that is the total size of the directory.
du -ahd 1 | sort -h will have a better visualization that sorted the items.
$ du -ahd 1 | sort -h 2.1M ./jinxing.oxps 2.1M ./jx.xps 3.5M ./instances_train2014_num10.json 5.9M ./realsense 7.8M ./html_ppt 8.5M ./pytorch-segmentation-toolbox 24M ./bpycv 24M ./inventory-v4 26M ./gittry 65M ./inventory 291M ./librealsense 466M .
ls -ldh /etc drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l is for long listing ; -d is for displaying dir info, not the content of the dir, -h is for displaying size in huma readable format.
This isn’t correct, the person asking is clearly looking for footprint of a directory and it’s contents on disk. @sepp2k’s answer is correct.
The ls -ldh command only shows the size of inode structure of a directory. The metric is a reflection of size of the index table of file names, but not the actual size of the file content within the directory.
du -hax --max-depth=1 / | grep '5G' | sort -nr
This helps find large directories to then sift through using du -sh ./*
You can use «file-size.sh» from the awk Velour library:
This gives a more accurate count than du. Unpack a tarball on two servers and use «du -s» (with or without —bytes) and you will likely see different totals, but using this technique the totals will match.
The original question asked the size, but did not specify if it was the size on disk or the actual size of data.
I have found that the calculation of ‘du’ can vary between servers with the same size partition using the same file system. If file system characteristics differ this makes sense, but otherwise I can’t figure why. The ‘ls|awk» answer that Steven Penny gave yields a more consistent answer, but still gave me inconsistent results with very large file lists.
Using ‘find’ gave consistent results for 300,000+ files, even when comparing one server using XFS and another using EXT4. So if you want to know the total bytes of data in all files then I suggest this is a good way to get it:
find /whatever/path -type f -printf "%s\n"|awk ' END '
Размеры папок и дисков в 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
Как узнать размер файлов и папок в Linux
Это руководство покажет вам, как определить объем дискового пространства, которое занимает файл или папка в командной строке Linux.
Узнайте размеры файлов всех файлов и папок
Команда du суммирует использование диска для каждого файла.
В простейшей форме вы можете просто запустить следующую команду:
Это позволит просмотреть все файлы и папки в текущем каталоге. Для каждого отображаемого файла будет показан размер файла рядом с ним, а внизу будет отображаться общий размер.
Чтобы узнать, сколько места используется на всем диске, вы можете начать с корневой папки, используя следующую команду:
Возможно, вам понадобится использовать sudo вместе с командой du, чтобы повысить ваши права следующим образом:
[user@linuxtraining.ru]$ sudo du /
Основная проблема с указанной выше командой заключается в том, что она будет перечислять только размер файлов вложенных папок, а не файлов внутри них.
Чтобы получить полный список, используйте одну из следующих команд:
[user@linuxtraining.ru]$ du -a [user@linuxtraining.ru]$ du --all
Постраничную прокрутку вывода можно осуществить с помощью команд more или less:
[user@linuxtraining.ru]$ du | more du | less
Узнать размер файла отдельных файлов и папок
Если вы просто хотите узнать об использовании дискового пространства одним файлом, вы можете указать имя файла вместе с командой du следующим образом.
[user@linuxtraining.ru]$ du /path/to/file
[user@linuxtraining.ru]$ du image.png
Результат будет примерно таким:
[user@linuxtraining.ru]$ 36 image.png
Изменение выводимого размера файлов
По умолчанию размеры файлов указаны в килобайтах. Вы можете изменить размер блока на другие значения следующим образом:
[user@linuxtraining.ru]$ du -BM
Например, у меня есть файл с именем «centos.iso», который по умолчанию имеет размер 1630535680.
[user@linuxtraining.ru]$ du -BM centos.iso
Вышеуказанная команда выводит размер как 1556M.
Вы также можете использовать K или G следующим образом:
[user@linuxtraining.ru]$ du -BK centos.iso du -BG centos.iso
В килобайтах файл centos.iso показывается как 159232K.
В гигабайтах файл centos.iso показывается как 2G
На самом деле существует 8 возможных настроек, которые выглядят следующим образом:
• К — Килобиты
• M — мегабайты
• G — гигабайт
• Т-терабайты
• P — Petabytes
• E — Exabytes
• Z — Zetabytes
• Y — Yottabyte
Если вы будете пытаться получить корректный размер для списка файлов, это сложно. Например, файл размером в 100 байт должен отображаться как байты, но файл с размером 16 гигабайт будет лучше показан в гигабайтах.
Чтобы получить соответствующий размер файла на основе отображаемого файла, используйте одну из следующих команд:
[user@linuxtraining.ru]$ du -h [user@linuxtraining.ru]$ du -human-readble
Подведите итоги
Вы можете использовать команду du, чтобы показать общий размер файлов и папок, используя следующие команды:
[user@linuxtraining.ru]$ du -c [user@linuxtraining.ru]$ du --total
Получить суммарный размер, списка файлов и папок, можно используя следующие команды:
[user@linuxtraining.ru]$ du -s [user@linuxtraining.ru]$ du --summarize
Полезные на практике примеры команды du
Список самых больших директорий/файлов в текущей директории
[user@linuxtraining.ru]$ du -hs */ | sort -hr
[user@linuxtraining.ru]$ du -h --max-depth=1 | sort -rh
Посмотреть сумму всех файлов в папке
[user@linuxtraining.ru]$ du -sh *
Резюме
Вы можете узнать больше о команде du, выполнив команду man в терминале.
Другая команда, которую вы, возможно, захотите прочитать, — это команда df, которая сообщает об использовании файловой системы и дискового пространства.
Вам также может понравиться
Как добавить новый раздел диска на существующий сервер Linux
Bat — подсветка синтаксиса. Аналог Cat.
Как сделать файлы и каталоги неудаляемыми, даже root в Linux
Добавить комментарий Отменить ответ
Открой для себя мир Linux
Находи на нашем сайте интересные статьи и мануалы. Учись, развивайся.
Свежие записи
Категории
Как посмотреть размер папки в Linux
Посмотреть занимаемое место конкретной директории на диске Linux получится через любой файловый менеджер. Достаточно открыть свойства файла. Но там информация отображается в кратком виде, а нередко нужны подробности. С помощью утилиты ls получить детальные сведения не получится. А вот утилита du для этих целей подойдет отлично.
В данной статье мы расскажем, как посмотреть размер папки в Linux с помощью du. Для этого разберем два примера ее использования.
Как посмотреть размер папки в Linux
Сначала мы опишем, как получить информацию об определенной папке, с учетом или без учета ее вложений. А потом перейдем к подпапкам в конкретном каталоге. Заодно упомянем несколько полезных нюансов работы с du, например, возможность сортировки данных.
1. Определённая папка
В качестве примера возьмем папку Downloads. Команда для вывода ее размера выглядит следующим образом:
sudo du -sh /home/root-user/Downloads
В результате выведется её занимаемое место на диске:
Второй полезный сценарий использования утилиты du заключается в выводе размера всех вложенных папок в определенной директории, без учета файлов внутри. Опять в качестве примера возьмем директорию Downloads. Вот нужная нам команда:
sudo du -h /home/root-user/Downloads
Выводы
В статье мы вкратце рассказали о том, как посмотреть размер папки в Linux и ее вложений с помощью утилиты du. Заодно упомянули возможность сортировки и другие важные нюансы. А если вам интересны еще сценарии использования du в терминале Linux, то ознакомьтесь с данной статьей. Там подробно разобран ее синтаксис, доступные опции и конкретные примеры.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.