
- Главная
- Каталог
- Интернет технологии
- Bash Ready | Linux
Статистика канала
df -h только констатирует факт: «Места нет». Но она не говорит, в какой именно папке спрятался гигантский лог или забытый бэкап. Для этого есть более мощный инструмент — du (disk usage).
1. Быстрый поиск «тяжелых» папок:
Чтобы не сканировать весь диск, начните с корневых директорий:
sudo du -h --max-depth=1 / | sort -h
{}
— -h — человекочитаемый формат (Гб, Мб).
— --max-depth=1 — показывать только папки первого уровня (чтобы не утонуть в подпапках).
— sort -h — отсортировать от самых маленьких до самых огромных.
2. Топ-10 самых больших файлов и папок в текущей директории:
du -ah . | sort -rh | head -n 10
{}
3. Интерактивный вариант — ncdu:
Если не хочется вводить длинные команды, установите ncdu. Это визуальный анализатор прямо в консоли.
sudo apt install ncdu
ncdu /
{}
— Позволяет перемещаться по папкам стрелками.
— Сразу показывает шкалу занятого места.
— Позволяет удалять ненужные файлы клавишей d прямо на месте.
Важный нюанс (про удаленные файлы):
Бывает так: вы удалили огромный файл через rm, но df всё равно показывает 100% занятости. Это значит, что какой-то процесс всё еще держит этот файл открытым.
Чтобы найти такого «призрака»:
sudo lsof +L1
{}
*(После перезапуска процесса или службы место на диске окончательно освободится).*
🔥 Лайфхак: если вам нужно быстро очистить место, не удаляя файл (например, активный лог), можно просто обнулить его: > /var/log/heavy.log. Файл останется, но его размер станет 0.
htop. Можно использовать ps с правильной сортировкой.
Топ-10 процессов по потреблению RAM:
ps aux --sort=-%mem | head -n 11
{}
Разбор команды:
— ps aux — выводит список всех запущенных процессов в системе.
— --sort=-%mem — сортирует их по колонке %MEM (минус перед названием означает сортировку от большего к меньшему).
— head -n 11 — оставляет только заголовок и первые 10 строк.
Что значат колонки RSS и VSZ?
— RSS (Resident Set Size) — это реальное количество физической памяти (в килобайтах), которое процесс занимает в ОЗУ прямо сейчас. Именно на этот показатель стоит смотреть.
— VSZ (Virtual Memory Size) — это весь объем памяти, к которому процесс имеет доступ, включая библиотеки на диске и память в свопе.
Если нужно постоянно следить за памятью (обновление раз в секунду):
watch -n 1 "ps aux --sort=-%mem | head -n 10"
{}
Полезный совет:
Если вы видите, что память занята, но в списке процессов нет явного «пожирателя», проверьте кэш ядра:
free -h
{}
— Если в колонке buff/cache много гигабайт — это нормально. Linux отдает эту память приложениям мгновенно, как только она им требуется.
🔥 Если же память уходит «в никуда» и сервер падает, загляните в логи: dmesg | grep -i oom. Там вы увидите работу OOM Killer — системного механизма, который принудительно убивает самые тяжелые процессы, чтобы спасти ядро от краха.
nethogs.
Почему это круто?
В отличие от многих инструментов, которые показывают общую нагрузку на интерфейс (eth0, wlan0), nethogs группирует трафик по конкретным процессам и показывает их PID.
Установка и запуск:
sudo apt install nethogs # Для Debian/Ubuntu
sudo nethogs
{}
Разбор вывода:
— PID — идентификатор процесса.
— USER — от чьего имени запущен процесс.
— PROGRAM — путь к исполняемому файлу или имя службы.
— SENT / RECEIVED — скорость отдачи и загрузки в реальном времени.
Полезные клавиши внутри программы:
— m — переключить отображение скорости (kb/s, mb/s, b).
— r — сортировка по объему полученных данных.
— s — сортировка по объему отправленных данных.
— q — выход.
Если нужно мониторить конкретный интерфейс:
sudo nethogs eth0
{}
🔥 Это самый быстрый способ вычислить «прожорливый» скрипт, обновление системы или скрытый процесс, который решил внезапно отправить бэкап в облако в разгар рабочего дня.
lscpu
{}
— Показывает количество ядер, потоков, архитектуру и объем кэша.
2. Полный отчет о «потрохах» (Hardware):
sudo lshw -short
{}
— Выводит компактный список всех устройств: от материнской платы до сетевых адаптеров.
Разбор полезных флагов для lshw:
— -C memory — покажет только информацию об оперативной памяти (тип DDR, частоту и количество занятых слотов).
— -C disk — выведет детали всех накопителей (модель, серийный номер, объем).
— -html > server.html — создаст красивый отчет в виде веб-страницы, который можно скачать и открыть в браузере.
3. Если нужно только про диски (lsblk):
lsblk -f
{}
— Покажет дерево всех разделов, их размер и файловую систему (ext4, xfs, ntfs).
4. Если нужно только про PCI-устройства (видеокарты, контроллеры):
lspci -v
{}
Почему это важно:
— Помогает быстро проверить, видит ли система новую планку памяти или диск.
— Нужно для подбора правильных драйверов.
— Позволяет узнать серийные номера комплектующих удаленно.
🔥 Лайфхак: если lshw не установлена, почти всегда под рукой есть dmidecode. Например, sudo dmidecode -t memory выдаст подробнейшие данные о таймингах и вольтаже вашей RAM.
crontab -e
{}
*(Если спросит, какой редактор выбрать — выбирайте Nano, он проще).*
Магия пяти звёздочек:
Каждая задача в Cron описывается одной строкой по шаблону:
* * * * * /путь/к/команде
Разбор по порядку:
— Минуты (0–59)
— Часы (0–23)
— День месяца (1–31)
— Месяц (1–12)
— День недели (0–6, где 0 — воскресенье)
[Image showing crontab syntax with 5 stars explaining minute, hour, day, month, day of week]
Примеры для жизни:
— 0 3 * * * /usr/bin/backup.sh — запускать бэкап каждый день ровно в 03:00.
— */15 * * * * php /var/www/cron.php — запускать скрипт каждые 15 минут.
— 0 0 1 * * rm -rf /tmp/* — чистить временную папку первого числа каждого месяца.
Лайфхак для ленивых:
Если не хочется считать звёздочки, можно использовать сокращения:
— @reboot — выполнить один раз при загрузке системы.
— @daily — раз в сутки (в полночь).
— @hourly — раз в час.
Важный нюанс:
Всегда указывайте полные пути к программам (не python, а /usr/bin/python3), так как у Cron свои переменные окружения, и он может «не увидеть» ваши обычные команды.
🔥 Чтобы проверить, что вы запланировали, используйте crontab -l. Это выведет список всех активных задач без входа в режим редактирования.
nano /etc/nginx/nginx.conf
{}
Главные правила навигации:
— Все команды внизу экрана начинаются с символа ^. Это значит, что нужно зажать Ctrl.
— Ctrl + O (Write Out) — сохранить изменения. После нажатия нужно подтвердить имя файла клавишей Enter.
— Ctrl + X — выйти из редактора. Если вы что-то изменили, Nano спросит: «Сохранить? (Y/N)».
— Ctrl + W (Where Is) — быстрый поиск по тексту.
Полезные фишки для работы:
— Листание страницами: вместо долгого нажатия на «вниз», используйте Ctrl + V (вниз) и Ctrl + Y (вверх).
— Переход на строку: если компилятор выдал ошибку в 42-й строке, нажмите Ctrl + _ (подчеркивание) и введите номер строки.
— Вырезать и вставить: Ctrl + K вырезает целую строку, а Ctrl + U вставляет её обратно (работает как Copy-Paste).
Если нужно открыть файл только для чтения (чтобы ничего случайно не сломать):
nano -v config.php
{}
🔥 Совет: если вы зашли в файл и видите, что внизу написано не ^X Exit, а куча непонятных команд, и вы не можете выйти — скорее всего, вы случайно открыли Vim. В этом случае просто введите :q! и нажмите Enter, чтобы сбежать без сохранения.
scp (Secure Copy), которая работает через тот же защищенный SSH-протокол.
1. Копирование файла с локального компьютера на сервер:
scp my_file.txt user@server_ip:/home/user/
{}
2. Копирование файла с сервера на локальный компьютер:
scp user@server_ip:/var/log/syslog ./local_logs/
{}
3. Копирование целой папки:
Для этого используется флаг -r (recursive):
scp -r ./my_project user@server_ip:/var/www/
{}
Разбор ключевых флагов:
— -P 2222 — если SSH на сервере висит на нестандартном порту (внимание: здесь P заглавная).
— -C — включить сжатие данных при передаче (ускоряет процесс на медленных каналах).
— -p — сохранить время изменения и права доступа оригинального файла.
Важный нюанс:
Если вам нужно синхронизировать огромные объемы данных (терабайты) или докачивать файлы после обрыва связи, лучше использовать rsync. Он умнее: сравнивает файлы и передает только измененные части (дельту), экономя трафик и время.
rsync -avzP ./large_folder user@server_ip:/backup/
{}
*(Здесь -P покажет прогресс-бар и позволит продолжить загрузку при обрыве).*
🔥 Это база для любого системного администратора и разработчика: быстро, безопасно и без лишнего софта.
screen — это консольный менеджер, который позволяет создавать виртуальные терминалы. Процесс, запущенный внутри «скрина», будет жить даже если вы выключите компьютер или закроете терминал.
Базовые команды:
— Создать новое окно:
screen -S my_work
{}
— Отключиться от окна (Detach):
Нажмите Ctrl + A, затем клавишу D. Вы вернетесь в обычную консоль, но ваш процесс продолжит работать в фоне.
— Вернуться к работе (Resume):
screen -r my_work
{}
— Посмотреть список всех запущенных окон:
screen -ls
{}
Почему это удобно:
— Вы можете запустить процесс на работе, «отключиться», прийти домой, зайти на сервер и продолжить с того же места.
— Можно создавать сколько угодно окон под разные задачи.
— Если соединение оборвется само, процесс не завершится аварийно.
Лайфхак:
Если вы забыли создать «скрин» и уже запустили долгую команду, можно нажать Ctrl + Z (остановить процесс), ввести bg (перевести в фон) и затем disown (отвязать от текущей сессии). Но лучше приучить себя использовать screen или его современный аналог tmux заранее.
🔥 Теперь длинные операции больше не привязывают вас к открытому окну терминала.
lsof -p 1234
{}
2. Найти, какая программа использует конкретный файл:
Полезно, если вы пытаетесь размонтировать диск или удалить лог, а система говорит: «Device or resource busy».
lsof /var/log/nginx/access.log
{}
3. Посмотреть открытые файлы конкретного пользователя:
lsof -u www-data
{}
Разбор колонки FD (File Descriptor):
— cwd — текущая рабочая директория процесса.
— txt — исполняемый файл (бинарник программы).
— 0u, 1u, 2u — стандартный ввод (stdin), вывод (stdout) и ошибки (stderr).
— 数字r, w, u — номера дескрипторов файлов, открытых на чтение (r), запись (w) или и то, и другое (u).
Продвинутые фишки:
— Поиск сетевых соединений: lsof -i покажет все открытые порты и активные подключения.
— Поиск по папке: lsof +D /var/www/ покажет всех, кто «трогает» файлы внутри этой директории.
— Режим восстановления: если файл удален (rm), но процесс его держит, lsof пометит его как (deleted). Это ваш шанс вытащить данные через /proc, о чем мы говорили раньше.
🔥 Команда lsof — это лучший способ понять, почему растет диск, куда уходит трафик и какой именно скрипт «завис» на чтении конфигурации.
Отзывы канала
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Bash Ready | Linux — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 4.4K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 6.8, количество отзывов – 1, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 839.16 ₽, а за 6 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий