🕵️♂️ Linux: Кто занял порт? Кто держит файл? (lsof)
Классика: вы пытаетесь перезапустить Nginx, а он кричит: "Address already in use". Или пытаетесь размонтировать флешку, а Linux говорит: "Device is busy". Не гадайте. Вызывайте детектива — lsof (List Open Files).
1. Кто слушает порт 80?
Вывод покажет PID процесса. Можно сразу его убить.
2. Кто держит файл или папку? Если не дает удалить папку /var/www, узнайте, кто в ней сидит:
3. Что делает конкретный юзер?
В Linux "всё есть файл" (и сокеты, и библиотеки). Поэтому
#linux #cli #lsof #troubleshooting #sysadmin #tips
Классика: вы пытаетесь перезапустить Nginx, а он кричит: "Address already in use". Или пытаетесь размонтировать флешку, а Linux говорит: "Device is busy". Не гадайте. Вызывайте детектива — lsof (List Open Files).
1. Кто слушает порт 80?
lsof -i :80
Вывод покажет PID процесса. Можно сразу его убить.
2. Кто держит файл или папку? Если не дает удалить папку /var/www, узнайте, кто в ней сидит:
lsof +D /var/www
3. Что делает конкретный юзер?
lsof -u username
В Linux "всё есть файл" (и сокеты, и библиотеки). Поэтому
lsof видит вообще всё.#linux #cli #lsof #troubleshooting #sysadmin #tips
⌨️ Bash: Магия восклицательного знака (!)
Вы только что набрали длинную команду, но забыли sudo. Или создали папку и хотите сразу в неё зайти. Не нажимайте "Вверх" и не правьте курсором. Используйте History Expansion.
Это экономит тысячи нажатий клавиш в год.
🔹 Забыл sudo?
🔹 Использовать аргумент из прошлой команды?
🔹 Найти последнюю команду, начинающуюся на...
Маленькие трюки для большой скорости. 🏎
#linux #bash #cli #productivity #tips #shortcuts
Вы только что набрали длинную команду, но забыли sudo. Или создали папку и хотите сразу в неё зайти. Не нажимайте "Вверх" и не правьте курсором. Используйте History Expansion.
Это экономит тысячи нажатий клавиш в год.
🔹 Забыл sudo?
apt update
# Error: Permission denied
sudo !!
# Bash сам подставит последнюю команду: sudo apt update
🔹 Использовать аргумент из прошлой команды?
mkdir /var/www/html/project_x
cd !$
# Bash подставит последний аргумент: cd /var/www/html/project_x
🔹 Найти последнюю команду, начинающуюся на...
!vim
# Запустит последнюю команду, которая начиналась с "vim"
Маленькие трюки для большой скорости. 🏎
#linux #bash #cli #productivity #tips #shortcuts
🐧 Sed: Хирург для твоих конфигов
Вам нужно поменять порт в конфиге Nginx на 50 серверах. Заходить на каждый и открывать
Синтаксис:
Примеры из жизни:
1. Заменить слово во всем файле (безопасно):
2. Раскомментировать строку (удалить # в начале):
3. Удалить пустые строки (чистка мусора):
Освойте
#linux #sed #bash #automation #config #cli
Вам нужно поменять порт в конфиге Nginx на 50 серверах. Заходить на каждый и открывать
nano ? Нет. Используйте sed (Stream Editor). Он умеет находить и заменять текст прямо в файлах.Синтаксис:
s/что_искать/на_что_менять/gПримеры из жизни:
1. Заменить слово во всем файле (безопасно):
# Создаст бэкап config.conf.bak перед изменением
sed -i.bak 's/DEBUG=true/DEBUG=false/g' config.conf
2. Раскомментировать строку (удалить # в начале):
sed -i 's/^#PermitRootLogin/PermitRootLogin/' /etc/ssh/sshd_config
3. Удалить пустые строки (чистка мусора):
sed -i '/^$/d' filename.txt
Освойте
sed , и Ansible вам станет понятнее, а скрипты — мощнее.#linux #sed #bash #automation #config #cli
🦇 Linux: Хватит мучить глаза. Замени cat на bat
Команда
Встречайте
Почему это мастхэв:
1. Подсветка синтаксиса: Он сам понимает, что это за файл (JSON, YAML, SH), и раскрашивает его.
2. Git-интеграция: Слева показывает плюсики
3. Нумерация строк: Удобно говорить коллеге: "Посмотри строку 15".
4. Пейджинг: Если файл длинный, он работает как
Установка:
Попробуйте один раз, и к черно-белому тексту вы не вернетесь.
#linux #tools #cli #bat #productivity #visualization
Команда
cat (concatenate) была написана в 70-х. Она просто выплевывает текст. В 2026 году читать конфиги Nginx или Python-скрипты без подсветки синтаксиса — это боль.Встречайте
bat ("cat с крыльями").Почему это мастхэв:
1. Подсветка синтаксиса: Он сам понимает, что это за файл (JSON, YAML, SH), и раскрашивает его.
2. Git-интеграция: Слева показывает плюсики
+ и минусы - , если файл изменен относительно коммита.3. Нумерация строк: Удобно говорить коллеге: "Посмотри строку 15".
4. Пейджинг: Если файл длинный, он работает как
less (не забивает терминал).Установка:
sudo apt install bat
# В Debian/Ubuntu бинарник может называться batcat, поэтому делаем алиас:
alias cat='batcat'
Попробуйте один раз, и к черно-белому тексту вы не вернетесь.
#linux #tools #cli #bat #productivity #visualization
✍2
🧹 ncdu: Уборка мусора с комфортом
Вы запускаете
Используйте
Почему это топ:
1. Скорость: Она сканирует диск молниеносно.
2. Интерактивность: Вы ходите стрелочками по папкам, как в файловом менеджере. Сразу видно: "Ага, это логи Docker занимают 20 ГБ".
3. Удаление: Нашли мусор? Нажали
Установка:
Лайфхак: Чтобы не сканировать примонтированные сетевые шары (и не положить сеть), используйте флаг
#linux #storage #ncdu #cleanup #tools #cli #sysadmin
Вы запускаете
df -h и видите, что диск / занят на 95%. Что делать? Запускать du -sh /* и ждать полчаса? Это метод каменного века.Используйте
ncdu (NCurses Disk Usage).Почему это топ:
1. Скорость: Она сканирует диск молниеносно.
2. Интерактивность: Вы ходите стрелочками по папкам, как в файловом менеджере. Сразу видно: "Ага, это логи Docker занимают 20 ГБ".
3. Удаление: Нашли мусор? Нажали
d — подтвердили — удалили. Не нужно копировать пути и писать rm .Установка:
apt install ncdu # Debian/Ubuntu
yum install ncdu # CentOS
Лайфхак: Чтобы не сканировать примонтированные сетевые шары (и не положить сеть), используйте флаг
-x :
ncdu -x /
#linux #storage #ncdu #cleanup #tools #cli #sysadmin
🚀 Linux: Забудь про netstat. Используй ss
Если ваши пальцы по привычке набирают
Король умер. Да здравствует
Почему ss лучше: Она берет данные напрямую из ядра через Netlink API. Это работает мгновенно.
Шпаргалка:
1. Показать все слушающие порты (аналог netstat):
2. Показать все установленные соединения SSH:
3. Показать статистику по памяти сокетов (важно при DDoS):
Приучайте себя к новому стандарту.
#linux #networking #ss #netstat #performance #tools #cli
Если ваши пальцы по привычке набирают
netstat -tulpn , остановитесь. Утилита netstat (пакет net-tools) официально устарела (deprecated) уже более 10 лет назад. Она медленная, потому что парсит файлы /proc построчно. Если у вас 10 000 соединений, netstat повесит консоль.Король умер. Да здравствует
ss (Socket Statistics).Почему ss лучше: Она берет данные напрямую из ядра через Netlink API. Это работает мгновенно.
Шпаргалка:
1. Показать все слушающие порты (аналог netstat):
ss -tulpn
2. Показать все установленные соединения SSH:
ss -o state established '( dport = :ssh or sport = :ssh )'
3. Показать статистику по памяти сокетов (важно при DDoS):
ss -s
Приучайте себя к новому стандарту.
#linux #networking #ss #netstat #performance #tools #cli
👍1
📊 Linux: Хватит щуриться в df -h. Ставь duf
Вы пишете
Поставьте
Почему это мастхэв:
1. Красота: Рисует цветные бары (сколько занято/свободно). Глаз считывает инфо за 0.1 сек.
2. Группировка: Сам отделяет локальные диски, сетевые шары и псевдо-ФС (tmpfs).
3. JSON: Умеет отдавать вывод в JSON для скриптов мониторинга.
Установка:
Один раз увидите — и удалите алиас на
#linux #storage #duf #cli #tools #visualization #diskusage
Вы пишете
df -h , чтобы проверить место. И видите кривую таблицу, где заголовки съехали, а tmpfs перемешана с реальными дисками. В 2026 году это несерьезно.Поставьте
duf (Disk Usage/Free).Почему это мастхэв:
1. Красота: Рисует цветные бары (сколько занято/свободно). Глаз считывает инфо за 0.1 сек.
2. Группировка: Сам отделяет локальные диски, сетевые шары и псевдо-ФС (tmpfs).
3. JSON: Умеет отдавать вывод в JSON для скриптов мониторинга.
Установка:
sudo apt install duf
Один раз увидите — и удалите алиас на
df .#linux #storage #duf #cli #tools #visualization #diskusage
✍2
🚀 Skill: croc — передача файлов сквозь огонь и NAT 🐊
Проблема: нужно быстро перекинуть лог в 5 ГБ с сервера на ноут.
* scp? Нужно прописывать ключи.
* Облако? Долго и небезопасно.
* FTP? Вы серьезно?
Решение: croc.
Это Open Source инструмент (на Go), который создает P2P-туннель между двумя любыми компьютерами, даже если они оба за жестким NAT-ом.
Как это работает:
На сервере:
Вывод: Code is: 1234-super-secret
На ноуте:
В чем магия:
1. Шифрование PAKE (пароль знает только отправитель и получатель).
2. Возобновление прерванной закачки.
3. Никаких промежуточных серверов хранения — чистая скорость канала.
4. Это "Teleport" для файлов, который должен быть в арсенале каждого админа. 💎
#tools #cli #opensource #sysadmin #filetransfer #croc #security #networking
Проблема: нужно быстро перекинуть лог в 5 ГБ с сервера на ноут.
* scp? Нужно прописывать ключи.
* Облако? Долго и небезопасно.
* FTP? Вы серьезно?
Решение: croc.
Это Open Source инструмент (на Go), который создает P2P-туннель между двумя любыми компьютерами, даже если они оба за жестким NAT-ом.
Как это работает:
На сервере:
croc send my_huge_log.log
Вывод: Code is: 1234-super-secret
На ноуте:
croc 1234-super-secret
В чем магия:
1. Шифрование PAKE (пароль знает только отправитель и получатель).
2. Возобновление прерванной закачки.
3. Никаких промежуточных серверов хранения — чистая скорость канала.
4. Это "Teleport" для файлов, который должен быть в арсенале каждого админа. 💎
#tools #cli #opensource #sysadmin #filetransfer #croc #security #networking
👍2❤1🔥1👏1
🐧 Proxmox: Спасаем зависшую виртуалку, когда Web-интерфейс «умер» 🚑
Знакомая ситуация: виртуалка намертво повисла в статусе `Locked` (например, во время бэкапа), кнопка "Stop" в веб-морде Proxmox (PVE) крутится бесконечно, а нагрузка на ноду растет.
Вместо того чтобы судорожно ребутать весь гипервизор и ронять соседние машины, спускаемся в консоль.
Алгоритм реанимации (SSH на ноду PVE):
1. Снимаем лок с ВМ:
2. Пытаемся остановить штатно:
3. Если не помогло — убиваем процесс KVM:
После этого виртуалка гарантированно потухнет, и её можно будет запустить заново с чистой совестью.
#proxmox #linux #virtualization #troubleshooting #cli #sysadmin #admin_future
Знакомая ситуация: виртуалка намертво повисла в статусе `Locked` (например, во время бэкапа), кнопка "Stop" в веб-морде Proxmox (PVE) крутится бесконечно, а нагрузка на ноду растет.
Вместо того чтобы судорожно ребутать весь гипервизор и ронять соседние машины, спускаемся в консоль.
Алгоритм реанимации (SSH на ноду PVE):
1. Снимаем лок с ВМ:
# Разблокируем виртуалку с ID 100
qm unlock 100
2. Пытаемся остановить штатно:
qm stop 100
3. Если не помогло — убиваем процесс KVM:
# Ищем PID процесса виртуалки
ps aux | grep "/usr/bin/kvm -id 100"
# Жестко убиваем найденный PID (например, 12345)
kill -9 12345
После этого виртуалка гарантированно потухнет, и её можно будет запустить заново с чистой совестью.
Консоль — наше всё!
#proxmox #linux #virtualization #troubleshooting #cli #sysadmin #admin_future
🐧 Linux: Быстрее тени. Почему find уходит на пенсию в 2026-м
Привет, коллеги! Понедельник, 16 марта, начинаем неделю с очистки кармы и ускорения пальцев. Если ты до сих пор ждешь по три минуты, пока find / прочешет твои терабайтные NVMe-массивы на ARM-кластере, то у меня для тебя плохие новости: твое время стоит дороже, чем циклы процессора. В 2026-м, когда плотность данных зашкаливает, админ должен находить иголку в стоге сена за миллисекунды.
Техническая суть:
Практика:
Забудь про бесконечное ожидание. Используй современные инструменты для поиска битых конфигов или утечек в логах:
Зачем это нужно:
#linux #performance #rust #cli #sysadmin #admin_future
Привет, коллеги! Понедельник, 16 марта, начинаем неделю с очистки кармы и ускорения пальцев. Если ты до сих пор ждешь по три минуты, пока find / прочешет твои терабайтные NVMe-массивы на ARM-кластере, то у меня для тебя плохие новости: твое время стоит дороже, чем циклы процессора. В 2026-м, когда плотность данных зашкаливает, админ должен находить иголку в стоге сена за миллисекунды.
Техническая суть:
Мы переходим на связку fd и ripgrep (rg).
Под капотом: В отличие от классического find, который последовательно обходит дерево ФС, fd использует многопоточность и по умолчанию игнорирует скрытые папки и .gitignore. А ripgrep — это grep на стероидах, написанный на Rust, который пролетает сквозь бинарные логи и огромные конфиги, используя SIMD-инструкции процессоров ARM и x86. Это не просто «быстрее», это другой уровень отзывчивости системы.
Практика:
Забудь про бесконечное ожидание. Используй современные инструменты для поиска битых конфигов или утечек в логах:
# 1. Найти все файлы .conf в /etc, измененные за последние 10 минут
# Быстрее, чем ты успеешь моргнуть
fd -e conf -t f --changed-within 10m . /etc
# 2. Найти строку "error" во всех логах, игнорируя бинарный мусор
# -z позволяет искать даже в сжатых .gz архивах (must have 2026)
rg -z "critical_error" /var/log/app/
# 3. Киллер-фича: интерактивный поиск через fzf
# Интегрируем fd в fzf для мгновенного перехода к файлу
alias pf="fd -t f | fzf --preview 'bat --color=always {}' | xargs -r vim"
Зачем это нужно:
Для бизнеса это сокращение времени простоя (MTTR). Пока твой коллега смотрит на мигающий курсор find, ты уже нашел проблемную строчку в конфиге, поправил её и ушел обсуждать план миграции на новый сегмент сети.
#linux #performance #rust #cli #sysadmin #admin_future
👍4
🪟 Windows: Официальный sudo — конец эпохи лишних окон консоли
Мы только что обсуждали, как Linux избавляется от sudo в пользу run0. Иронично, но в мире Windows происходит ровно обратное. В Windows 11 и Windows Server 2025 утилита sudo стала официальной встроенной частью операционной системы.
Границы между администрированием Windows и Linux продолжают стираться. Консоль становится универсальным и удобным местом для работы.
#windows #sudo #cli #powershell #sysadmin #admin_future
Мы только что обсуждали, как Linux избавляется от sudo в пользу run0. Иронично, но в мире Windows происходит ровно обратное. В Windows 11 и Windows Server 2025 утилита sudo стала официальной встроенной частью операционной системы.
Вы открыли обычный PowerShell, пишите скрипт, пытаетесь перезапустить службу, и получаете Access Denied. Приходилось тянуться за мышкой, искать ярлык PowerShell, нажимать «Запуск от имени администратора», копировать туда команду и выполнять.
Microsoft добавила нативный sudo. Прямо в текущем окне с правами обычного пользователя вы пишете:
sudo Restart-Service -Name W3SVC
В настройках системы (Settings — For developers — Enable sudo) админ может выбрать один из трех режимов работы:
1. В новом окне (In a new window) — классическое поведение Windows.
2. С отключенным вводом (With input disabled) — команда выполнится в этом же окне, но не сможет запрашивать у вас дополнительные данные (безопасный режим для скриптов).
3. Встроенный (Inline) — полная аналогия с Linux. Команда выполняется прямо здесь и сейчас, весь вывод идет в текущую консоль.
Для удобства и скорости. Если вы много работаете в терминале Windows Terminal, вам больше не нужно жонглировать вкладками с разными уровнями привилегий.
Границы между администрированием Windows и Linux продолжают стираться. Консоль становится универсальным и удобным местом для работы.
#windows #sudo #cli #powershell #sysadmin #admin_future