Блог компанії 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. Якщо Ви плануєте розвивати свої навички адміністрування серверів Лінукс - насамперед ми рекомендуємо Вам ознайомитися з офіційним мануалом з використання даної утиліти. І хоча в наш час в мережі дуже багато різноманітних прикладів її використання базова інформація завжди важлива і засвоївши її, Ви самостійно зумієте комбінувати різні параметри для досягнення необхідного результату.