Admin Portal | Сисадмин


Kanal geosi va tili: Rossiya, Ruscha


Присоединяйтесь к нашему каналу и погрузитесь в мир для системного администратора
Связь: @devmangx

Связанные каналы

Kanal geosi va tili
Rossiya, Ruscha
Statistika
Postlar filtri


Быстрый совет по Linux

Чтобы получить список файлов, которые содержат указанную строку, используйте:

grep -rl string .

-r — рекурсивный поиск
-l — выводить только имена файлов, где найдено совпадение

@SysAdmin_Portal


Быстрый совет по Linux

В Linux можно запустить программу в изолированном окружении – со своим деревом процессов, представлением точек монтирования, hostname, сетью и многим другим – без Docker или какого-либо container runtime.

Это делает напрямую ядро.

Называется это unshare. Видно только несколько процессов, остальная система скрыта.

Это всё работает благодаря namespaces в Linux. Docker, Podman и LXC напрямую юзают эти примитивы. А Kubernetes уже наворачивается поверх этих рантаймов.

@SysAdmin_Portal


Для отладки bash-скриптов существует инструмент set -xve. Это мастхев фича именно на момент, создания чего-либо т. к. не всегда логика может работать правильно, а с set -xve, можно вовремя увидеть все значения переменных и т.п. не используя мусорные конструкции, например, echo «Error in function xxx».

Применяется так:
#!/bin/bash -xve
set -xve

Основные флаги set:

x — вывести команды и их аргументы по мере их выполнения.
v — вывести строки ввода командной строки по мере их считывания.
e — выход, если команда завершается с ненулевым статусом.

Пример:

Изменяем PS4 и добавляем вывод номера строки во включенный дебаг режим:
#!/bin/bash -xve

PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'

bar=10
echo ${bar}
echo $((6 + 6))

После выполнения мы видим:
bar=10
+(./script.sh:6): foo=10
echo ${bar}
+(./script.sh:7): echo 10
10
echo $((6 + 6))
+(./script.sh:8): echo 12
4

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

Немного украшательств, экспортируем PS4:
PS4='\033[0;33m+(${BASH_SOURCE}:${LINENO}):\033[0m ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'

Происходит подкрашивание запускаемых строчек.

С помощью PS4 можно отладить shell-скрипт, задав при его выполнении set -x, что позволяет выводить каждую команду, а затем ее результаты. Перед каждой командой ставится знак +, эту строку подсказки «+» можно изменить, определив переменную PS4.

@SysAdmin_Portal


Шпаргалка по Расширенным параметрам в Bash

Что такое расширенные параметры? Допустим у вас есть переменная ${var%}, что такое знак %?

${var%} удалит короткий суффикс
$(var%%} удалит длинный суффикс
${var#} & ${var##} удалит короткий и длинный префикс

var='hello world'
echo ${var%world}

На экран выведется слово hello. То есть произошло удаление короткого суффикса. Вот еще пример:

var='hello world'
echo ${var%o*} # hello w
echo ${var%%o*} # hell

Более подробно про расширенные параметры можно почитать на официальной странице.


🔜 PDF можно забрать отсюда

@SysAdmin_Portal


12 ключевых сетевых протоколов которые должен знать каждый

Без этих протоколов не обходится ни одно сетевое взаимодействие. От передачи веб-страниц и синхронизации времени до защиты соединений и доставки писем это фундамент, на котором строится интернет


Сохраняй пригодится 🕵️‍♂️

@SysAdmin_Portal


Быстрый совет по Linux

Если вы хотите определить, сколько времени занимает выполнение конкретной команды или скрипта, используйте команду time.

Синтаксис:
$ time

Пример:
$ time find / -perm -u=s -type f &>/dev/null

Команда также отображает использование системных ресурсов процессом, что делает её полезным инструментом для оценки эффективности выполнения конкретной команды

✈️ Linux Ninja


Виртуальная Linux-машина прямо в браузере

Представьте себе Linux прямо в окне браузера и это не шутка. WebVM эмулирует Linux-среду, позволяет запускать x86-программы и тестировать код, не трогая вашу основную систему

Идеально для разработчиков и любителей технологий 😘

https://github.com/leaningtech/webvm

@SysAdmin_Portal


Типичный пользователь Windows 🤡

@SysAdmin_Portal


Cобери свой Linux с нуля «Linux From Scratch»

Linux From Scratch проект который предлагает пошаговые инструкции по сборке собственной системы Linux из исходных кодов

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

Подходит для тех, кто:
🟠любит оптимизацию и эксперименты

🟠просто хочет понять, как всё это работает изнутри

🟠хочет собрать идеальный Linux для конкретных задач


@SysAdmin_Portal


Если хочется увидеть изменения на уровне структуры кода, обратите внимание на Difftastic

diff хорошо справляется с построчным сравнением, но он слеп к синтаксису

Инструмент понимает синтаксис множества языков и показывает diff так, как это реально имеет смысл для разработчика

https://github.com/Wilfred/difftastic

@SysAdmin_Portal


Быстрый совет по Linux

При просмотре файла с помощью less нажмите v, чтобы открыть файл в редакторе по умолчанию прямо на той строке, которую вы сейчас просматриваете.

Удобно для быстрого редактирования без выхода из less. По умолчанию редактором обычно является Vi, даже не Vim.

Хорошая идея задать свой редактор в .bashrc или .zshrc вот так:
export EDITOR=nano
export VISUAL=$EDITOR

@SysAdmin_Portal


Netcat: универсальный инструмент для сетей

Отладка, передача файлов, сканирование портов, обратные шеллы — всё это под силу nc. Сохрани себе эту шпаргалку, чтобы не гуглить каждый раз 📝

Забрать в хорошем качестве можно здесь⬇️

@SysAdmin_Portal


Linux внутри Linux без виртуалок и без root

Оказывается, вы можете запустить полноценное ядро Linux… просто как программу. User-Mode Linux (UML) — это специальный порт ядра, который работает в пространстве пользователя и не требует ничего, кроме стандартной системы

Файл становится диском, а терминал консолью, и в пару секунд у вас поднимается полноценное изолированное окружение

Отличный инструмент для разработки, экспериментов и безопасных тестов ⌨️

Подробности здесь

@SysAdmin_Portal


Ловите подгон учебник для изучения Linux-команд — The Linux Command Handbook

Бесплатный гайд охватывающий 60 ключевых команд Bash, необходимых почти каждому: ls, grep, chmod, ps, tar и ещё десятки других. Примеры и советы, можно читать онлайн или скачать в PDF 📚

@SysAdmin_Portal


Мёд по Git: шпаргалка которая закрывает 90% задач

Нашёл мощную cheat sheet по Git всё самое нужное на нескольких страницах: инициализация, коммиты, ветки, merge, diff, stash, rebase и работа с удалёнными репозиториями

Особенно удобно, что показаны не только команды, но и как всё двигается внутри Git: staging area, история коммитов, ветки и их слияние

Сохраняем PDF за лайк ❤️

@SysAdmin_Portal


Нашёл идеальный UI для nginx

Обычно nginx юзают как реверс-прокси: поднимаешь пару сервисов, ставишь nginx спереди — и он кидает запросы куда надо. Но ковыряться в конфигах руками не всегда кайф

Нашёл удобное решение — Nginx Proxy Manager. Это UI сверху на nginx, всё делается через веб-панель. Разворачивается в Docker за пару минут. Регистрируешь домены, SSL, прокси — вообще без боли

Забираем с сайта или GitHub 🏴‍☠️

@SysAdmin_Portal


Полезный инструмент «The Fuck»

CLI-утилита, которая сама исправляет ошибки и опечатки в консоли. Опечатался в команде? Просто жми Enter — она предложит или выполнит правильный вариант

Забираем в коллекцию 🔞

@SysAdmin_Portal


Что этот Linux себе позволяет 💃

@SysAdmin_Portal


Быстрый совет по Linux

При копировании с помощью команды cp у скопированного файла будет другой временной штамп

Вы можете сохранить исходные свойства файла с помощью:

$ cp -p source_file target_file

@SysAdmin_Portal


Быстрый совет по Linux

Ты можешь повторно выполнить последнюю команду в Linux с помощью команды r

Это сэкономит пару нажатий по сравнению с другими способами

r является встроенной командой в Zsh, так что это работает только в Zsh

@SysAdmin_Portal

20 ta oxirgi post ko‘rsatilgan.