Блог компанії 3v-Hosting

Як дізнатися розмір файлів або папок у Linux

Адміністрування

5 хв.


Іноді виникає необхідність не просто отримати дані про розмір файлу або файлів у директорії, а також на цілому розділі вашого Linux сервера, а й провести деякі манімуляції з цими даними. У таких випадках інструмент du в Linux є найпотужнішим і просто незамінним для будь-якого системного адміністратора. А у поєднанні з іншими утилітами - він стає поза конкуренцією.
У цій короткій статті ми розглянемо основні можливості утиліти du і сподіваємося, що незалежно від того, є досвідченим користувачем Linux або тільки починаєте свій шлях, Ви знайдете в цьому посібнику щось корисне.

 

 

Використання команди du

 

Найпростіший спосіб дізнатися розмір файлів і папок в Linux - використовувати команду du usa usage, що в перекладі з англійської буквально означає використання диска.

 

Щоб перевірити розмір файлу:

 

du -h filename

 

 

Щоб перевірити розмір папки та її вміст:

 

du -h folder name

 

Додавання опції «-h» робить висновок легкочитаним, показуючи розміри у більш зрозумілому форматі.

 

 

Ось основні опції утиліти:


-a, --all - виводити розмір всім файлів, а чи не лише директорій, за замовчуванням розмір виводиться лише папок;
-B, --block-size - вказати одиниці виведення розміру, доступно: K,M,G,T,P,E,Z,Y для 1024 і KB, MB тощо для 1000;
-c, --total - виводити наприкінці загальний розмір всіх папок;
-d, --max-depth – максимальна глибина вкладеності директорій;
-h, --human-readable - виводити розмір в одиницях виміру зручних для людини;
--inodes - виводити інформацію про використання inode;
-L, --dereference - слідувати за всіма символічними посиланнями;
-l, --count-links - враховувати розмір файлу кілька разів для твердих посилань;
-P, --no-dereference - не слідувати за символічними посиланнями, ця поведінка використовується за умовчанням;
-S, --separate-dirs - не включати розмір підпапок у розмір папки;
--si - виводити розмір файлів та папок у системі сі, використовується 1000 замість 1024;
-s, --summarize - виводити лише загальний розмір;
-t, --threshold - не враховувати файли та папки з розміром менше зазначеного;
--time - відображати час останньої модифікації для файлу чи папки, замість часу модифікації можна виводити такі мітки: atime, access, use, ctime;
-X, --exclude - виключити файли з підрахунку;
-x, --one-file-system - пропускати вмонтовані файлові системи;
--version – вивести версію утиліти.

 

 

Приклади

 

Відображення розмірів у відсортованому порядку

 

Іноді вам може знадобитися відсортувати файли та папки залежно від їх розмірів. Для цього команду du можна комбінувати з іншими командами.

Щоб переглянути файли та папки у поточному каталозі, відсортовані за розміром:

 

du -ch | sort -rh

 

Ця команда сортує вихідні дані у зворотному порядку, показуючи спочатку найбільші файли чи папки.

 

 

Рекурсивна перевірка розмірів

Якщо ви хочете перевірити розміри файлів і папок у підкаталогах, вам знадобляться опції "-a" та "-d".

Щоб перевірити розмір кожного файлу, включаючи файли в підкаталогах:

 

du -ah

 

 

Щоб перевірити розмір кожного підкаталогу:

 

du -h --max-depth=1

 

Опція '-max-depth=1' обмежує глибину рекурсії безпосередніми підкаталогами.

 

 

Використання ncdu для інтерактивного дослідження

Для більш інтерактивного та візуально привабливого відображення можна використовувати команду «ncdu». Встановити ncdu можна за допомогою команд:

 

sudo apt-get install ncdu # For Debian/Ubuntu
sudo yum install ncdu # For CentOS/RHEL

 

Після встановлення запустіть:

 

ncdu

 

Це забезпечує інтерактивний інтерфейс для вивчення та навігації за вашою файловою системою, відображаючи розміри у чіткій та короткій формі.

 

 

Пошук великих файлів

Якщо ви особливо зацікавлені в ідентифікації великих файлів, команда find може бути корисною.

Щоб знайти файли розміром більше зазначеного (наприклад, 100 МБ) – виконайте таку команду:


find /path/to/search -type f -size +100M

 

Ця команда шукає файли розміром більше 100 МБ у вказаному каталозі.

 

 

Пошук останнього зміненого файлу

Для показу разом з інформацією про місце інформації про час останньої модифікації будь-якого файлу в директорії або в будь-яких піддиректоріях використовується прапор --time.

 

du -ha --time /home/

 

 

 

Висновок

Ми привели лише малу частину можливостей утиліти du. Якщо Ви плануєте розвивати свої навички адміністрування серверів Лінукс - насамперед ми рекомендуємо Вам ознайомитися з офіційним мануалом з використання даної утиліти. І хоча в наш час в мережі дуже багато різноманітних прикладів її використання базова інформація завжди важлива і засвоївши її, Ви самостійно зумієте комбінувати різні параметри для досягнення необхідного результату.