PyLinux - Всё о Linux, Python и IT
9.9K subscribers
1.27K photos
37 videos
2 files
1.14K links
У нас ты найдешь 👇

- библиотеки и скрипты python
- инструменты linux
- полезный софт
- важнейшие новости из мира IT

Связь с админом: @ghostifix

Купить рекламу: https://telega.in/c/pylinux0

Архив: @pylinux0_archive
Download Telegram
⚙️ Удаление дубликатов строк в файлах Linux

Иногда логи или конфигурационные файлы содержат повторяющиеся строки. Удаление дубликатов помогает сократить размер и упростить анализ.

📌 Полезные команды

# Удалить дубликаты и отсортировать строки
sort file.txt | uniq > cleaned.txt

# Сохранить порядок, удаляя только повторяющиеся строки
awk '!seen[$0]++' file.txt > cleaned.txt

# Перезаписать оригинальный файл без дубликатов
awk '!seen[$0]++' file.txt > temp && mv temp file.txt


🟢 sort | uniq удаляет дубликаты, но меняет порядок
🟢 awk позволяет сохранить исходный порядок строк
🟢 Полезно для логов, списков зависимостей и конфигураций

🗣 Отличный способ очистить мусор и сделать файлы более читаемыми.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Быстрый просмотр структуры каталогов в Linux

Когда нужно быстро оценить структуру директорий или найти вложенные папки — поможет команда tree.

📌 Полезные команды

# Установить tree (если не установлено)
sudo apt install tree # Debian/Ubuntu
sudo pacman -S tree # Arch
sudo dnf install tree # Fedora

# Посмотреть структуру директорий текущей папки
tree

# Показать только папки (без файлов)
tree -d

# Ограничить глубину вложенности
tree -L 2

# Подсчитать количество файлов и папок
tree -f --noreport | wc -l


🟢 tree показывает дерево каталогов в терминале
🟢 Можно фильтровать только папки (-d)
🟢 Отлично подходит для анализа структуры проекта

🗣 Незаменимый инструмент при работе с большими директориями и разборе файловой системы.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Быстрое сравнение директорий в Linux с помощью diff и rsync

Когда нужно узнать, чем отличаются две папки — например, резервная копия и рабочая версия — удобно использовать встроенные инструменты Linux.

📌 Полезные команды

# Сравнить два каталога построчно
diff -qr dir1/ dir2/

# Сравнить содержимое с выводом различий
diff -r dir1/ dir2/

# Только отличающиеся файлы по имени и дате
rsync -avun dir1/ dir2/

# Сравнить каталоги с сохранением логов
rsync -av --dry-run dir1/ dir2/ > changes.log


🟢 diff -r показывает отличия в содержимом файлов
🟢 rsync --dry-run подойдёт, если планируется синхронизация
🟢 Отличный способ проверить, всё ли синхронизировано или что изменилось

🗣 Подходит для сравнения проектов, бэкапов и любых директорий перед переносом или архивацией.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Поиск недавно установленных пакетов в Linux (dpkg и rpm)

Иногда нужно выяснить, какие пакеты были недавно установлены или обновлены — например, после настройки системы или отладки багов. Это можно сделать с помощью встроенных инструментов.

📌 Полезные команды

# Debian/Ubuntu: показать 20 последних установленных пакетов
grep " install " /var/log/dpkg.log | tail -n 20

# Или, если лог разрезан, ищем во всех
zgrep " install " /var/log/dpkg.log* | tail -n 20

# RedHat/CentOS/Fedora: список последних установленных пакетов
rpm -qa --last | head -n 20

# Узнать, когда конкретный пакет был установлен
rpm -q --last nginx


🟢 Поддерживает аудит системы после обновлений
🟢 Удобно при откате, если что-то сломалось после установки
🟢 Помогает контролировать изменения в проде

🗣 Особенно полезно для админов и DevOps-инженеров, следящих за безопасностью и стабильностью серверов.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Поиск неиспользуемых пакетов в Linux (Debian/Ubuntu)

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

📌 Полезные команды

# Показать список неиспользуемых пакетов
sudo apt autoremove --dry-run

# Удалить неиспользуемые зависимости
sudo apt autoremove

# Очистить кеш пакетов
sudo apt clean

# Проверить вручную установленные и редко используемые пакеты
apt-mark showmanual | xargs apt-cache show | grep -E 'Package:|Priority:'

# Найти "висячие" зависимости (с помощью deborphan)
sudo apt install deborphan
deborphan


🟢 autoremove удаляет неиспользуемые зависимости
🟢 clean освобождает место, очищая кэш
🟢 deborphan ищет библиотеки без владельцев

🗣 Эти инструменты помогают поддерживать систему в чистоте, особенно на серверах с ограниченным дисковым пространством.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Улучшаем безопасность Linux: простые шаги

Linux сам по себе безопасная система, но небольшие улучшения могут значительно повысить её защиту. Эти команды и практики помогут вам укрепить систему.

📌 Полезные команды

# Обновить пакеты и установить критические исправления
sudo apt update && sudo apt upgrade

# Включить автоматическую установку обновлений безопасности
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

# Установить и настроить брандмауэр UFW
sudo apt install ufw
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh

# Проверить активные сетевые соединения
sudo lsof -i -P -n | grep LISTEN

# Проверить наличие rootkit'ов
sudo apt install rkhunter
sudo rkhunter --check


🟢 unattended-upgrades автоматически ставит обновления
🟢 ufw защищает от несанкционированного доступа
🟢 rkhunter помогает находить потенциальные угрозы

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Оптимизация загрузки Linux: ускоряем старт системы

Со временем Linux-система может загружаться медленнее из-за лишних сервисов. Эти команды помогут проанализировать и ускорить процесс загрузки.

📌 Полезные команды

# Посмотреть общее время загрузки системы
systemd-analyze

# Показать список сервисов и их время загрузки
systemd-analyze blame

# Проверить, какие службы запускаются при старте
systemctl list-unit-files --state=enabled

# Отключить ненужный сервис
sudo systemctl disable имя_сервиса

# Установить задержку старта для тяжёлого сервиса
sudo systemctl edit имя_сервиса
# В открывшемся файле добавить:
# [Service]
# ExecStartPre=/bin/sleep 30


🟢 systemd-analyze показывает время загрузки системы
🟢 systemctl позволяет отключать или откладывать запуск лишних служб
🟢 Оптимизация автозагрузки ускоряет старт системы

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️ Скрытые процессы и rootkits: как найти невидимку в Linux

Иногда ps, top и даже htop не показывают зловредный процесс, хотя ты точно знаешь — он где-то сидит.

Вот как найти спрятанное 👇

🔍 1. chkrootkit — проверка на известные rootkit'ы

sudo apt install chkrootkit
sudo chkrootkit


📌 Ищет признаки заражения, подмену системных утилит, скрытые процессы, ловушки ядра.

🛡 2. rkhunter — глубокий аудит системы

sudo apt install rkhunter
sudo rkhunter --check


📌 Проверяет бинарники, конфиги, права, подозрительные изменения.

🫥 3. unhide — находим скрытые процессы

sudo apt install unhide
sudo unhide proc
sudo unhide sys


📌 Сравнивает процессы в /proc, syscalls и ps. Помогает, если ps не показывает, но процесс явно есть.

🧩4. auditctl — аудит системных вызовов

sudo apt install auditd
sudo auditctl -a exit,always -F arch=b64 -S execve


📌 Ловит каждый execve, даже если процесс мгновенно скрывается. Идеально для отлова аномалий.

🧠 Что делать, если ps и top молчат, а диск, сеть и CPU загружены?

Смотри /proc, ищи "дырки" в PID
Используй lsof, netstat, ss — они могут показать процессы, которых нет в ps
Сравни /bin/ps с версией из пакета (debsums, rpm -V)
Запусти live-дистрибутив и просканируй систему снаружи

😎 PyLinux | #linux #security
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Оптимизация использования CPU: находим "прожорливые" процессы в Linux

Если система начала тормозить — возможно, какие-то процессы чрезмерно грузят процессор. Эти команды помогут быстро выявить и устранить нагрузку.

📌 Полезные команды

# Топ процессов по загрузке CPU
ps -eo pid,comm,%cpu --sort=-%cpu | head

# Запуск интерактивного мониторинга
top
htop # Более удобный интерфейс (если установлен)

# Убить процесс с высокой нагрузкой по PID
kill -9 <PID>

# Ограничить нагрузку от процесса (через nice)
nice -n 10 командa


🟢 ps + sort быстро выявляют топовые процессы
🟢 top и htop позволяют следить в реальном времени
🟢 nice — задаёт приоритет и снижает нагрузку

🗣 Удобно для администраторов и разработчиков, следящих за стабильностью и производительностью систем.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Оптимизация использования оперативной памяти в Linux

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

📌 Полезные команды

# Показать использование памяти в удобочитаемом формате
free -h

# Найти топ процессов по потреблению памяти
ps -eo pid,comm,%mem --sort=-%mem | head

# Запуск интерактивного мониторинга памяти
htop # Более удобный интерфейс (если установлен)

# Очистка кэша памяти (не рекомендуется на рабочих серверах)
sudo sync; sudo sysctl -w vm.drop_caches=3

# Перезапустить службу, если она потребляет слишком много памяти
sudo systemctl restart имя_службы


🟢 free -h — показывает текущую загрузку памяти
🟢 ps позволяет быстро выявить "прожорливые" процессы
🟢 htop показывает потребление в реальном времени
🟢 Очистка кэша иногда помогает восстановить память без перезагрузки

🗣 Эти команды полезны для мониторинга нагрузки и предотвращения утечек памяти на серверах и рабочих станциях.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🧨Что делать, если случайно удалил важный файл

Удалил rm important.txt и понял, что это был не тот файл? Вот что можно сделать, пока диск не перезаписан 👇

1️⃣ Немедленно остановись

Чем больше ты используешь диск, тем выше шанс, что данные будут перезаписаны.

Не копируй, не устанавливай, не сохраняй ничего в ту же директорию.

2️⃣ Утилиты для восстановления

extundelete (только для ext3/ext4)

umount /dev/sdX1
extundelete /dev/sdX1 --restore-file path/to/important.txt


✔️ Восстанавливает файл по пути. Работает только на размонтированных разделах.

photorec (работает даже без имён)

sudo photorec


✔️ Ищет содержимое удалённых файлов по сигнатурам. Подходит для любых ФС.

testdisk — если потерял весь раздел

sudo testdisk


✔️Спасает, если ты снёс раздел, а не только файл. Может восстановить структуру ФС.

🗑 Если файл удалялся из GUI (или send2trash)

Попробуй посмотреть в корзине:

~/.local/share/Trash/files/


3️⃣ Для Python-скриптов: защита от удаления

from send2trash import send2trash

send2trash("important.txt")


✔️ Перемещает в корзину, а не удаляет навсегда. Можно использовать в скриптах, чтобы случайно не удалить что-то важное.

💡 Запомни:

🟢 Удалил — не трогай диск, сразу ищи утилиту
🟢 extundelete, photorec, testdisk — must-have
🟢 Пиши скрипты с send2trash, особенно для файлов пользователя

😎 PyLinux | #linux #tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔑 Аудит файлов с неожиданными правами в Linux

Иногда файлы с неправильными правами доступа могут стать причиной утечки данных или эксплойта. Эти команды помогут выявить потенциально небезопасные файлы и директории.

📌 Полезные команды

# Найти файлы с правами на запись для всех пользователей
find / -type f -perm -o+w 2>/dev/null

# Найти исполняемые файлы в домашних каталогах пользователей
find /home -type f -perm -u+x 2>/dev/null

# Проверить наличие SUID-бит у файлов (возможные точки эскалации привилегий)
find / -perm /4000 -type f 2>/dev/null

# Найти файлы с неожиданно широкими правами доступа (777)
find / -type f -perm 0777 2>/dev/null

# Проверить владельцев и права на критичные системные файлы
ls -l /etc/passwd /etc/shadow /etc/sudoers


🟢 find помогает искать файлы с потенциально небезопасными правами
🟢 ls -l позволяет проверить важные системные файлы на наличие аномалий
🟢 Команды помогают выявить слабые места в настройках доступа

🗣 Эти проверки полезны для аудита безопасности сервера и обнаружения ошибок в конфигурации прав.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
📂 Поиск дубликатов файлов в Linux

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

📌 Полезные команды

# Найти дубликаты файлов по хешу (SHA256)
find /path/to/dir -type f -exec sha256sum {} + | sort | uniq -w 64 -d

# Найти дубликаты с помощью fdupes (если установлен)
sudo apt install fdupes
fdupes -r /path/to/dir

# Найти дубликаты изображений по содержимому (с помощью findimagedupes)
sudo apt install findimagedupes
findimagedupes /path/to/images

# Очистка найденных дубликатов с подтверждением
fdupes -rd /path/to/dir

# Вывод статистики о дубликатах по размеру
find /path/to/dir -type f -exec du -h {} + | sort -h | uniq -D -w 10


🟢 find + sha256sum позволяет найти дубликаты по контрольным суммам
🟢 fdupes предлагает автоматизацию поиска и удаления
🟢 findimagedupes полезен для поиска похожих изображений

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🧭 Определение геолокации IP-адресов в Linux

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

📌 Полезные команды

# Установить утилиту geoiplookup
sudo apt install geoip-bin

# Определить страну по IP
geoiplookup 8.8.8.8

# Установить более точную версию с поддержкой города (через geoipupdate)
sudo apt install geoipupdate
sudo geoipupdate # обновление базы

# Использовать сервис ipinfo.io (через curl)
curl ipinfo.io/8.8.8.8

# Получить только страну через ipinfo.io
curl -s ipinfo.io/8.8.8.8/country


🟢 geoiplookup позволяет быстро определить страну по IP
🟢 curl ipinfo.io даёт подробную информацию: город, регион, провайдер
🟢 Может использоваться в скриптах для фильтрации или оповещений

🗣 Эти команды особенно полезны для анализа логов SSH, входов на веб-серверы и сетевого трафика.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Анализ повторяющихся задач cron в Linux

С ростом числа автоматических задач в cron можно случайно настроить дублирующиеся или конфликтующие задания. Эти команды помогут выявить такие случаи и навести порядок в расписании.

📌 Полезные команды

# Показать текущие задания для всех пользователей
for user in $(cut -f1 -d: /etc/passwd); do
echo "🧑‍💻 Задания пользователя: $user"
crontab -l -u "$user" 2>/dev/null
done

# Найти повторы в crontab текущего пользователя
crontab -l | sort | uniq -d

# Проверить системный cron (например, /etc/crontab)
cat /etc/crontab

# Найти скрипты, вызываемые в cron чаще всего
grep -hr /etc/cron* | awk '{print $6}' | sort | uniq -c | sort -nr | head

# Проверка синтаксиса cron-задания (через crontab.guru)
# (пример через браузер)
xdg-open "https://crontab.guru/#*/5_*_*_*_*"


🟢 crontab -l показывает все задания пользователя
🟢 uniq -d выявляет дублирующиеся строки
🟢 Анализ системного cron и частоты запуска помогает избежать конфликтов

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Проверка и анализ использования дисков в Linux

Если система начинает тормозить или заканчивается место, важно быстро понять, какие разделы и папки занимают больше всего. Эти команды помогут эффективно проанализировать дисковое пространство.

📌 Полезные команды

# Показать общее использование всех смонтированных разделов
df -h

# Показать размер каждой папки в корне
du -h --max-depth=1 / | sort -h

# Найти самые большие директории в /home
du -sh /home/* | sort -hr | head

# Использовать интерактивный анализатор ncdu
sudo apt install ncdu
ncdu /

# Найти файлы больше 1 ГБ
find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null | awk '{ print $9 ": " $5 }'


🟢 df -h показывает общую загрузку по разделам
🟢 du помогает найти "тяжёлые" каталоги
🟢 ncdu — удобный инструмент для интерактивного анализа
🟢 find -size выявляет самые крупные файлы

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
📁 Поиск и удаление пустых папок в Linux

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

📌 Полезные команды

# Найти все пустые папки в системе (может занять время)
find / -type d -empty 2>/dev/null

# Найти пустые директории в домашнем каталоге
find ~/ -type d -empty

# Удалить все пустые директории в указанной папке
find /path/to/dir -type d -empty -delete

# Посчитать количество пустых папок в каталоге
find /path/to/dir -type d -empty | wc -l

# Найти только "глубоко пустые" каталоги (вложенные без файлов)
find /path/to/dir -depth -type d -empty


🟢 find -empty помогает быстро выявить пустые директории
🟢 -delete автоматически очищает мусор
🟢 Удобно применять для домашней папки, временных каталогов, старых проектов

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔆 Управление яркостью и питанием экрана в Linux

Если вы работаете с ноутбуком или энергоэффективной рабочей станцией, управление яркостью и питанием экрана — важный способ продлить срок службы батареи и снизить нагрузку на глаза.

📌 Полезные команды

# Показать текущий уровень яркости
cat /sys/class/backlight/*/brightness

# Показать максимальный уровень яркости
cat /sys/class/backlight/*/max_brightness

# Установить яркость вручную (например, 50%)
echo 50 | sudo tee /sys/class/backlight/*/brightness

# Установить экран в спящий режим после 5 минут бездействия
xset s 300

# Полностью отключить экран после 10 минут простоя
xset dpms 0 0 600

# Немедленно выключить экран вручную
xset dpms force off


🟢 /sys/class/backlight/ позволяет напрямую управлять уровнем подсветки
🟢 xset управляет экраном и таймерами энергосбережения

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔃 Сравнение содержимого директорий в Linux

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

📌 Полезные команды

# Сравнить два каталога побайтово (без рекурсии)
cmp -s dir1/file dir2/file && echo "✔️ Совпадают" || echo " Различия"

# Рекурсивное сравнение двух директорий
diff -qr /path/to/dir1 /path/to/dir2

# Сравнить содержимое директорий с учётом структуры и размеров
rsync -avn /dir1/ /dir2/

# Найти файлы, которых нет во второй папке
comm -23 <(ls dir1 | sort) <(ls dir2 | sort)

# Использовать fdupes для поиска одинаковых файлов в двух местах
fdupes -r /dir1 /dir2

# Визуальное сравнение в терминале (если установлен dirdiff)
sudo apt install dirdiff
dirdiff /path/to/dir1 /path/to/dir2


🟢 diff -qr показывает все отличия файлов и поддиректорий
🟢 rsync -avn безопасно симулирует копирование и выявляет отличия
🟢 comm, cmp, fdupes — удобны для более точечного анализа

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🧹 Очистка временных и устаревших файлов в Linux

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

📌 Полезные команды

# Очистить системный кэш APT
sudo apt clean && sudo apt autoclean

# Найти и удалить файлы во временных папках старше 7 дней
sudo find /tmp -type f -atime +7 -delete

# Найти лог-файлы больше 100МБ
sudo find /var/log -type f -size +100M

# Очистить старые архивы логов
sudo journalctl --vacuum-time=10d

# Использовать BleachBit в терминале (если установлен)
sudo apt install bleachbit
sudo bleachbit --clean system.cache system.tmp system.logs

# Анализировать и очищать мусор вручную с помощью ncdu
sudo apt install ncdu
sudo ncdu /


🟢 apt clean и journalctl --vacuum освобождают место, не удаляя важного
🟢 find позволяет точно задать условия для удаления старых или тяжёлых файлов
🟢 ncdu и BleachBit — удобны для ручного контроля и визуального анализа

🗣 Эти команды помогут поддерживать систему в чистоте, особенно на серверах и ноутбуках с ограниченным SSD.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM