Как узнать размер папки в linux
Перейти к содержимому

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

  • автор:

Узнаем размер папки в Linux

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

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

Способы определения размера папки

Пользователи операционных систем на базе Linux знают, что большинство действий в них решаются несколькими способами. Так и в случае с определением размера папки. Такая, на первый взгляд, тривиальная задача может ввести в ступор «новичка», но инструкция, которая будет приведена ниже, поможет во всем детально разобраться.

Способ 1: Терминал

Чтобы получить подробнейшую информацию о размере папок в Linux, лучше воспользоваться командой du в «Терминале». Хотя данный способ может отпугнуть неопытного пользователя, который только перешел на Linux, он отлично подойдет для выяснения нужной информации.

Синтаксис

Вся структура утилиты du выглядит следующим образом:

du
du название_папки
du [опция] название_папки

Как видно, синтаксис у нее может строиться по-разному. Например, при выполнении команды du (без указания папки и опции) вы получите стену текста с перечислением размеров всех папок в текущей директории, что крайне неудобно для восприятия.

выполнение команды du в терминале

Лучше использовать опции, если вы хотите получить структурированные данные, подробнее о чем будет рассказано ниже.

Опции

Перед демонстрацией наглядных примеров команды du стоит перечислить ее опции, чтобы использовать все возможности при сборе информации о размере папок.

  • — вывести на экран сведения о суммарном размере файлов, помещенных в каталог (в конце списка указывается суммарный объем всех файлов в папке).
  • --apparent-size — показать достоверный объем помещенных внутрь каталогов файлов. Параметры некоторых файлов в папке иногда бывают недействительными, на это влияет множество факторов, так что использование этой опции помогает удостовериться в корректности данных.
  • -B, --block-size=РАЗМЕР — перевести полученные результаты в килобайты (K), мегабайты (M), гигабайты (G), терабайты (T). Например, команда с опцией -BM выведет размер папок в мегабайтах. Обратите внимание, что при использовании различных величин их значение имеет погрешность, ввиду округления до меньшего целого числа.
  • -b — отображать данные в байтах (равнозначно --apparent-size и --block-size=1).
  • — показывать общий итог подсчета размера папки.
  • -D — приказ проследовать лишь по тем ссылкам, которые указаны в консоли.
  • --files0-from=ФАЙЛ — показать отчет по использованию диска, чье имя будет введено вами в графу «ФАЙЛ».
  • -H — равнозначен ключу -D.
  • -h — перевести все значения в понятный для человека формат, используя соответствующие единицы измерения данных (килобайты, мегабайты, гигабайты и терабайты).
  • --si — практически равносильна прошлой опции, за исключением того, что использует делитель, равный одной тысяче.
  • -k — отображать данные в килобайтах (то же самое, что и команда --block-size=1000).
  • -l — приказ приплюсовывать все данные в том случае, когда есть боле одной сноски на один и тот же объект.
  • -m — отображать данные в мегабайтах (аналогично команде --block-size-1000000).
  • -L — строго следовать указанным символьным ссылкам.
  • -P — аннулирует предыдущую опцию.
  • -0 — каждую выводимую строчку информации заканчивать нулевым байтом, а не начинать новую строку.
  • -S — при подсчете занятого пространства не учитывать размер самих папок.
  • -s — показывать размер лишь той папки, которую вы указали в качестве аргумента.
  • -x — не выходить за пределы указанной файловой системы.
  • --exclude=ОБРАЗЕЦ — игнорировать все файлы, совпадающие с «Образцом».
  • -d — задать глубину следования папкам.
  • --time — показать сведения о последних изменениях в файлах.
  • --version — уточнить версию утилиты du.

Теперь, зная все опции команды du, вы сможете самостоятельно применять их на практике, осуществляя гибкую настройку сбора информации.

Примеры использования

Напоследок, чтобы закрепить полученную информацию, стоит рассмотреть несколько примеров использования команды du.

Без ввода дополнительных опций утилита будет автоматически выводить имена и размер папок, расположенных по указанному пути, попутно выводя также и подпапки.

выполнение комы du без опций в терминале

Для вывода данных об интересующей вас папке введите ее имя в контекст команды. К примеру:

du /home/user/Загрузки
du /home/user/Изображения

выполнение команды du с указанием папки

Чтобы было проще воспринимать всю выводимую информацию, воспользуйтесь опцией -h. Она подстроит размер всех папок под общепринятые единицы измерения цифровых данных.

du -h /home/user/Загрузки
du -h /home/user/Изображения

выполнение команды du с опцией -h и указанием папки

Для полного отчета об объеме, занимаемом определенной папкой, укажите вместе с командой du опцию -s, а после — имя интересующей вас папки.

du -s /home/user/Загрузки
du -s /home/user/Изображения

выполнение команды du с опцией -s и указанием папки

Но удобнее будет задействовать опции -h и -s вместе.

du -hs /home/user/Загрузки
du -hs /home/user/Изображения

выполнение команды du с опциями -h и -s и указанием папки

Опция применяется для вывода общей суммы, занимаемого папками места (ее можно применить вместе с опциями -h и -s).

du -chs /home/user/Загрузки
du -chs /home/user/Изображения

выполнение команды du с опцией -c и указанием папки в терминале

Еще одна крайне полезная «фишка», о которой не было сказано выше, — это опция ----max-depth. С помощью нее вы сможете задать глубину, с которой утилита du будет следовать папкам. Например, при указанном коэффициенте глубины в одну единицу, будут просмотрены данные о размере всех без исключения папок, указанных в данном отрезке, а папки в них будут проигнорированы.

выполнение команды du с опцией --max-depth в терминале

Выше были приведены самые популярные применения утилиты du. Используя их, вы сможете добиться желаемого результата — узнать размер папки. Если же опций, используемых в примерах, вам покажется мало, то можете самостоятельно разобраться с остальными, применяя их на практике.

Способ 2: Файловый менеджер

Безусловно, «Терминал» способен предоставить просто кладезь информации о размере папок, но рядовому пользователю будет сложно в нем разобраться. Куда привычней наблюдать графический интерфейс, нежели набор символов на темном фоне. В этом случае, если нужно узнать лишь размер одной папки, лучшим вариантом будет воспользоваться файловым менеджером, который установлен в Linux по умолчанию.

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

Чтобы узнать размер папки в Linux с помощью файлового менеджера, выполните следующие действия:

  1. Откройте менеджер файлов, нажав по иконке на панели задач или проведя поиск по системе. запуск файлового менеджера в linux
  2. Перейдите в директорию, где находится нужная папка.
  3. Нажмите правой кнопкой мыши (ПКМ) по папке.
  4. Из контекстного меню выберите пункт «Свойства». контекстное меню папки в linux

После проделанных манипуляций перед вами появится окно, в котором нужно отыскать строку «Содержание» (1), напротив нее и будет указан размер папки. Кстати, чуть ниже будет находиться информация об оставшемся свободном месте на диске (2).

размер занимаемого пространства папкой в ее свойствах в linux

Заключение

По итогу вы имеете два способа, с помощью которых можно узнать размер папки в операционных системах на базе Linux. Хоть они и предоставляют одну и туже информацию, варианты ее получения кардинально отличаются. Если вам надо быстро узнать размер одной папки, то идеальным решением будет использование файлового менеджера, а если вам нужно получить как можно больше информации, то отлично подойдет «Терминал» с утилитой du и ее опциями.

Как посмотреть размер папки в 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

wBQrZNUcmqcUQAAAABJRU5ErkJggg= https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3031391294356171

Выводы

В статье мы вкратце рассказали о том, как посмотреть размер папки в Linux и ее вложений с помощью утилиты du. Заодно упомянули возможность сортировки и другие важные нюансы. А если вам интересны еще сценарии использования du в терминале Linux, то ознакомьтесь с данной статьей. Там подробно разобран ее синтаксис, доступные опции и конкретные примеры.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

How can I calculate the size of a directory?

How to know the size of a directory? Including subdirectories and files.

12 Answers 12

Or to get human readable output:

The -s option means that it won’t list the size for each subdirectory, only the total size.

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.

Boris Yakubchik's user avatar

GNU du takes a -b option.

See the man page and the info page for more help:

-b , —bytes is equivalent to —apparent-size —block-size=1

-c produces grand total

Jeff Schaller's user avatar

du -ahd 1 | sort -h will have a better visualization that sorted the items.

Yang's user avatar

you can also use ls -ldh:

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 helps find large directories to then sift through using du -sh ./*

countermode's user avatar

You can use «file-size.sh» from the awk Velour library:

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:

How do I determine the total size of a directory (folder) from the command line?

Is there a simple command to display the total aggregate size (disk usage) of all files in a directory (folder)?

I have tried these, and they don’t do what I want:

  • ls -l , which only displays the size of the individual files in a directory, nor
  • df -h , which only displays the free and used space on my disks.

13 Answers 13

The command du «summarizes disk usage of each FILE, recursively for directories,» e.g.,

  • -h is to get the numbers «human readable», e.g. get 140M instead of 143260 (size in KBytes)
  • -s is for summary (otherwise you’ll get not only the size of the folder but also for everything in the folder separately)

As you’re using -h you can sort the human readable values using

The -h flag on sort will consider «Human Readable» size values.

If want to avoid recursively listing all files and directories, you can supply the —max-depth parameter to limit how many items are displayed. Most commonly, —max-depth=1

ketza's user avatar

4K in a regular du -sh output. However, if you pass the —apparent-size option, the output will be 6. man du says: —apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in (‘sparse’) files, internal fragmentation, indirect blocks

Recently I found a great, ncurses based interactive tool, that quickly gives you an overview about directory sizes. Searched for that kind of tool for years.

  • quickly drilldown through file hierarchy
  • you can delete e.g. huge temporary files from inside the tool
  • extremely fast

Think of it as baobab for the command line:

Edit: You can restrict the search to files in the same filesystem, use -x :

this will ignore other mounted filesystems outside where the root filesystem is hosted.

A slightly optimization is using the ‘-q’ option to increase the time between screen updates. The options can be combined:

As always, reading man ncdu is recommended.

Fjor's user avatar

This finds the size recursively and puts it next to each folder name, along with total size at the bottom, all in the human format

More information on that command here

Below is what I am using to print total, folder, and file size:

Details

Output

vivekyad4v's user avatar

tree is another useful command for this job:

Just install it via sudo apt-get install tree and type the following:

αғsнιη's user avatar

The answers have made it obvious that du is the tool to find the total size of a directory. However, there are a couple of factors to consider:

Occasionally, du output can be misleading because it reports the space allocated by the filesystem, which may be different from the sum of the sizes of the individual files. Typically the filesystem will allocate 4096 bytes for a file even if you stored just one character in it!

Output differences due to power of 2 and power of 10 units. The -h switch to du divides the number of bytes by 2^10 (1024), 2^20 (1048576) etc to give a human readable output. Many people might be more habituated to seeing powers of 10 (e.g. 1K = 1000, 1M = 1000000) and be surprised by the result.

To find the total sum of sizes of all files in a directory, in bytes, do:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *