
- Главная
- Каталог
- Интернет технологии
- LinuxCamp | DevOps
LinuxCamp | DevOps
Авторский канал, на котором говорим про разработку, Linux, DevOps, сети и администрирование.
Статистика канала
sudo apt install cowsay{}
Запуск:
cowsay "deploy done"{}
Результат:
_____________
< deploy done >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||{}
Как использовать
Простой пример:
cowsay "backup completed"{}
С переносом строк:
echo "server is up" | cowsay{}
Есть и режим cowthink, где персонаж не говорит, а думает!!!:
cowthink "why is prod red again"{}
Во многих системах можно посмотреть доступных персонажей так:
cowsay -l{}
И выбрать конкретного:
cowsay -f tux "hello"{}
Где может пригодиться
cowsay часто добавляют в shell-скрипты, MOTD, dev-окружение и просто в терминал для читаемого вывода (нет)
Пример для bash-скрипта:
#!/usr/bin/env bash
if systemctl is-active --quiet nginx; then
cowsay "nginx is running"
else
cowsay "nginx is down"
fi{}
Или просто для приветствия при входе на сервер:
cowsay "welcome to the server"{}
Вывод
cowsay - это крутейшая CLI-утилита для красивого ASCII-вывода текста в терминале. Практической нагрузки почти нет, но для скриптов обязательно нужно использовать!
LinuxCamp | #utils
yazi{}
Открыть сразу нужную папку:
yazi /var/log{}
Как используется
После запуска открывается файловый интерфейс с навигацией по каталогам и панелью превью. У yazi есть просмотр текста, изображений, PDF и других файлов, а также система плагинов и тем. Для Linux это полезно там, где вся работа уже идет в shell или по SSH.
Минимум, который реально нужен для старта:
j / k — вниз / вверх
h / l — назад / зайти в каталог
Enter — открыть файл
q — выйти
. — показать скрытые файлы
~ — помощь{}
Если нужно поставить плагин, для этого есть отдельная утилита ya:
ya pkg add yazi-rs/plugins:git{}
Вывод
yazi - это быстрый TUI-файловый менеджер для Linux. Для начала достаточно одной команды yazi и нескольких клавиш навигации. Остальное уже можно добавлять по мере необходимости.
LinuxCamp | #utils
cargo install aichat{}
Или через brew:
brew install aichat{}
После установки обычно задают ключ провайдера через переменные окружения:
export OPENAI_API_KEY="..."{}
Проверка:
aichat "Объясни что делает epoll в Linux"{}
Как использовать
Базовый сценарий: отправить один запрос из терминала и получить ответ без браузера.
aichat "Напиши конфигурацию nginx для reverse proxy с поддержкой websocket"{}
Удобный вариант - передавать вход через pipe. Это хорошо подходит для логов, конфигов и вывода команд.
cat error.log | aichat "Найди первопричину этой ошибки"{}
ss -tulpn | aichat "Объясни какие порты открыты и что выглядит подозрительно"{}
Можно запускать интерактивный режим и работать как в консольном чате:
aichat{}
Для Linux это полезно в типовых задачах: быстро разобрать лог, объяснить вывод команды, сгенерировать черновик конфига, переписать shell-команду в более безопасный вид.
Практика
aichat особенно удобен там, где уже есть терминальный workflow. Не нужно копировать вывод команд в браузер и обратно.
Пример с journalctl:
journalctl -u nginx -n 100 --no-pager | aichat "Обобщи проблему в 3 пунктах"{}
Пример с Docker:
docker logs my_app 2>&1 | aichat "Какие паттерны ошибок ты тут видишь?"{}
Пример с конфигом:
cat docker-compose.yml | aichat "Проверь этот файл compose на наличие очевидных ошибок"{}
Если инструмент используется в рабочей среде, нельзя забывать о данных. В запросы не стоит отправлять секреты, токены, приватные ключи и чувствительные части продовых конфигов.
Вывод
aichat - это технически простой и полезный способ работать с LLM внутри Linux-терминала. Он может быть удобен для анализа логов, чтения конфигов и быстрых CLI-задач.
LinuxCamp | #utils
pwd
ls /{}
Что где лежит
/etc - это конфиги системы и сервисов.
/var - это всё, что меняется в работе: логи, кэши, очереди, базы, runtime-данные.
/home - это домашние директории обычных пользователей, а /root это отдельный home для root.
/tmp - это временные файлы, которые не стоит считать постоянным хранилищем.
/usr - это большая часть пользовательских утилит, библиотек и общих данных.
/opt - обычно используют для стороннего софта.
/dev, /proc, /sys - это уже интерфейс к устройствам и состоянию системы, а не “обычные папки с файлами”.
/etc -> конфиги
/var -> логи и изменяемые данные
/home -> файлы пользователей
/tmp -> временное
/usr -> программы и библиотеки{}
Полезный ориентир
Самая частая ошибка новичков такая: искать все подряд в /home или складывать рабочие данные куда попало. На практике удобно помнить простое правило: если меняешь настройки, почти всегда идешь в /etc; если ищешь логи, почти всегда идешь в /var/log; если сервис что-то держит на диске, часто это тоже /var. Это уже сильно ускоряет диагностику.
cd /etc
cd /var/log
ls /home{}
Микролайфхак
Структуру каталогов полезно знать не только для навигации, но и для диагностики. Например, когда на сервере внезапно кончилось место и нет красиво настроенного мониторинга, самый быстрый способ понять проблему это посмотреть, какая верхнеуровневая директория выросла больше всего.
du -sh /* 2>/dev/null | sort -h{}
Так ты за минуту понимаешь, искать ли проблему в логах, пользовательских файлах, временных данных или стороннем софте.
Вывод
Файловая система Linux не хаотичная. У нее есть структура, и чем раньше привыкаешь к /etc, /var, /home, /tmp и /usr, тем легче жить на любом сервере.
LinuxCamp | #utils«Нашли очередной критический баг в systemd в Ubuntu. Давайте пожелаем всем пользователям Devuan отлично провести День отца с семьёй, вместо того чтобы разгребать это единорожье дерьмо»
echo "${NAME:-guest}" # если NAME пустая или не задана → guest
echo "${NAME:=guest}" # то же самое, но еще и присвоит NAME=guest
echo "${NAME:?NAME required}" # если пустая/не задана → ошибка
echo "${NAME:+set}" # если NAME задана и не пустая → set{}
Короткая логика такая:
:- взять запасное значение
:= присвоить запасное значение
:? упасть с ошибкой
:+ вернуть другое значение, если переменная есть{}
Обрезка, замена и работа со строкой
Через expansion можно убрать префикс, суффикс или заменить кусок строки без sed и cut. Для shell-скриптов это очень удобно.
FILE="/opt/app/logs/error.log"
echo "${FILE#*/}" # opt/app/logs/error.log
echo "${FILE##*/}" # error.log
echo "${FILE%/*}" # /opt/app/logs
echo "${FILE%%/*}" # пусто, т.к. уберет все после первого /
echo "${FILE/logs/tmp}" # /opt/app/tmp/error.log
echo "${FILE//o/O}" # /Opt/app/lOgs/errOr.lOg{}
Запомнить можно так:
# и % = убрать кусок
## и %% = убрать по максимуму
/old/new = заменить первое совпадение
//old/new = заменить все{}
Длина, подстрока и индексы
Когда нужно быстро достать часть строки или длину, Bash уже умеет это сам.
STR="community-back-dev"
echo "${#STR}" # длина строки
echo "${STR:0:9}" # community
echo "${STR:10}" # back-dev{}
Для массивов тоже работает:
ARR=(api worker nginx)
echo "${ARR[0]}" # api
echo "${ARR[@]}" # все элементы
echo "${#ARR[@]}" # количество элементов{}
Вывод
Если в bash-скрипте у тебя появились cut, awk и sed ради одной мелочи, сначала проверь, нельзя ли решить это через parameter expansion. Часто это короче, быстрее и читается лучше.
LinuxCamp | #utilsОтзывы канала
всего 13 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
LinuxCamp | DevOps — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 14.3K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 80.0, количество отзывов – 13, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 14685.3 ₽, а за 60 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий