Команди за дисково пространство в Ubuntu

Ubuntu е популярна Linux операционна система. Управлението на дисковото пространство е важна част от работата с Ubuntu. Тази статия ще ви запознае с основните команди за работа с дисково пространство.
Основни концепции
Какво е дисково пространство?
Дисковото пространство е мястото за съхранение на вашия компютър. То се измерва в байтове, килобайти, мегабайти, гигабайти и терабайти. Всички ваши файлове, програми и операционната система заемат дисково пространство.
Файлова система в Ubuntu
Ubuntu използва йерархична файлова система. Всичко започва от главната директория, означена с наклонена черта (/). Различните дискови дялове се „монтират“ към тази структура.
Команди за проверка на дисково пространство
1. df (Disk Free)
Командата df
показва свободното място на всички монтирани дискове.
Основно използване:
df
С опция за човешки четим формат:
df -h
Какво показва изходът:
- Filesystem: името на дисковия дял
- Size: общ размер
- Used: използвано пространство
- Avail: свободно пространство
- Use%: процент на използване
- Mounted on: точка на монтиране
2. du (Disk Usage)
Командата du
показва колко пространство заемат директориите.
Основно използване за текуща директория:
du
За определена директория:
du /home
С опции за по-добра четимост:
du -sh *
Опции на du:
- -s: обобщен изглед
- -h: човешки четим формат
- *: всички файлове и директории
3. ncdu
ncdu е интерактивен инструмент за анализ на дисковото пространство.
Инсталиране:
sudo apt install ncdu
Стартиране:
ncdu
Предимства на ncdu:
- Интерактивен интерфейс
- Лесна навигация
- Визуално представяне на данните
[предишните секции остават непроменени]
Разширени команди за анализ на дисково пространство
1. Сортиране и филтриране на резултати
Намиране на най-големите директории:
du -sh * | sort -h | tail -n 5
Какво прави тази команда:
- du -sh *: показва размера на всички файлове и директории
- sort -h: сортира резултатите по размер
- tail -n 5: показва само последните 5 (най-големи) резултата
Варианти на командата:
du -sh * | sort -rh | head -n 5 # Показва 5-те най-големи в обратен ред
du -sh * | grep "^[0-9]*G" # Показва само директории в гигабайти
2. Намиране на големи файлове
Търсене на файлове над определен размер:
find / -type f -size +100M -exec ls -lh {} \; | sort -k5 -rh
Обяснение на командата:
- find /: търси от главната директория
- -type f: търси само файлове
- -size +100M: търси файлове над 100 мегабайта
- -exec ls -lh {} \;: изпълнява ls -lh за всеки намерен файл
- sort -k5 -rh: сортира по петата колона (размер) в обратен ред
3. Анализ на специфични типове файлове
Намиране на дублирани файлове:
fdupes -r /home
Инсталиране на fdupes:
sudo apt install fdupes
Търсене на специфични файлови разширения:
find /home -type f -name "*.log" -size +10M
4. Визуализация на дисковото пространство
Инсталиране на Filelight (графичен инструмент):
sudo apt install filelight
Стартиране:
filelight
Предимства на Filelight:
- Кръгова диаграма на използването на диска
- Интерактивно навигиране
- Лесно идентифициране на големи файлове и директории
5. Проследяване на промените в дисковото пространство
Създаване на скрипт за ежедневен отчет:
#!/bin/bash
date >> disk_usage_log.txt
df -h >> disk_usage_log.txt
echo "-------------------" >> disk_usage_log.txt
Добавяне към crontab за ежедневно изпълнение:
0 0 * * * /path/to/script.sh
Практически сценарии
1. Почистване на системата
Цялостно почистване:
sudo apt clean
sudo apt autoremove
sudo journalctl --vacuum-time=3d
Почистване на временни файлове:
sudo rm -rf /tmp/*
sudo rm -rf ~/.cache/thumbnails/*
2. Компресиране на големи директории
Архивиране на неизползвани файлове:
tar -czf archive.tar.gz directory_to_compress
3. Анализ на лог файлове
Намиране и компресиране на големи лог файлове:
find /var/log -type f -name "*.log" -size +50M -exec gzip {} \;
Допълнителни съвети
- Използвайте
ncdu
с различни опции:
ncdu -x / # Сканира само локалната файлова система
ncdu -rx / # Само за четене, предотвратява случайни изтривания
- Създайте алиаси за често използвани команди:
echo 'alias diskspace="df -h"' >> ~/.bashrc
echo 'alias dirsize="du -sh * | sort -h"' >> ~/.bashrc
- Използвайте
iotop
за мониторинг на дисковата активност:
sudo apt install iotop
sudo iotop
[останалите секции остават непроменени]
Управление на дисковото пространство
1. Освобождаване на място
Команди за почистване:
sudo apt clean
sudo apt autoremove
Какво правят:
- apt clean: изтрива изтеглените пакетни файлове
- apt autoremove: премахва ненужните пакети
2. Добавяне на нов диск
Стъпки за добавяне:
- Физическо свързване на диска
- Идентифициране с:
lsblk
- Форматиране (ако е необходимо):
sudo mkfs.ext4 /dev/sdX
- Създаване на точка за монтиране:
sudo mkdir /mnt/newdisk
- Монтиране:
sudo mount /dev/sdX /mnt/newdisk
3. Автоматично монтиране при стартиране
За постоянно монтиране, редактирайте файла /etc/fstab:
sudo nano /etc/fstab
Добавете ред:
/dev/sdX /mnt/newdisk ext4 defaults 0 2
Мониторинг на дисковото пространство
1. Автоматични известия
Можете да настроите известия за пълен диск:
sudo apt install quota
2. Периодична проверка
Създайте скрипт за проверка:
#!/bin/bash
df -h | grep -vE '^Filesystem|tmpfs|cdrom'
Добавете го към cron за автоматично изпълнение:
crontab -e
Често срещани проблеми
1. Пълен диск
Решения при пълен диск:
- Изтрийте ненужни файлове
- Преместете данни на външен диск
- Добавете ново дисково пространство
2. Бавна работа на диска
Причини за бавна работа:
- Фрагментация на файловата система
- Остаряващ хардуер
- Прекалено много процеси, четящи/пишещи на диска
Добри практики
- Редовно наблюдавайте дисковото пространство
- Поддържайте поне 10% свободно място
- Архивирайте важните данни
- Използвайте подходящи файлови системи
- Планирайте нуждите от дисково пространство предварително
Заключение
Управлението на дисковото пространство е важно умение за всеки Ubuntu потребител. С правилните команди и знания, можете ефективно да следите и управлявате вашето дисково пространство.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut