Admin Guides | Сисадмин

Description
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides
Advertising
We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago

1 month, 3 weeks ago
**Упрощение поиска и устранения неисправностей с …

Упрощение поиска и устранения неисправностей с помощью lsof

Команда lsof в Unix-системах — это мощный инструмент для работы с открытыми файлами, процессами и сетевыми соединениями.

Чтобы сделать использование lsof проще и удобнее, рассмотрим несколько полезных приёмов: создание псевдонимов, шпаргалок и автоматизированных скриптов.

Псевдонимы для lsof

Создание псевдонимов (aliases) позволяет сократить время выполнения часто используемых команд lsof. Вот несколько примеров, которые упростят работу:

```
# Показать все открытые файлы текущего пользователя
alias showfiles="sudo lsof -u $USER"
alias showmyfiles="sudo lsof -u $USER"
alias ofiles="sudo lsof -u $USER"

# Показать процессы, связанные с портом 80 (например, веб-сервер)
alias port80="sudo lsof -i :80"

# Показать все сетевые подключения для текущего пользователя
alias mynet="sudo lsof -u $USER -i"

# Показать активные сетевые подключения
alias netactive="sudo lsof -iTCP -sTCP:ESTABLISHED"

# Показать только UDP соединения
alias netudp="sudo lsof -iUDP"
```

Эти псевдонимы можно добавить в ваш профиль (~/.bashrc или ~/.zshrc), чтобы быстро выполнять команды для различных задач.

В зависимости от вашего стиля работы и нужд, можно создавать псевдонимы для других полезных команд lsof, например, для отслеживания процессов по PID или для поиска файлов по определённым путям.

Применение скриптов для автоматизации lsof

Автоматизация часто выполняемых задач с помощью скриптов может значительно сократить время на устранение неполадок. Пример простого скрипта:

```
#!/bin/bash

# Сохраните этот файл как mylsof.sh и сделайте его исполняемым:
# chmod +x mylsof.sh

# Скрипт для отображения сетевой активности по IP или порту

if [[ $1 =~ ^[0-9]+.[0-9]+.[0-9]+.[0-9]+$ ]]; then
echo "Показ сетевой активности для IP: $1"
sudo lsof -i @$1
elif [[ $1 =~ ^[0-9]+$ ]]; then
echo "Показ процессов, использующих порт: $1"
sudo lsof -i :$1
else
echo "Использование: ./mylsof.sh [IP-адрес | порт]"
fi
```

Этот скрипт проверяет, является ли переданный аргумент IP-адресом или портом, и затем выводит соответствующую информацию. Такой подход позволяет упростить работу с lsof и адаптировать скрипт под конкретные нужды.

Продвинутые команды и фишки lsof

Чтобы максимально использовать возможности lsof, рассмотрим ещё несколько продвинутых команд.

Показать все процессы, работающие с определённым файлом

Для отслеживания процессов, использующих конкретный файл:

lsof /path/to/file

Эта команда полезна, когда файл не может быть перемещён или удалён из-за занятости другими процессами.

Показать сетевую активность для удалённых IP

Для вывода сетевой активности с конкретным удалённым IP-адресом:

lsof \-i @remote\_ip

Это позволит быстро найти соединения с указанным хостом, что удобно при диагностике внешних подключений.

Показать только соединения с LISTEN состоянием

Чтобы отобразить все слушающие соединения, используйте:

lsof \-iTCP \-sTCP:LISTEN

Состояние LISTEN полезно для мониторинга серверных приложений и для поиска активных служб.

Поиск файлов, открытых в определённый момент

Чтобы увидеть файлы, открытые конкретным процессом в определённое время, используйте:

lsof \-p [PID] | grep '[timestamp]'

Замена [PID] на ID процесса и [timestamp] на время позволяет отфильтровать записи и быстрее найти нужную информацию.

Показать PID процессов, заблокировавших файловое устройство

Для проверки процессов, занявших определённое устройство, например, /dev/sda1:

lsof /dev/sda1 | awk '{print $2}' | sort \-u

Этот пример выдаст уникальные PID процессов, удерживающих доступ к указанному устройству, что полезно при ошибках в работе с дисками.

Завершение процессов, заблокировавших порт

Если необходимо завершить процессы, которые заняли определённый порт, можно использовать такую команду:

kill \-9 $(lsof \-t \-i :port\_number)

Замените port_number на нужный порт. Будьте осторожны с завершением процессов: лучше использовать его, когда вы точно знаете, что прерывание процесса безопасно.

1 month, 3 weeks ago
1 month, 4 weeks ago
4 months, 3 weeks ago
5 months ago
7 months, 1 week ago
7 months, 2 weeks ago
We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago