Стандартные инструменты для диагностики системы Linux
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
👉 @i_linux
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
👉 @i_linux
🔥6👍3
Шпаргалка по фаерволу Mikrotik, пропускаем VPN соединения
1. Разрешить весь VPN-трафик через VPN-соединения:
Надо учитывать, что некоторые виды подключения, например GRE не являются PPP.
2. Разрешить PPTP-подключение
3. Разрешить L2TP-подключение
4. Разрешить IPSec-подключение
5. Разрешить OpenVPN-подключение
6. Разрешить SSTP-подключение
7. Разрешить GRE-подключение
8. Разрешить IPIP-подключение
9. Прохождение IPSec при использовании Fast Track
Fast Track это опция представленная в RouterOS 6.29. С помощью этой опции можно передавать пакеты в обход ядра Linux. За счет этого существенно повышается производительность маршрутизатора.
Включить Fast Track можно следующим образом:
Это позволит пакетам у которых состояние «Established» или «Related» обходить ядро Linux и быть сразу перенаправленным к цели. Такие пакеты не будут проходить ни через одно правило файервола или другое правило обработки пакетов. Конечно, соединение получает состояние «установлено» или «связано» после того, как оно прошло через брандмауэр, поэтому оно по-прежнему будет безопасным.
Как результат появляется недостаток: соединения IPsec так же не будут обработаны. Решить эту проблему можно следующим образом.
Вначале надо пометить соединения IPsec:
Далее изменить стандартное правило Fast Track так, что бы оно не обрабатывало пакеты IPsec. Изменения внесенные в стандартное правило выделены красным.
👉 @i_linux
1. Разрешить весь VPN-трафик через VPN-соединения:
Надо учитывать, что некоторые виды подключения, например GRE не являются PPP.
/ip firewall filter
add chain=forward comment="Permit all PPP" in-interface=all-ppp2. Разрешить PPTP-подключение
/ip firewall filter
add chain=input dst-port=1723 protocol=tcp comment="Permit PPTP"
add action=accept chain=input protocol=gre comment="Permit GRE"3. Разрешить L2TP-подключение
/ip firewall filter
add chain=input dst-port=1701 protocol=udp comment="Permit L2TP"4. Разрешить IPSec-подключение
/ip firewall filter
add chain=input port=500,4500 protocol=udp comment="Permit IPSec ports 500 and 4500"
add chain=input protocol=ipsec-esp comment="Permit IPSec protocol ipsec-esp"5. Разрешить OpenVPN-подключение
/ip firewall filter
add action=accept chain=input dst-port=1194 protocol=tcp comment="Permit OpenVPN"6. Разрешить SSTP-подключение
/ip firewall filter
add action=accept chain=input dst-port=443 protocol=tcp comment="Permit SSTP"7. Разрешить GRE-подключение
/ip firewall filter
add action=accept chain=input protocol=gre comment="Permit GRE"8. Разрешить IPIP-подключение
/ip firewall filter
add action=accept chain=input protocol=ipip comment="Permit IPIP"9. Прохождение IPSec при использовании Fast Track
Fast Track это опция представленная в RouterOS 6.29. С помощью этой опции можно передавать пакеты в обход ядра Linux. За счет этого существенно повышается производительность маршрутизатора.
Включить Fast Track можно следующим образом:
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,relatedЭто позволит пакетам у которых состояние «Established» или «Related» обходить ядро Linux и быть сразу перенаправленным к цели. Такие пакеты не будут проходить ни через одно правило файервола или другое правило обработки пакетов. Конечно, соединение получает состояние «установлено» или «связано» после того, как оно прошло через брандмауэр, поэтому оно по-прежнему будет безопасным.
Как результат появляется недостаток: соединения IPsec так же не будут обработаны. Решить эту проблему можно следующим образом.
Вначале надо пометить соединения IPsec:
/ip firewall mangle
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=out,ipsec new-connection-mark=ipsec
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=in,ipsec new-connection-mark=ipsecДалее изменить стандартное правило Fast Track так, что бы оно не обрабатывало пакеты IPsec. Изменения внесенные в стандартное правило выделены красным.
/ip firewall filter add action=fasttrack-connection chain=forward comment=FastTrack
connection-mark=!ipsec connection-state=established,related👉 @i_linux
👍6
Горячие клавиши для работы в терминале Linux
Перемещение по строке
или
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Сочетания клавиш для просмотра истории команд.
История команд
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
👉 @i_linux
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.Ctrl + →, Ctrl + ←или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправоCtrl + a, Home Установить курсор в начало строкиCtrl + e, End Установить курсор в конец строкиCtrl + xx Переход между двумя последними позициями курсораСочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или путиTab, tab или Alt + ?(Shift+/) Представление вариантов автодополненияBackspace, Ctrl + h Удаление символа перед курсоромCtrl + d Удалить символ за курсоромCtrl + w или Alt + Backspace Удалить все символы от курсора до пробела слеваAlt + d, Esc + d Удалить символы от курсора до конца словаCtrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+wAlt + \ Удалить любое количество пробелов вместе, где стоит курсор.Alt + r, Esc + r Отменить все изменения внесенные в строкуAlt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец словаAlt + u Изменить регистр всех букв от курсора до конца слова на верхний регистрAlt + l Изменить регистр всех букв от курсора до конца слова на нижний регистрAlt + t Поменять местами слово под курсором и предыдущее словоCtr + t Переместить символ перед курсором под курсорCtrl + _(Sift+-) Откат редактирования (Undo)Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путейCtrl + o Вызвать последнею введенную командуAlt + . или Esc + . Вставить аргумент команды, выполненной ранееAlt + < (Shift+,) Повторить первую команду в буфере историиСочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминалаCtrl + s Заморозить терминалCtrl + q Продолжить работу терминалаCtrl + c Прервать работу терминальной утилитыCtrl + z Перевести работу терминальной утилиты в фоновый режимCtrl + d Выйти из командной оболочки bash👉 @i_linux
👍7👀1
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
👉 @i_linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
👉 @i_linux
👍5
Шпаргалка по работе с Tmux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
После этого вы попадаете в полноценную консоль.
В одной сессии может быть сколько угодно окошек:
В одном окошке может быть много панелей:
Недостаток — непривычным становится скроллинг:
👉 @i_linux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;Ctrl+b 0...9 — перейти в такое-то окошко;Ctrl+b p — перейти в предыдущее окошко;Ctrl+b n — перейти в следующее окошко;Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);Ctrl+b →←↑↓ — переходить между панелями;Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:PgUp, PgDown — скроллинг;q — выход из «режима копирования».👉 @i_linux
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Как удалить файлы в системах Linux или UNIX с помощью команды rm
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. На этой странице объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-10-15
👉 @i_linux
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. На этой странице объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-10-15
👉 @i_linux
👍5
Media is too big
VIEW IN TELEGRAM
Разжёванный курс по Linux для чайников. Часть 1
0:10 Знакомство с Линух (теория)
2:17:17 Командная оболочка (pwd, ls, touch, date, rm, mkdir, rmdir)
2:56:51 stdout и stderr (перенаправление в файл)
2:59:23 связь с космосом (зависла трансляция)
3:11:52 конец связи с космосом(продолжение)
3:37:33 Команды (cр, mv, head, tail, wc, less, grep, cat, маски)
5:03:00 режим питания нарушать нельзя(обед)
5:12:05 продолжение
5:39:11 права пользователей (chmod, inode и т. д.)
6:35:02 SUD (sudo, passwd, stat)
7:27:42 перекур
7:39:17 Регулярные выражения
👉 @i_linux
0:10 Знакомство с Линух (теория)
2:17:17 Командная оболочка (pwd, ls, touch, date, rm, mkdir, rmdir)
2:56:51 stdout и stderr (перенаправление в файл)
2:59:23 связь с космосом (зависла трансляция)
3:11:52 конец связи с космосом(продолжение)
3:37:33 Команды (cр, mv, head, tail, wc, less, grep, cat, маски)
5:03:00 режим питания нарушать нельзя(обед)
5:12:05 продолжение
5:39:11 права пользователей (chmod, inode и т. д.)
6:35:02 SUD (sudo, passwd, stat)
7:27:42 перекур
7:39:17 Регулярные выражения
👉 @i_linux
👍7❤2
Media is too big
VIEW IN TELEGRAM
Разжёванный курс по Linux для чайников. Часть 2
0:10 Введение. Ответы на вопросы.
6:00 Негативный поиск(echo, grep, регулярки)
24:36 Код возврата приложений
31:42 Логическое И, ИЛИ
38:38 Цикл FOR (Однострочная конструкция)
53:07 Перекур
1:05:16 Понятие скрипта. Скрипт файл.
1:15:09 Переменные окружения (SPATH)
1:30:16 Команда hash
1:42:56 /dev/null
1:48:28 Планировщик задач (Сron)
2:09:34 дом зад
2:16:01 вводный урок. Веб-сервисы.
3:17:03 Реш дом зад(логи регулярки)
4:32:27 Разбор дом зад и непонятных вопросов.
4:39:23 Настройка выделенного сервера
7:03:27 SOA и введение в Docker
👉 @i_linux
0:10 Введение. Ответы на вопросы.
6:00 Негативный поиск(echo, grep, регулярки)
24:36 Код возврата приложений
31:42 Логическое И, ИЛИ
38:38 Цикл FOR (Однострочная конструкция)
53:07 Перекур
1:05:16 Понятие скрипта. Скрипт файл.
1:15:09 Переменные окружения (SPATH)
1:30:16 Команда hash
1:42:56 /dev/null
1:48:28 Планировщик задач (Сron)
2:09:34 дом зад
2:16:01 вводный урок. Веб-сервисы.
3:17:03 Реш дом зад(логи регулярки)
4:32:27 Разбор дом зад и непонятных вопросов.
4:39:23 Настройка выделенного сервера
7:03:27 SOA и введение в Docker
👉 @i_linux
👍5
Уроки по Linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉 @i_linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉 @i_linux
👍4❤2
Примеры использования команды grep в Linux
Поиск файлов с помощью команды grep
Команда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях.
Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк)
Опция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения.
Обнаружение всех файлов с расширением .mp3 с помощью команды grep
find — утилита поиска файлов в файловой системе;
. — указывает, что поиск следует вести относительно текущего рабочего каталога;
–name — проверяет название файлов на соответствие заданному шаблону;
"*.mp3" — шаблон, соответствующий файлам искомого формата;
| — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее);
grep с опцией –i — поиск по выводу команды find с игнорированием регистра;
"ABC" — шаблон, по которому осуществляется поиск;
grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону;
"remix" — шаблон, по которому осуществляется поиск.
Отображение строк до или после строки с результатом поиска
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
👉 @i_linux
Поиск файлов с помощью команды grep
# dpkg -l | grep -i pythonКоманда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях.
Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк)
# grep –v "#" /etc/apache2/sites-available/default-sslОпция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения.
Обнаружение всех файлов с расширением .mp3 с помощью команды grep
# find . –name "*.mp3" | grep –i "ABC" | grep –vi "remix"find — утилита поиска файлов в файловой системе;
. — указывает, что поиск следует вести относительно текущего рабочего каталога;
–name — проверяет название файлов на соответствие заданному шаблону;
"*.mp3" — шаблон, соответствующий файлам искомого формата;
| — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее);
grep с опцией –i — поиск по выводу команды find с игнорированием регистра;
"ABC" — шаблон, по которому осуществляется поиск;
grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону;
"remix" — шаблон, по которому осуществляется поиск.
Отображение строк до или после строки с результатом поиска
# ifconfig | grep –A 4 eth0-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Выведение заданного числа всех соседних строк с помощью команды grep
# ifconfig | grep -C 2 loВ том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
# ifconfig | grep -c inet6В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
👉 @i_linux
👍3
Топ полезных команд
Отправить тестовое письмо:
Выполнить PHP функцию в консоли:
Отключить спящий режим на ubuntu server:
Для проверки набора переменных BASH_ENV:
Замер скорости диска:
Обновить locate:
👉 @i_linux
Отправить тестовое письмо:
echo "test" | mail -s "Test Subject" user@gmail.comВыполнить PHP функцию в консоли:
php -r "echo phpinfo();" | grep date.timezoneОтключить спящий режим на ubuntu server:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetДля проверки набора переменных BASH_ENV:
$ env | grep BASH_ENVЗамер скорости диска:
dd if=/dev/zero of=testfile bs=4k count=1310720
dd if=testfile of=/dev/null bs=4k count=1310720Обновить locate:
/usr/libexec/locate.updatedb👉 @i_linux
👍4
Топ полезных команд
Конвертировать HEIC в JPG:
Изменить текстовый редактор для конкретного случая:
Удалить snapd в Ubuntu Server:
Удалить старые данные telegraf в Influxdb 1.8:
будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
Выключаем IPv6:
👉 @i_linux
Конвертировать HEIC в JPG:
ls *.HEIC -1 | sed -e 's/\.HEIC$//' | xargs -I {} convert {}.HEIC {}.JPGИзменить текстовый редактор для конкретного случая:
export EDITOR=ee; crontab -eУдалить snapd в Ubuntu Server:
$ sudo apt purge snapd
$ sudo apt-mark hold snapd
snapd помечен как зафиксированный.Удалить старые данные telegraf в Influxdb 1.8:
$ docker exec -ti influxdb influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use telegraf;
Using database telegraf
> DELETE WHERE time < '2022-06-01'будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
route change default 192.168.1.1Выключаем IPv6:
sudo nano /etc/sysctl.confnet.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1👉 @i_linux
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javanoscript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
👉 @i_linux
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javanoscript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
👉 @i_linux
👍8