top, htop, ps и им подобным.🔹 gtop - терминальный дашборд с системной информацией и процессами на nodejs
🔹 bottom - кросс-платформенный графический монитор процессов и сборщик системной информации в терминале на
Rust. Состоит их набора кастомизируемых виджетов, что позволяет настроить представление под себя.🔥 glances - кросс-платформенное решение на
Python с широким набором собираемое информации. Работа как в режиме клиента, так и сервера для удаленного мониторинга, API, web интерфейс, экспорт статистики в популярные форматы.🔥 btop++ - мощное решение на
C++ с поддержкой GPU, возможностями визуальной кастомизации, выбора тем и множеством других настроек.🔹 procs - современный монитор процессов на
Rust. Настраиваемый, легкий, с поддержкой расширенной информации о процессах по сравнению с ps.#linux #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Для получения образов в
Для случая, когда необходимо опубликовать свой образ, собранный локально, и воспользоваться на других машинах, можно отправить его в публичный реестр, а значит открыть на всеобщее обозрение, что часто не является уместным.
Также подходит вариант организации собственного реестра. Однако, это довольно затратно, т.к. надо развернуть сервер с запасом ресурсов, обеспечить безопасность, доступ извне и так далее, что для разовых операций уж точно будет избыточным.
🎈 Для решения задачи трансфера локальных образов напрямую на целевую машину существует проект unregistry. Это плагин для
🔎 Как работает
▫️ Устанавливается
▫️ На сервере запускается контейнер
▫️ С локальной машины, откуда вызвали скрипт трансфера, пробрасывается случайный порт на порт
▫️ Выполняется
▫️ На удаленной машине останавливается и удаляется временный контейнер
🔨 Установка
🚀 Примеры использования
🌐 Больше примеров в описании репозитория.
📌 В итоге, представленный проект упростит деплой образов за счет исключения из цепочки необходимости использования реестра. Отлично подойдет для локального применения в
#docker #tools #deploy #cicd #homelab
Docker по умолчанию используется официальный реестр - Docker Hub, а сделав несколько правок в конфигурации, можно подключиться к любому другому публичному или частному реестру.Для случая, когда необходимо опубликовать свой образ, собранный локально, и воспользоваться на других машинах, можно отправить его в публичный реестр, а значит открыть на всеобщее обозрение, что часто не является уместным.
Также подходит вариант организации собственного реестра. Однако, это довольно затратно, т.к. надо развернуть сервер с запасом ресурсов, обеспечить безопасность, доступ извне и так далее, что для разовых операций уж точно будет избыточным.
🎈 Для решения задачи трансфера локальных образов напрямую на целевую машину существует проект unregistry. Это плагин для
Docker, который позволяет отправлять образы по слоям через ssh, т.е. синхронизировать их с удаленным хостом. Особенностью является отправка только тех слоев образа, которых еще нет на удаленной машине, что значительно повышает скорость синхронизации.rsync для Docker образов
🔎 Как работает
▫️ Устанавливается
ssh соединения с удаленным сервером.▫️ На сервере запускается контейнер
unregistry, который выступает в роли временного локального реестра (контейнер загружается из реестра github - ghcr.io, либо, в случае отсутствия доступа к интернет на целевой машине, его можно загрузить локально заранее и отправить на целевую машину через docker save image | ssh user@host 'docker load').▫️ С локальной машины, откуда вызвали скрипт трансфера, пробрасывается случайный порт на порт
unregistry удаленной машины, чтобы локальный Docker-клиент мог обратиться к удаленному unregistry контейнеру как к локальному.▫️ Выполняется
docker push через открытый туннель. unregistry на сервере проверяет существующие слои в хранилище и запрашивает только недостающие. Происходит передача слоев через ssh.▫️ На удаленной машине останавливается и удаляется временный контейнер
unregistry и закрывается ssh-туннель.🔨 Установка
mkdir -p ~/.docker/cli-plugins
# скачиваем скрипт и сохраняем в каталог плагинов Docker
curl -sSL https://raw.githubusercontent.com/psviderski/unregistry/v0.3.1/docker-pussh -o ~/.docker/cli-plugins/docker-pussh
# делаем исполняемым
chmod +x ~/.docker/cli-plugins/docker-pussh
🚀 Примеры использования
# отправка на определенный ssh порт
docker pussh myapp:latest user@host:2222
# с использованием ключей
docker pussh myapp:latest user@host -i ~/.ssh/id_rsa
🌐 Больше примеров в описании репозитория.
📌 В итоге, представленный проект упростит деплой образов за счет исключения из цепочки необходимости использования реестра. Отлично подойдет для локального применения в
homelab, встраивания в CI/CD и даже продакшена. #docker #tools #deploy #cicd #homelab
GitHub
GitHub - psviderski/unregistry: Push docker images directly to remote servers without an external registry
Push docker images directly to remote servers without an external registry - psviderski/unregistry
👍6🔥1
📚 Cursor выпустили бесплатный интенсив для разработчиков, которые используют или планируют использовать ИИ для написания софта.
🔸 Модели и их ограничения
🔸 Практика работы с ИИ. Как взаимодействовать с ИИ, чтобы получать рабочий код.
🔸 Вспомогательные инструменты
🔸 Агенты
🌐 Весь материал на русском языке. Проходим здесь.
#ai #полезное
Этот курс поможет понять основы и покажет практические паттерны того, как создавать софт с помощью ИИ-моделей и инструментов. Мы приведём примеры на базе Cursor, но эти паттерны применимы к любым ИИ-моделям и продуктам.
🔸 Модели и их ограничения
🔸 Практика работы с ИИ. Как взаимодействовать с ИИ, чтобы получать рабочий код.
🔸 Вспомогательные инструменты
🔸 Агенты
🌐 Весь материал на русском языке. Проходим здесь.
#ai #полезное
Cursor Documentation
Learn Cursor — Official Tutorials
Official Cursor tutorials. Learn AI foundations, coding with agents, and reviewing & testing code.
👍5
🚜 Linux по четвергам
🖥 Системная информация и аппаратура
🔻
lscpu - Отображение подробной информации об архитектуре CPUlscpu | grep -E "(Model|CPU\(s\)|Thread|Core)"
Показывает: модель CPU, ядра, потоки, архитектуру, размеры кэша
🔻
lsblk - Список блочных устройств в формате дереваlsblk -f # показать информацию о файловых системах
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
-f: информация о FS-o: пользовательские колонки-a: все устройства🔻
dmidecode - Отображение информации об оборудовании из DMI/SMBIOSdmidecode -t memory | grep -i size # информация о RAM
dmidecode -t system | grep -E "(Manufacturer|Product)"
-t: фильтр типа (bios, system, baseboard, chassis, processor, memory, cache, connector, slot)🔻
inxi - Скрипт системной информации с исчерпывающим выводомinxi -Fxz # полная информация о системе, дополнительные детали, фильтр приватных данных
inxi -b # базовая информация о системе
-F: полный вывод-x: дополнительные детали-z: фильтр приватных данных-b: базовая информация💡 Твик: bash-скрипт системной информации для быстрых обзоров системы.
#!/bin/bash
echo "=== Сводка системы ==="
uname -a
lscpu | head -5
free -h
df -h /
uptime
#linuxthursday #linux #шпаргалка
👍3👏1
Proxmox сообщество не перестает расширяться, альтернативу такому комплексному решению в opensource среде подобрать довольно сложно. Широкое распространение, что логично, ведет к появлению все большего числа сопутствующих инструментов и сервисов, поэтому решил посвятить ряд подборок проектам proxmox тематики.⚒️ Подборка скриптов и утилит для автоматизации установки и настройки Proxmox
🎈
Proxmox VE Helper-Scripts. Коллекция из сотен скриптов для автоматизации изменения конфигураций, установки контейнеров и виртуальных машин. Применяются через shell Proxmox. ▪️ Скрипты от ttech - последний раз сборник обновлялся в ноябре 2024, репу убрали в архив, так что для свежих версий Proxmox будет уже неактуально, однако коллекция до сих пор живет, можно перепутать и нарваться на ошибки при попытке использования.
▪️ Community сборник - актуальный на данный момент перечень из 300+ заготовленных скриптов по разным категориям.
🎈
CV4PVE Tools Suite от Corsinvest. Набор профессиональных утилит.▪️ cv4pve-admin - веб-интерфейс администрирования
▪️ cv4pve-autosnap - автоматические снапшоты
▪️ cv4pve-cli - CLI-инструменты
▪️ cv4pve-diag - диагностика
▪️ cv4pve-metric - сбор метрик
#proxmox #полезное
👍3🔥1
Стараюсь хотя бы раз в год проходить курс или интенсив для общего развития, разбора новой темы или углубления по какому-либо направлению.
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности" от Positive Technologies🟥 и университета ИТМО. Направление как никогда актуальное, программа интересная, но непростая, а главное - реальные задачи, а не шаблонные заготовки.
✨ Бесплатными хорошие курсы бывают редко, поэтому интересующимся практической безопасностью рекомендую обратить внимание. Регистрация здесь. Я уже записался 😉
#учеба #полезное
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности" от Positive Technologies
✨ Бесплатными хорошие курсы бывают редко, поэтому интересующимся практической безопасностью рекомендую обратить внимание. Регистрация здесь. Я уже записался 😉
#учеба #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Собрал небольшой
✏️ Подготовка
☑️ Разворачиваем
Пошаговая процедура поднятия
☑️ Заводим Telegram бота для перехвата сообщений в n8n
▫️ @BotFather
▫️ /start -> /newbot
▫️ Выбираем название и получаем
🚀 Собираем простенький workflow (см. приложенный скриншот)
1️⃣ Telegram Trigger
▪️ В
▪️ В
2️⃣ Блок кода для преобразования сообщения
Натравил
Получившийся код, который подставил в ноду
3️⃣ Сохранение результата в таблицу
Нода
После обработки пришедшего сообщения имеем json с 3 полями - vk, dzen и max. Согласно эти полям и заполняются ячейки новой записи в таблице.
📌 Что дальше?
▪️ Добавить обработку медиа контента из поста.
▪️ Расширить информацию в таблице о посте. Сопроводить служебными данными для удобства дальнейшего использования.
▪️ Настроить автоматическую публикацию на разные платформы.
P. S. Не забываем оставлять реакции. Много репостов вижу по статистике, а реакций в 2, а то и в 3 раза меньше.
#ai #n8n #automation
workflow для автоматического преобразования Telegram постов под платформы vk, dzen и MAX с фиксацией результата в Google Sheet. Репостим публикацию в собственного бота и получаем заполненную строку в таблице с адаптированным форматированием.✏️ Подготовка
☑️ Разворачиваем
n8n на своем сервере за доменом. Без сертификата api некоторых сервисов блокируют работу, что не дает возможности использовать, например, Telegram триггер для перехвата сообщений.Пошаговая процедура поднятия
n8n за traefik в Docker подробно расписана в документации со всеми необходимыми конфигурациями.☑️ Заводим Telegram бота для перехвата сообщений в n8n
▫️ @BotFather
▫️ /start -> /newbot
▫️ Выбираем название и получаем
API Token.🚀 Собираем простенький workflow (см. приложенный скриншот)
1️⃣ Telegram Trigger
▪️ В
Credential to connect with указываем полученный ранее токен бота.▪️ В
Trigger On тип Message для перехвата сообщений.2️⃣ Блок кода для преобразования сообщения
Натравил
qwen на эту задачу, чтобы реализовать функции обработки текста с учетом обычных и вложенных ссылок, а также специфической разметки.Получившийся код, который подставил в ноду
Code in JavaScript// Входящие данные
const items = $input.all();
return items.map(item => {
const message = item.json.message;
let text = message.text || message.caption || '';
let entities = message.entities || message.caption_entities || [];
// Сортируем с конца, чтобы не съезжали индексы при вставке
entities = entities.sort((a, b) => b.offset - a.offset);
// Вставляем скрытые ссылки в текст как "Текст (ссылка)"
for (const entity of entities) {
if (entity.type === 'text_link') {
const before = text.substring(0, entity.offset);
const linkText = text.substring(entity.offset, entity.offset + entity.length);
const after = text.substring(entity.offset + entity.length);
text = `${before}${linkText} (${entity.url})${after}`;
}
}
// Функция для преобразования HTML-разметки Telegram в текст
function telegramToPlain(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '**$1**') // жирный
.replace(/<i>(.*?)<\/i>/g, '*$1*') // курсив
.replace(/<s>(.*?)<\/s>/g, '~~$1~~') // зачёркнутый
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '[$2]($1)') // обычные ссылки
.replace(/<.*?>/g, ''); // прочие теги
}
// Функция для VK: просто текст + скрытые/обычные ссылки
function telegramToVk(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '$1') // просто убираем теги
.replace(/<i>(.*?)<\/i>/g, '$1')
.replace(/<s>(.*?)<\/s>/g, '$1')
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '$2 $1') // ссылки: текст + URL
.replace(/<.*?>/g, '');
}
// Функция для Дзен и Max: Markdown
function telegramToMarkdown(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '**$1**')
.replace(/<i>(.*?)<\/i>/g, '*$1*')
.replace(/<s>(.*?)<\/s>/g, '~~$1~~')
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '[$2]($1)')
.replace(/<.*?>/g, '');
}
const vkText = telegramToVk(text);
const dzenText = telegramToMarkdown(text);
const maxText = telegramToMarkdown(text);
return {
json: {
vk: vkText,
dzen: dzenText,
max: maxText
}
};
});
3️⃣ Сохранение результата в таблицу
Нода
Append row in sheet для добавления новых записей в существующую гугл таблицу. Здесь, в первую очередь, нужно подключить своего гугл клиента с разрешенным доступом к API Google Drive и Google Sheets. Пошаговая инструкция здесь.После обработки пришедшего сообщения имеем json с 3 полями - vk, dzen и max. Согласно эти полям и заполняются ячейки новой записи в таблице.
📌 Что дальше?
▪️ Добавить обработку медиа контента из поста.
▪️ Расширить информацию в таблице о посте. Сопроводить служебными данными для удобства дальнейшего использования.
▪️ Настроить автоматическую публикацию на разные платформы.
P. S. Не забываем оставлять реакции. Много репостов вижу по статистике, а реакций в 2, а то и в 3 раза меньше.
#ai #n8n #automation
👍7🔥1
#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
DeSoft.ru
Оптимизация использования памяти в структурах Go
Go — язык системного уровня, и в нём память под структуры выделяется с учётом выравнивания (alignment). Понимание этого механизма позволяет сократить лишние затраты и сделать код эффективнее.
👍5👏1
🚜 Linux по четвергам
🔧 Управление службами и системой
🔻
systemctl - Контроль служб systemd и состояний системыsystemctl status nginx # проверка статуса службы
systemctl enable --now postgresql # включить и запустить службу
systemctl list-units --failed # показать неудавшиеся юниты
status: показать статусenable: автозапуск при загрузке--now: запустить немедленно--failed: только неудавшиеся🔻
journalctl - Запрос логов журнала systemd с мощной фильтрациейjournalctl -u nginx -f # следить за логами nginx
journalctl --since "2 hours ago" -p err # ошибки за последние 2 часа
-u: конкретный юнит-f: следить--since: фильтр времени-p: уровень приоритета🔻
loginctl - Контроль пользовательских сессий и местloginctl list-sessions # показать активные сессии
loginctl kill-session 2 # завершить сессию
🔻
timedatectl - Контроль системного времени и настроек датыtimedatectl set-timezone Europe/Moscow
timedatectl set-ntp true
🔻
hostnamectl - Управление системным именемhostnamectl set-hostname vm-01 # установить статическое имя
🔻
localectl - Управление системной локальюlocalectl list-locales # список доступных локалей
localectl set-locale LANG="C.UTF-8" # указать локаль по умолчанию
💡 Несколько твиков
▫️
systemctl --user для управления пользовательскими службами.▫️
systemd-analyze blame для поиска медленно загружающихся служб.▫️ Создаем пользовательские службы в
~/.config/systemd/user/ для личной автоматизации.#linuxthursday #linux #шпаргалка
👍5👏1
🧐 Ни разу ранее не участвовал в
kaggle соревнованиях, где в одном из типов задач подразумевается оценка качества модели на основе результатов обработки тестового набора данных, но это ужас как затягивает. Ты пробуешь какой-то типовой подход для решения задачи - заливаешь результат - видишь цифру и тут же бежишь ее улучшать, а если таких людей вокруг тебя много, и вы все на "доске почета", то остановиться уже будет тяжело. Самое интересное, когда ты приблизился к хорошему результаты и вас отделяют сотые, а то и тысячные доли друг от друга, начинается "тюнинг", подкрутка параметров, проба дополнительных методов дабы выжать модель до капли. Весь этот процесс напомнил прохождение пентест лабораторий, где аналогичным образом идет дотошная борьба за нахождение мелких зацепок для получения новой информации об исследуемой инфраструктуре и продвижения к цели.
🤷♂️ Тем, кто не знаком с основами ML, конечно, трудновато сразу нырять в практику, да еще и на соревновательной площадке. Ниже подборка полезных ресурсов по теме, как для начинающих, так и продвинутых, что позволит разложить по полочкам некоторые не самые простые моменты этого направления.
📚 Базовые знания
▪️ Основы Python от Яндекс
▪️ Математика для анализа данных от Яндекс
📖 Целевые курсы
▪️ "ИИ Старт". Курс по машинному обучению от Школы глубокого обучения МФТИ (часть 1, часть 2)
Школа глубокого обучения МФТИ уже не первый год проводит семестры по машинному обучению, весь материал бесплатен и размещен на stepic.
▪️ Учебник по машинному обучению от Яндекс
#учеба #полезное #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
DeSoft.ru
Стараюсь хотя бы раз в год проходить курс или интенсив для общего развития, разбора новой темы или углубления по какому-либо направлению.
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности"…
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности"…
👍4
🍴 Для тех, кто любит экспериментировать с ИИ кодингом,
Работает на одном из трех провайдеров - gemini, openai, openrouter. Основной фишкой является здоровенное контекстное окно в 2 млн токенов, что популярные агенты для разработки предоставить на данный момент еще не готовы. Запас памяти такого размера позволит вести проект долго и не потерять "мысль" посреди процесса.
#ai #полезное
Глеб Кудрявцев выпустил в открытый бета тест тулзу ShotgunPro - облачный агент для проектов с большой кодовой базой.Работает на одном из трех провайдеров - gemini, openai, openrouter. Основной фишкой является здоровенное контекстное окно в 2 млн токенов, что популярные агенты для разработки предоставить на данный момент еще не готовы. Запас памяти такого размера позволит вести проект долго и не потерять "мысль" посреди процесса.
#ai #полезное
Telegram
Глеб про AI
Ну что, обещал в пятницу, так что вот оно 🙂
Зарегистрироваться и попробовать Шотган про тут
Выбирайте в онбординге тариф Free, промо-код на месяц бесплатного pro применится автоматически.
Это облачный агент, то есть работает с репозиториями. Читает код…
Зарегистрироваться и попробовать Шотган про тут
Выбирайте в онбординге тариф Free, промо-код на месяц бесплатного pro применится автоматически.
Это облачный агент, то есть работает с репозиториями. Читает код…
👍3🔥3
На сайте выложил небольшую инструкцию по установке и настройке ИИ-ассистента для разработки. В основе
Ключевые моменты:
⚡️ Качественные модели для кодинга:
🔥 Бесплатный тариф с контекстным окном в 1 000 000 токенов и 2000 запросов в день, чего с запасом хватит для ежедневной работы с вполне себе приличной кодовой базой.
🌚 Без привязки карт, подписок и доступов через третьи страны.
Как по мне - это одно из лучших предложений по соотношению цена / качество среди ИИ-помощников разработчика на данный момент. Бесплатный тариф с большими лимитами позволяет комфортно обращаться к ассистенту на постоянной основе и не подсчитывать токены, экономя на каждом слове или анализируемом блоке кода.
🌐 Инструкция
#ai #vibecoding #vscode #development
Qwen Coder модели и расширение Kilo Code AI Agent для vscode . Ключевые моменты:
⚡️ Качественные модели для кодинга:
qwen3-coder-plus и qwen3-coder-flash - более умная и более быстрая соответственно.🔥 Бесплатный тариф с контекстным окном в 1 000 000 токенов и 2000 запросов в день, чего с запасом хватит для ежедневной работы с вполне себе приличной кодовой базой.
🌚 Без привязки карт, подписок и доступов через третьи страны.
Как по мне - это одно из лучших предложений по соотношению цена / качество среди ИИ-помощников разработчика на данный момент. Бесплатный тариф с большими лимитами позволяет комфортно обращаться к ассистенту на постоянной основе и не подсчитывать токены, экономя на каждом слове или анализируемом блоке кода.
🌐 Инструкция
#ai #vibecoding #vscode #development
👍8
Отвлечемся пока от темы ИИ. Давно пользуюсь
💻 Попробовал на днях Termix -
💡 Что умеет?
🔹 SSH подключения и туннели
🔹 Удаленный файловый менеджер
🔹 Сбор статистики удаленных серверов
🔹 Многопользовательский режим и интеграция с внешними системами авторизации
🔹 Вкладки и сплит экрана для одновременного отображения до 4 подключений
🔹 Тэгирование и каталоги подключений
Мне не хватило только RDP / VNC, но roadmap у проекта забит плотно, так что, думаю, стоит ожидать расширения возможностей.
🧷 Как поднять на своем сервере подробно расписано в доке.
🧷 Клиентские приложения в релизах.
Скриншотов из репозитория прикрепил, они куда более информативные с большим количеством подключений, вкладок и так далее, чем мои единичные примеры.
#ssh #terminal #remote #selfhosted #opensource
MobaXTerm - швейцарский нож для удаленных подключений с удобным интерфейсом и кучей утилит в комплекте, но периодически посматриваю альтернативы, т.к. инструментов такого рода, в том числе в opensource исполнении, довольно много появляется.💻 Попробовал на днях Termix -
opensource selfhosted менеджер подключений с клиентами под разные устройства (Web, Windows, Linux, Android, iOS, macOS скоро тоже появится). Захостил сервер на виртуалке, поставил клиентов под Windows и Android, поигрался с подключениями - сразу бросается в глаза современное исполнение интерфейса, удобство организации рабочего пространства, быстрая работа без прогрузок, глюков и непонятных непредсказуемых нюансов.💡 Что умеет?
🔹 SSH подключения и туннели
🔹 Удаленный файловый менеджер
🔹 Сбор статистики удаленных серверов
🔹 Многопользовательский режим и интеграция с внешними системами авторизации
🔹 Вкладки и сплит экрана для одновременного отображения до 4 подключений
🔹 Тэгирование и каталоги подключений
Мне не хватило только RDP / VNC, но roadmap у проекта забит плотно, так что, думаю, стоит ожидать расширения возможностей.
🧷 Как поднять на своем сервере подробно расписано в доке.
🧷 Клиентские приложения в релизах.
Скриншотов из репозитория прикрепил, они куда более информативные с большим количеством подключений, вкладок и так далее, чем мои единичные примеры.
#ssh #terminal #remote #selfhosted #opensource
👍5
🚜 Linux по четвергам
📝 Обработка и анализ текста
🔻
awk - Язык сканирования шаблонов и извлечения данныхawk '{print $1,$3}' file.txt # печать колонок 1 и 3
awk -F: '$3 >= 1000 {print $1}' /etc/passwd # пользователи с UID >= 1000-F: разделитель полей$1,$2: ссылки на колонкиNR: номер строки🔻
sed - Потоковый редактор для фильтрации и преобразования текстаsed 's/old/new/g' file.txt # глобальная замена
sed -n '10,20p' file.txt # печать строк 10-20
sed '5i\new' file.txt # вставить строку перед 5й строкой
s///g: глобальная замена всех вхождений old на new-n: подавить стандартный выводp: печать-i: на месте🔻
grep - Поиск текста по шаблонам и регулярным выражениямgrep -r --include="*.log" "ERROR" /var/log/
grep -E "(error|warning)" -i file.txt
-r: рекурсивно--include: шаблон файлов-E: расширенный regex-i: игнорировать регистр🔻
diff - Сравнение содержимого двух файлов с фиксацией различийdiff -i file1.txt file2.txt
diff --unchanged-line-format="" --old-line-format="" --new-line-format="%L" file1.txt file2.txt
-i: игнорировать регистр--unchanged-line-format: не выводить строки, которые совпадают в обоих файлах--old-line-format: не выводить строки, которые есть в первом файле, но отсутствуют во втором--new-line-format: вывести только те строки, которые есть во втором файле, но отсутствуют в первом (%L - спецификатор строки)🔻
jq - Обработка JSON данных с запросами и преобразованиямиcat data.json | jq '.users[] | select(.age > 25) | .name'
.[]: элементы массиваselect(): фильтр|: операции конвейера💡 Твик: наиболее эффективно инструменты показывают себя в связке - конвейере вызова команд, например,
tail -f access.log | grep "404" | awk '{print $1}' | sort | uniq -c | sort -nr для мониторинга топ IP источников 404 ошибок.#linuxthursday #linux #шпаргалка
👍5🔥1