Forwarded from [PYTHON:TODAY]
Что думаете?
#youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from [PYTHON:TODAY]
https://youtu.be/-g5HCYZGcY0
Спасибо за поддержку
#youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
Нашли мощный гайд по современному Linux, который проводит через всю систему шаг за шагом — от базовых вещей до реальной работы в инфраструктуре.
Материал выстроен как логичный маршрут:
сначала разбираются фундаментальные элементы системы — ядро, оболочки, файловые системы — а затем переход к более продвинутым вещам: сетевой стек, контейнеры, мониторинг и управление сервисами.
Отдельный акцент сделан на том, что действительно важно в реальных проектах:
🔹 безопасность
🔹 управление зависимостями
🔹 стабильность инфраструктуры
🔹 масштабируемость систем
Это не просто набор команд из мануалов. Скорее практическая дорожная карта, которая показывает, как Linux становится основой разработки, DevOps-процессов и эксплуатации современных сервисов.
Подойдёт тем, кто хочет не просто «пользоваться Linux», а понимать, как он работает под капотом.
Особенно полезно для:
— разработчиков
— архитекторов ПО
— DevOps и SRE инженеров.
#books #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Большинство знает SSH как инструмент для удалённого входа на сервер. Но его можно использовать гораздо шире: для проксирования трафика, безопасного доступа к внутренним сервисам и туннелирования соединений.
Позволяет отправлять веб-трафик через удалённый сервер (например в поездках или в небезопасных сетях).
ssh -D <port> <remote_host>
После этого укажите в браузере прокси:
localhost:<port>
Если Windows-сервер находится во внутренней сети.
ssh -L <port>:<target_host>:3389 <bastion_server>
RDP-клиент должен подключаться к:
localhost:<port>
ssh -L 5901:localhost:5901 <remote_host>
После этого VNC-клиент подключается к:
localhost:5901
По такому же принципу можно безопасно подключаться к другим сервисам, не открывая их в интернет:
* LDAP — порт 389
* CUPS — 631
* альтернативный HTTP — 8080
ssh-keygen
ssh-keygen -p
ssh-copy-id -i <identity_file> <remote_host>
Это добавит ключ в
~/.ssh/authorized_keys на удалённой машине.Если вы часто подключаетесь к одному серверу, можно добавить запись в файл:
~/.ssh/config
Пример:
Host myhouse
User itsme
HostName house.example.com
Теперь можно подключаться так:
ssh myhouse
вместо
ssh [email protected]
-l <login> — имя пользователя на удалённой машине
-i <identity_file> — SSH-ключ для аутентификации
-p <port> — порт SSH (по умолчанию 22)
-C — сжатие трафика
-D <port> — SOCKS-прокси
-X — запуск X11-программ
-A — пересылка SSH-агента
-4 — использовать только IPv4
-6 — использовать только IPv6
-L <lport>:<host>:<port> — проброс локального порта
#doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Система целиком стилизована под мультфильм: от интерфейса до мелочей. Даже вход в систему оформлен как кнопка Enter the swamp.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Способы восстановления:
Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте
~/.local/share/Trash/. lsof (если файл еще открыт процессом) Иногда процесс продолжает использовать удаленный файл:
lsof | grep '(deleted)'
Можно скопировать содержимое из
/proc/<PID>/fd/<FD> в новый файл. Если файл был удален с раздела ext4, используем
extundelete: sudo umount /dev/sdX1 # Размонтируем раздел
sudo extundelete /dev/sdX1 --restore-all
Файлы восстанавливаются в папку
RECOVERED_FILES. Подходит для файловых систем ext4, NTFS, FAT и других:
sudo apt install testdisk # Устанавливаем пакет
sudo photorec
Выбираем диск и начинаем поиск удаленных файлов.
Можно попробовать найти фрагменты файла прямо на диске:
grep -a -b "текст из файла" /dev/sdX
Где
-a указывает, что это текст, а -b показывает смещение. #linux #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Подробное руководство по Linux для системных администраторов и разработчиков.
Материал охватывает весь путь — от первых команд в терминале до работы с облачной инфраструктурой, контейнерами и виртуализацией.
Внутри:
Подойдёт как тем, кто только переходит с Windows на Linux, так и опытным администраторам, желающим систематизировать знания и освоить современные инструменты управления инфраструктурой.
#books
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from [PYTHON:TODAY]
https://youtu.be/fpFgpqnBpsE
#youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
grep — стандартная утилита Linux для поиска текста в файлах, логах и выводе команд.grep "python" file.txt
Ищет все строки со словом python.
grep -i python file.txt
Найдет:
Python
PYTHON
python
grep -v error log.txt
Показать все строки без слова
error.grep -w cat file.txt
Найдет
cat
Но пропустит
category
concatenate
grep -n TODO main.py
Результат
15: # TODO
42: # TODO
grep -c ERROR app.log
Например
128
grep -r "password" .
Просканирует все файлы текущей директории.
grep -rn "TODO" . --include="*.py"
grep -r "TODO" . --exclude-dir=node_modules
Очень полезно для больших проектов.
grep -A 5 ERROR app.log
Если ошибка занимает несколько строк.
grep -B 5 ERROR app.log
grep -C 3 ERROR app.log
Самый популярный вариант при анализе логов.
Любой символ
.
Любое количество символов
*
Один или больше
+
Начало строки
^
Конец строки
$
Диапазон цифр
[0-9]
Любой символ A или B
[AB]
Найти IP
grep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}" access.logНайти email
grep -E "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"Найти все ошибки
grep ERROR app.log
Найти строки, начинающиеся с INFO
grep "^INFO" app.log
Найти строки, заканчивающиеся словом OK
grep "OK$" app.log
💡 95% повседневной работы с `grep` закрывают именно эти команды. Сохраняйте — пригодится каждому, кто работает с Linux, DevOps, Python или анализом логов.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Расширение вроде
.jpg, .pdf или .exe легко подделать. А вот утилиту `file` обмануть гораздо сложнее.Она анализирует реальное содержимое файла (так называемые *magic bytes* — сигнатуры в начале файла), а затем определяет его настоящий тип: текст, изображение, архив, ELF-бинарник, PDF, аудио, видео и многое другое.
Примеры использования
Определить тип файла:
file filename
Например:
file image.png
Вывод:
image.png: PNG image data, 1920 x 1080
Даже если переименовать файл:
mv image.png image.txt
file image.txt
утилита всё равно покажет:
image.txt: PNG image data
По умолчанию
file покажет, что объект является ссылкой.Чтобы определить тип самого файла, на который она указывает, используйте:
file -L my_link
Где пригодится?
file позволяет быстро понять, что перед вами на самом деле, не запуская файл.#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
date – вывести текущую дату и времяcal – вывести календарь на текущий месяцuptime – показать текущий аптаймuname – показать информацию о ядре-s – Показать имя ядра -n – Показать имя хоста-r – Показать номер выпуска ядра-v – Показать версию ядра-m – Показать имя аппаратной платформы (CPU)-o – Показать имя операционной системы-a – Показать всю возможную информациюcat /proc/cpuinfo – информация о ЦПУcat /proc/meminfo – информация о памятиdf – показать информацию о использовании дисковdu – вывести «вес» текущего каталогаdmidecode – информация о железе, берется из API DMI-t – указать тип устройства-t 17 – информация о памятиfree – использование памяти и swapwhereis file – отображение расположения файла filewhich app – отображает путь к команде apptype app – аналог команды whichenable – вывод встроенных в интерпретатор командlshw – отображение списка устройствlsmod – список подключенных модулей ядраmodinfo modulename – информация о модуле modulenamemodprobe modulemane – добавление и удаление модулей ядра Linux#cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда нужно быстро проверить характеристики CPU, большинство ограничивается командой
lscpu. Но в Linux есть целый набор инструментов, которые позволяют буквально разобрать процессор по винтикам: узнать модель, частоты, кэш, количество ядер, сокет, поддерживаемые инструкции и многое другое.В подборке собраны самые полезные команды для анализа процессора.
📋 Получаем полную информацию о CPU
Самый известный способ:
cat /proc/cpuinfo
или
less /proc/cpuinfo
Пример вывода:
model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz
cpu cores : 4
cache size : 2048 KB
Файл содержит подробную информацию по каждому ядру процессора.
Одна из самых удобных команд:
lscpu
Пример:
Architecture: x86_64
CPU(s): 4
Core(s) per socket: 4
Vendor ID: GenuineIntel
Virtualization: VT-x
Вывод компактный и отлично подходит для быстрого анализа системы.
Если нужен только ответ на вопрос «сколько ядер доступно»:
nproc
Результат:
4
Максимально быстро и без лишней информации.
Через
lshw:sudo lshw -class processor
Получаем:
product: Intel(R) Core(TM)2 Quad CPU Q8400
size: 1998MHz
capacity: 4GHz
width: 64 bits
Полезно для аудита оборудования и диагностики серверов.
Устанавливаем:
sudo apt install cpuid
Запускаем:
cpuid
Можно увидеть поддержку:
SSE
SSE2
MMX
VMX
Hyper Threading
Незаменимо для виртуализации, Docker, нейросетей и оптимизации ПО.
Устанавливаем:
sudo apt install inxi
Запускаем:
inxi -C
Пример:
CPU: Quad core Intel Core2 Quad CPU Q8400
Clock Speeds:
1: 1998 MHz
2: 1998 MHz
3: 1998 MHz
4: 1998 MHz
Очень удобно для публикации характеристик сервера или ПК.
Устанавливаем:
sudo apt install hwinfo
Запуск:
hwinfo --short --cpu
Вывод:
Intel Core i5-7400 CPU @ 3.00GHz
А без параметра
--short можно получить ещё больше технических деталей.Для большинства задач достаточно знать всего две команды:
lscpu
и
cat /proc/cpuinfo
Они дают практически всю необходимую информацию о процессоре без установки дополнительного софта.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM