Примеры использования команды 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.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Поиск файлов с помощью команды 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.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍8❤1
Команда findmnt
Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo.
Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию команда findmnt отображает файловые системы в древовидном формате.
Чтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже
Можно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4.
Поиск файловой системы, используя точку монтирования.
Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2.
или
Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate
Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду.
Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test.
Если вы хотите больше информации в выводе, используйте ключ –verbose.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo.
Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию команда findmnt отображает файловые системы в древовидном формате.
# findmntЧтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже
# findmnt -lМожно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4.
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4Поиск файловой системы, используя точку монтирования.
Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2.
# findmnt --fstab /mnt/external/disk2 # this prints bind mounts where /mnt/external/disk2 is a sourceили
# findmnt --fstab --target /mnt/external/disk2Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate
# findmnt --fstab --evaluateОтобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду.
# findmnt -n --raw --evaluate --output=target LABEL=/boot или # findmnt -n --raw --evaluate --output=target LABEL=/Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test.
# findmnt --poll --mountpoint /mnt/testЕсли вы хотите больше информации в выводе, используйте ключ –verbose.
# findmnt --real --verbose#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Стратегии аварийного восстановления в облаке
Эффективный план восстановления после аварии (DR) - это не просто предосторожность, это необходимость.
Ключевым моментом любой надежной стратегии DR является понимание и установка двух ключевых показателей: Объекта времени восстановления (RTO) и Объекта точки восстановления (RPO).
- Объект времени восстановления (RTO) относится к максимально допустимой продолжительности времени, в течение которой ваше приложение или сеть могут быть отключены после аварии.
- Объект точки восстановления (RPO), с другой стороны, указывает на максимально допустимую потерю данных, измеряемую во времени.
Давайте рассмотрим четыре широко применяемые стратегии DR:
1. Стратегия резервного копирования и восстановления:
Этот метод включает регулярные резервные копии данных и систем для облегчения восстановления после аварии.
- Типичный RTO: от нескольких часов до нескольких дней.
- Типичный RPO: от нескольких часов до времени последнего успешного резервного копирования.
2. Подход Pilot Light:
Поддерживает ключевые компоненты в режиме готовности к активации, обеспечивая быстрое масштабирование в ответ на аварию.
- Типичный RTO: от нескольких минут до нескольких часов.
- Типичный RPO: зависит от того, насколько часто синхронизируются данные.
3. Решение с горячим резервированием:
Создает полус активное окружение с текущими данными для сокращения времени восстановления.
- Типичный RTO: обычно от нескольких минут до часов.
- Типичный RPO: до последних нескольких минут или часов.
4. Горячее сайт / Конфигурация с несколькими сайтами:
Обеспечивает полностью операционную, дублирующую среду, работающую параллельно с основной системой, обеспечивая беспрерывную функциональность.
- Типичный RTO: почти мгновенный, часто всего несколько минут.
- Типичный RPO: крайне минимальный, обычно всего несколько секунд.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Эффективный план восстановления после аварии (DR) - это не просто предосторожность, это необходимость.
Ключевым моментом любой надежной стратегии DR является понимание и установка двух ключевых показателей: Объекта времени восстановления (RTO) и Объекта точки восстановления (RPO).
- Объект времени восстановления (RTO) относится к максимально допустимой продолжительности времени, в течение которой ваше приложение или сеть могут быть отключены после аварии.
- Объект точки восстановления (RPO), с другой стороны, указывает на максимально допустимую потерю данных, измеряемую во времени.
Давайте рассмотрим четыре широко применяемые стратегии DR:
1. Стратегия резервного копирования и восстановления:
Этот метод включает регулярные резервные копии данных и систем для облегчения восстановления после аварии.
- Типичный RTO: от нескольких часов до нескольких дней.
- Типичный RPO: от нескольких часов до времени последнего успешного резервного копирования.
2. Подход Pilot Light:
Поддерживает ключевые компоненты в режиме готовности к активации, обеспечивая быстрое масштабирование в ответ на аварию.
- Типичный RTO: от нескольких минут до нескольких часов.
- Типичный RPO: зависит от того, насколько часто синхронизируются данные.
3. Решение с горячим резервированием:
Создает полус активное окружение с текущими данными для сокращения времени восстановления.
- Типичный RTO: обычно от нескольких минут до часов.
- Типичный RPO: до последних нескольких минут или часов.
4. Горячее сайт / Конфигурация с несколькими сайтами:
Обеспечивает полностью операционную, дублирующую среду, работающую параллельно с основной системой, обеспечивая беспрерывную функциональность.
- Типичный RTO: почти мгновенный, часто всего несколько минут.
- Типичный RPO: крайне минимальный, обычно всего несколько секунд.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍2
OSI Model Vs TCP/IP Model
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍4
Шпаргалка по PostgreSQL
Перенес в my-mans
-- подключиться к postgres (утилита psql)
-- команды помощи
-- выход из консоли postgres
-- создать базу
-- подключиться к базе
-- создать таблицу my_table с полями field1 (тип целочисленный, обязательное для заполнения), field2 (тип строка 255 символов)
-- вывести все таблицы
-- удалить таблицу my_table
-- внести в таблицу запись
-- вывести записи
-- сортировка при выводе
-- изменить запись таблицы (поле field2 строки, где field1 = 1);
-- удаление данных
-- ***********************************
-- нормализация (разбиение таблиц на несколько)
-- ***********************************
-- Constraints - ограничения типов данных
-- Первичный и внешние ключи
-- при создании записи таблицы с отсутствующим внешним ключом выведется запись об ошибке. будут выводится ошибки и в иных случаях, когда будут нарушаться связи.
);
-- вывод данных из нескольких таблиц со связанными полями
-- алиасы, нужны для удобства. Также, при выводе наименование таблиц или полей выводится алиасом, при его наличии.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Перенес в my-mans
-- подключиться к postgres (утилита psql)
psql -U postgres-- команды помощи
help
\h -- помощь по командам SQL
\? -- помощь по командам psql-- выход из консоли postgres
\q-- создать базу
CREATE DATABASE my_database;-- подключиться к базе
\connect my_database;-- создать таблицу my_table с полями field1 (тип целочисленный, обязательное для заполнения), field2 (тип строка 255 символов)
CREATE TABLE my_table (field1 INT NOT NULL, field2 VARCHAR(255));-- вывести все таблицы
\d-- удалить таблицу my_table
DROP TABLE my_table;-- внести в таблицу запись
INSERT INTO my_table(field1, field2) VALUES(1,'Any text value');-- вывести записи
SELECT * FROM my_table; -- все записи
SELECT * FROM my_table WHERE field1 = 1; -- все, где field1 = 1
SELECT * FROM my_table WHERE field1 != 1; -- и т д
SELECT * FROM my_table WHERE field1 > 1;
SELECT * FROM my_table LIMIT 100; -- первые 100 записей;
SELECT * FROM my_table LIMIT 100 OFFSET 200; -- запись с 201 по 300;-- сортировка при выводе
SELECT * FROM my_table ORDER BY field1 ASC; -- вывести отсортировав в возрастающем порядке
SELECT * FROM my_table ORDER BY field1 DESC; -- вывести отсортировав в убывающем порядке-- изменить запись таблицы (поле field2 строки, где field1 = 1);
UPDATE my_table SET field2 = 'Other text value' WHERE field1 = 1;-- удаление данных
DELETE FROM my_table; -- удалить все записи;
DELETE FROM my_table WHERE field1 = 1; -- удалить запись где field1 = 1;-- ***********************************
-- нормализация (разбиение таблиц на несколько)
-- ***********************************
-- Constraints - ограничения типов данных
CREATE TABLE my_table (
field1 INT NOT NULL, -- запись обязательна
field2 VARCHAR(255) NOT NULL UNIQUE, -- запись должна быть уникальной
field3 BOOLEAN NOT NULL DEFAULT TRUE -- значение по умолчанию - true
...
);-- Первичный и внешние ключи
-- при создании записи таблицы с отсутствующим внешним ключом выведется запись об ошибке. будут выводится ошибки и в иных случаях, когда будут нарушаться связи.
CREATE TABLE IF NOT EXISTS my_table ( -- ключ IF NOT EXISTS проверяет, существует ли таблица. field1 SERIAL INT PRIMARY KEY, -- при добавлении PRIMARY KEY поле автоматически наследует ограничения NOT NULL и UNIQUE, и создается индекс. SERIAL тип данных являющийся автоматически увеличивающимся счетчиком (аналог ключа AUTOINCREMENT в Sqlite) field2 VARCHAR(255) NOT NULL UNIQUE,
field3 INT NOT NULL,
FOREIGN KEY(field3) REFERENCES other_table(field_name) -- поле ссылается на внешнюю таблицу other_table на поле field_name, которое обязательно должно быть с PRIMARY KEY);
-- вывод данных из нескольких таблиц со связанными полями
SELECT * FROM table_1 LEFT JOIN table_2 ON (table_2.field = table_1.field);-- алиасы, нужны для удобства. Также, при выводе наименование таблиц или полей выводится алиасом, при его наличии.
SELECT * FROM table_1 as tab1 LEFT JOIN table_2 as tab2 ON (tab1.field = tab2.field);#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍1
Шпаргалка по PostgreSQL
-- ***********************************
-- Редактирование таблиц, расширенные возможности SELECT, функции
-- ***********************************
-- Добавление поля в таблицу
-- добавление поля с автоинкрементом и primary key в таблицу
-- Удаление поля из таблицы
-- переименовать поле
-- сменить тип данных
-- изменить значение по умолчанию
-- добавить/удалить constraint NOT NULL
-- переименовать таблицу
-- Расширенные возможности SELECT
-- вывод уникальных записей
-- группирование записей
-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений
-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений, где количество повторений больше 3
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
-- ***********************************
-- Редактирование таблиц, расширенные возможности SELECT, функции
-- ***********************************
-- Добавление поля в таблицу
ALTER TABLE table_name ADD COLUMN new_field
BOOLEAN NOT NULL DEFAULT TRUE;-- добавление поля с автоинкрементом и primary key в таблицу
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;-- Удаление поля из таблицы
ALTER TABLE table_name DROP COLUMN new_field;-- переименовать поле
ALTER TABLE table_name RENAME old_field TO new_field;-- сменить тип данных
ALTER TABLE table_name ALTER COLUMN any_field SET
DATA TYPE VARCHAR(255);-- изменить значение по умолчанию
ALTER TABLE table_name ALTER COLUMN any_field SET
DEFAULT 'new value';-- добавить/удалить constraint NOT NULL
ALTER TABLE table_name ALTER COLUMN any_field
SET|DROP NOT NULL;-- переименовать таблицу
ALTER TABLE table_name RENAME TO new_table_name;-- Расширенные возможности SELECT
SELECT * FROM table WHERE field1 LIKE 'value'; -- field1 = 'value'
SELECT * FROM table WHERE field1 LIKE 'val%'; -- field1 начинается с 'val'
SELECT * FROM table WHERE field1 LIKE '%lue'; -- field1 заканчивается на 'lue'
SELECT * FROM table WHERE field1 LIKE '%e%'; -- field1 содержит 'e'
-- несколько условий
SELECT * FROM table WHERE field1 = 'value' AND field2 > 'value2';
SELECT * FROM table WHERE field1 = 'value' OR field2 > 'value2';-- вывод уникальных записей
SELECT DISTINCT field1 FROM table;-- группирование записей
SELECT field1, COUNT(field1) FROM table GROUP BY field1;-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений
SELECT field1, COUNT(field1) FROM table GROUP BY field1
HAVING COUNT(field) > 3;-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений, где количество повторений больше 3
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍5
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.
На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.
В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cRv5gv
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.
В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cRv5gv
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Nginx-Lua-Anti-DDoS
Этот репозиторий предоставляет Lua-скрипт для защиты серверов на базе Nginx от DDoS-атак. Он использует возможности OpenResty и модуля ngx_lua для фильтрации трафика, ограничения запросов и обнаружения подозрительных IP.
🔹 Основные функции:
- Проверка и блокировка подозрительных клиентов.
- Ограничение количества запросов (rate limiting).
- Обнаружение автоматизированных атак и ботов.
- Интеграция с Cloudflare, iptables и другими системами.
🔹 Требования:
- Nginx с поддержкой Lua (через OpenResty или сборку с модулем `ngx_http_lua_module`).
- Возможность редактирования конфигурации сервера.
https://github.com/C0nw0nk/Nginx-Lua-Anti-DDoS
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Этот репозиторий предоставляет Lua-скрипт для защиты серверов на базе Nginx от DDoS-атак. Он использует возможности OpenResty и модуля ngx_lua для фильтрации трафика, ограничения запросов и обнаружения подозрительных IP.
🔹 Основные функции:
- Проверка и блокировка подозрительных клиентов.
- Ограничение количества запросов (rate limiting).
- Обнаружение автоматизированных атак и ботов.
- Интеграция с Cloudflare, iptables и другими системами.
🔹 Требования:
- Nginx с поддержкой Lua (через OpenResty или сборку с модулем `ngx_http_lua_module`).
- Возможность редактирования конфигурации сервера.
https://github.com/C0nw0nk/Nginx-Lua-Anti-DDoS
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍3
Как работает HTTPS?
Безопасный протокол передачи гипертекста
(HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код.
Как шифруются и дешифруются данные?
Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.
Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS.
Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат.
Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа.
Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу.
Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины:
1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа.
2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Безопасный протокол передачи гипертекста
(HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код.
Как шифруются и дешифруются данные?
Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.
Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS.
Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат.
Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа.
Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу.
Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины:
1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа.
2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍8
🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри
Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами.
На вебинаре вы узнаете:
- Что такое процесс в Linux и чем он отличается от программы.
- Как устроен жизненный цикл процесса — от создания до завершения.
- Что такое состояния процессов и как их отследить с помощью системных утилит.
- Как управлять процессами: приоритеты, фоновые задания, остановка и завершение.
В результате вебинара вы:
- Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов.
- Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно.
- Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру.
- Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений..
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic"
👉 Для участия зарегистрируйтесь: https://vk.cc/cREaKs
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами.
На вебинаре вы узнаете:
- Что такое процесс в Linux и чем он отличается от программы.
- Как устроен жизненный цикл процесса — от создания до завершения.
- Что такое состояния процессов и как их отследить с помощью системных утилит.
- Как управлять процессами: приоритеты, фоновые задания, остановка и завершение.
В результате вебинара вы:
- Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов.
- Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно.
- Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру.
- Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений..
🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic"
👉 Для участия зарегистрируйтесь: https://vk.cc/cREaKs
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как найти и удалить старые файлы в Linux? 🗑️
Привет, админы! Сегодня разберёмся, как быстро находить и удалять старые файлы в Linux. Это полезно для очистки логов, временных файлов и других ненужных данных.
🔍 Поиск файлов старше 30 дней:
-
-
🗑️ Удаление этих файлов:
⚠ Осторожно! Удаление без подтверждения.
✅ Безопасный вариант с подтверждением:
Будет запрашиваться подтверждение перед удалением.
🔥 Автоматизация через cron:
Добавляем в
Очистка логов каждую ночь в 03:00.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
Привет, админы! Сегодня разберёмся, как быстро находить и удалять старые файлы в Linux. Это полезно для очистки логов, временных файлов и других ненужных данных.
🔍 Поиск файлов старше 30 дней:
find /path/to/directory -type f -mtime +30
-
-type f — ищем только файлы;-
-mtime +30 — файлы старше 30 дней.🗑️ Удаление этих файлов:
find /path/to/directory -type f -mtime +30 -delete
⚠ Осторожно! Удаление без подтверждения.
✅ Безопасный вариант с подтверждением:
find /path/to/directory -type f -mtime +30 -exec rm -i {} \;
Будет запрашиваться подтверждение перед удалением.
🔥 Автоматизация через cron:
Добавляем в
crontab -e:
0 3 * * * find /var/log -type f -mtime +30 -delete
Очистка логов каждую ночь в 03:00.
#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin
👉 @linux_odmin
👍5
Как проверить, что процесс слушает нужный порт?
Бывало такое, что сервис не отвечает, и непонятно, слушает ли он вообще нужный порт? Давайте разберёмся, как это проверить.
📡 Способы проверки:
1️⃣ ss (современный вариант
-
-
-
-
-
2️⃣ lsof (список открытых файлов, включая порты):
Покажет, какой процесс слушает 80-й порт.
3️⃣ netstat (старый, но работает):
4️⃣ Сокетный тест с
Если порт открыт, увидим сообщение
💡 Пример реального кейса: Apache не запускается, потому что другой процесс уже занял порт 80. Как быстро его прибить?
или
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Бывало такое, что сервис не отвечает, и непонятно, слушает ли он вообще нужный порт? Давайте разберёмся, как это проверить.
📡 Способы проверки:
1️⃣ ss (современный вариант
netstat):
ss -tulnp
-
-t — TCP;-
-u — UDP;-
-l — только слушающие сокеты;-
-n — не резолвить имена;-
-p — показать процессы.2️⃣ lsof (список открытых файлов, включая порты):
lsof -i :80
Покажет, какой процесс слушает 80-й порт.
3️⃣ netstat (старый, но работает):
netstat -tulnp
4️⃣ Сокетный тест с
nc:
nc -zv 127.0.0.1 80
Если порт открыт, увидим сообщение
succeeded.💡 Пример реального кейса: Apache не запускается, потому что другой процесс уже занял порт 80. Как быстро его прибить?
fuser -k 80/tcp
или
kill $(lsof -t -i :80)
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍6
Как быстро узнать, какие процессы грузят систему?
Если сервер вдруг начал тормозить, первым делом проверяем загрузку CPU и памяти. Вот мои любимые команды:
🔹 top — классика, показывает активные процессы в реальном времени.
🔹 htop — улучшенная версия top с удобным интерфейсом.
🔹 ps aux --sort=-%cpu | head — топ 10 процессов по загрузке CPU.
🔹 ps aux --sort=-%mem | head — топ 10 процессов по потреблению памяти.
А если хотите найти, какая конкретно команда грузит диск:
или
Какие инструменты используете вы, когда сервер внезапно начинает «тупить»? 🚀
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Если сервер вдруг начал тормозить, первым делом проверяем загрузку CPU и памяти. Вот мои любимые команды:
🔹 top — классика, показывает активные процессы в реальном времени.
🔹 htop — улучшенная версия top с удобным интерфейсом.
🔹 ps aux --sort=-%cpu | head — топ 10 процессов по загрузке CPU.
🔹 ps aux --sort=-%mem | head — топ 10 процессов по потреблению памяти.
А если хотите найти, какая конкретно команда грузит диск:
iotop -oили
iostat -dx 1Какие инструменты используете вы, когда сервер внезапно начинает «тупить»? 🚀
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍7❤2
🛠 Как проверить нагрузку на сервер?
Если сервер начал тормозить, первым делом проверяем, что его грузит. Вот полезные команды для диагностики:
🔹 top / htop – показывает загрузку процессора, памяти, активные процессы.
🔹 free -m – проверяет, сколько оперативной памяти занято и сколько доступно.
🔹 df -h – смотрит свободное место на диске.
🔹 iostat -x 1 – помогает определить проблемы с дисковым вводом-выводом.
🔹 netstat -tulnp / ss -tulnp – проверяет открытые порты и сетевые подключения.
Если сервер под нагрузкой, но процессы неизвестны, попробуйте
А какими инструментами диагностики чаще всего пользуетесь вы?
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Если сервер начал тормозить, первым делом проверяем, что его грузит. Вот полезные команды для диагностики:
🔹 top / htop – показывает загрузку процессора, памяти, активные процессы.
🔹 free -m – проверяет, сколько оперативной памяти занято и сколько доступно.
🔹 df -h – смотрит свободное место на диске.
🔹 iostat -x 1 – помогает определить проблемы с дисковым вводом-выводом.
🔹 netstat -tulnp / ss -tulnp – проверяет открытые порты и сетевые подключения.
Если сервер под нагрузкой, но процессы неизвестны, попробуйте
ps aux --sort=-%cpu или ps aux --sort=-%mem, чтобы найти самых "прожорливых".А какими инструментами диагностики чаще всего пользуетесь вы?
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍4❤1
1️⃣ Как проверить скорость интернета в Linux через терминал?
Если вам нужно быстро замерить скорость интернета на сервере или рабочей машине без браузера, используйте один из этих инструментов:
1️⃣ Speedtest CLI
Установите и запустите:
2️⃣ Fast CLI (от Netflix)
Удобный альтернативный инструмент:
или
3️⃣ nload – мониторинг в реальном времени
Теперь у вас есть несколько способов быстро проверить скорость соединения. Какой инструмент используете вы? 🌐
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Если вам нужно быстро замерить скорость интернета на сервере или рабочей машине без браузера, используйте один из этих инструментов:
1️⃣ Speedtest CLI
Установите и запустите:
sudo apt install speedtest-cli # для Ubuntu/Debian
sudo yum install speedtest-cli # для CentOS/RHEL
speedtest
2️⃣ Fast CLI (от Netflix)
Удобный альтернативный инструмент:
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3
или
fast
3️⃣ nload – мониторинг в реальном времени
sudo apt install nload
nload
Теперь у вас есть несколько способов быстро проверить скорость соединения. Какой инструмент используете вы? 🌐
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍5❤1👎1
2️⃣ Почему
Один из самых частых способов убить процесс в Linux – это команда:
Но почему её не стоит использовать бездумно?
🔸 -9 (SIGKILL) моментально завершает процесс без шанса на очистку ресурсов. Это может привести к:
- Потере несохранённых данных
- Оставлению зомби-процессов
- Проблемам с зависимыми процессами
Лучше использовать более "мягкие" сигналы:
1️⃣ kill PID (SIGTERM) – вежливо просит процесс завершиться.
2️⃣ kill -15 PID – то же самое, но явно.
3️⃣ kill -1 PID (SIGHUP) – для перезапуска демонов.
4️⃣ kill -2 PID (SIGINT) – аналог Ctrl+C.
Используйте kill -9 только в крайнем случае, когда процесс завис и не отвечает на другие сигналы.
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
kill -9 не всегда хорошая идея? Один из самых частых способов убить процесс в Linux – это команда:
kill -9 PID
Но почему её не стоит использовать бездумно?
🔸 -9 (SIGKILL) моментально завершает процесс без шанса на очистку ресурсов. Это может привести к:
- Потере несохранённых данных
- Оставлению зомби-процессов
- Проблемам с зависимыми процессами
Лучше использовать более "мягкие" сигналы:
1️⃣ kill PID (SIGTERM) – вежливо просит процесс завершиться.
2️⃣ kill -15 PID – то же самое, но явно.
3️⃣ kill -1 PID (SIGHUP) – для перезапуска демонов.
4️⃣ kill -2 PID (SIGINT) – аналог Ctrl+C.
Используйте kill -9 только в крайнем случае, когда процесс завис и не отвечает на другие сигналы.
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍5❤1
🛠 Как проверить загрузку процессора в Linux?
Производительность сервера – это первое, что проверяют при проблемах. Если сервер тормозит, первым делом смотрим на CPU.
📌 Вот несколько полезных команд:
🔹
🔹
🔹
🔹
🔹
🔎 На что смотреть?
📌 Высокий
📌 Высокий
📌
А какая ваша любимая команда для мониторинга CPU? Делитесь в комментариях!
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Производительность сервера – это первое, что проверяют при проблемах. Если сервер тормозит, первым делом смотрим на CPU.
📌 Вот несколько полезных команд:
🔹
top – показывает загрузку CPU в реальном времени. 🔹
htop – более удобная версия top с цветным интерфейсом. 🔹
mpstat -P ALL 1 – детальный анализ нагрузки по ядрам. 🔹
sar -u 1 10 – сбор данных о загрузке процессора в динамике. 🔹
iostat -c 1 – еще один способ посмотреть загрузку CPU. 🔎 На что смотреть?
📌 Высокий
%user – процессы активно используют CPU. 📌 Высокий
%iowait – узкое место в дисковой системе. 📌
%steal – возможно, вам не хватает процессорных ресурсов на виртуальной машине. А какая ваша любимая команда для мониторинга CPU? Делитесь в комментариях!
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍2
⚡ Как удалить огромную папку в Linux за секунды?
Удаление больших папок в Linux может занять очень много времени. Особенно, если делать это через
💡 Альтернативные способы удаления:
✅ Удаляем быстрее с rsync:
Заменяем
✅ Используем find и xargs:
Сначала удаляем файлы, потом папки – так быстрее.
✅ Удаляем через inode:
Если папка – это отдельный монтированный диск, можно просто отмонтировать и форматнуть:
Какой способ используете вы?
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Удаление больших папок в Linux может занять очень много времени. Особенно, если делать это через
rm -rf. 💡 Альтернативные способы удаления:
✅ Удаляем быстрее с rsync:
rsync -a --delete empty_dir/ target_dir/
Заменяем
target_dir на пустую папку и мгновенно очищаем ее. ✅ Используем find и xargs:
find /bigdir -type f -delete
find /bigdir -depth -type d -delete
Сначала удаляем файлы, потом папки – так быстрее.
✅ Удаляем через inode:
Если папка – это отдельный монтированный диск, можно просто отмонтировать и форматнуть:
umount /bigdir
mkfs.ext4 /dev/sdX
Какой способ используете вы?
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
❤3👍2
📌 Оптимизация автозапуска сервисов в Linux: избавляемся от лишнего
Привет, админы! Сегодня разберём важную тему — автозапуск сервисов в Linux. Бывает, что после установки системы или пакетов в автозапуске оказываются ненужные сервисы, которые грузят память и процессор. Давайте это исправим!
🔹 Проверяем список сервисов
Эта команда покажет все сервисы, включённые в автозапуск.
🔹 Отключаем ненужные сервисы
Например, если вам не нужен Bluetooth, его можно отключить:
А если сервис запущен, то сразу и останавливаем:
🔹 Полностью маскируем сервис (если он не нужен совсем)
Это запретит его запуск даже вручную.
🔹 Проверяем скорость загрузки системы
Чтобы понять, какие сервисы тормозят загрузку:
Самые долгие процессы будут вверху списка.
Зачастую можно отключить NetworkManager-wait-online.service, если сервер работает без GUI:
👉 Оптимизация автозапуска не только ускоряет загрузку, но и снижает нагрузку на систему. Делаете ли вы ревизию сервисов на своих серверах? Пишите в комментах! 🚀
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Привет, админы! Сегодня разберём важную тему — автозапуск сервисов в Linux. Бывает, что после установки системы или пакетов в автозапуске оказываются ненужные сервисы, которые грузят память и процессор. Давайте это исправим!
🔹 Проверяем список сервисов
systemctl list-unit-files --type=service | grep enabled
Эта команда покажет все сервисы, включённые в автозапуск.
🔹 Отключаем ненужные сервисы
Например, если вам не нужен Bluetooth, его можно отключить:
sudo systemctl disable bluetooth.service
А если сервис запущен, то сразу и останавливаем:
sudo systemctl stop bluetooth.service
🔹 Полностью маскируем сервис (если он не нужен совсем)
sudo systemctl mask bluetooth.service
Это запретит его запуск даже вручную.
🔹 Проверяем скорость загрузки системы
Чтобы понять, какие сервисы тормозят загрузку:
systemd-analyze blame
Самые долгие процессы будут вверху списка.
Зачастую можно отключить NetworkManager-wait-online.service, если сервер работает без GUI:
sudo systemctl disable NetworkManager-wait-online.service
👉 Оптимизация автозапуска не только ускоряет загрузку, но и снижает нагрузку на систему. Делаете ли вы ревизию сервисов на своих серверах? Пишите в комментах! 🚀
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍7
📌 Как восстановить удаленные файлы в Linux?
Привет, коллеги! Сегодня разберем одну из самых неприятных ситуаций – случайное удаление важных файлов. 😱
🔹 Первое правило – не паниковать! Главное – не записывать новые данные на диск, откуда был удален файл, иначе его будет сложнее восстановить.
🛠 Способы восстановления:
1️⃣ Корзина (Trash)
Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте
2️⃣ Команда
Иногда процесс продолжает использовать удаленный файл:
Можно скопировать содержимое из
3️⃣ Восстановление через extundelete (для ext4)
Если файл был удален с раздела ext4, используем
Файлы восстанавливаются в папку
4️⃣ Photorec – восстановление данных с диска
Подходит для файловых систем ext4, NTFS, FAT и других:
Выбираем диск и начинаем поиск удаленных файлов.
5️⃣ grep в raw-данных (если знаем содержимое)
Можно попробовать найти фрагменты файла прямо на диске:
Где
🔥 Лучший способ защиты – бэкапы! Используйте
💬 А какие методы восстановления использовали вы? Делитесь опытом в комментариях! 👇
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
Привет, коллеги! Сегодня разберем одну из самых неприятных ситуаций – случайное удаление важных файлов. 😱
🔹 Первое правило – не паниковать! Главное – не записывать новые данные на диск, откуда был удален файл, иначе его будет сложнее восстановить.
🛠 Способы восстановления:
1️⃣ Корзина (Trash)
Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте
~/.local/share/Trash/. 2️⃣ Команда
lsof (если файл еще открыт процессом) Иногда процесс продолжает использовать удаленный файл:
lsof | grep '(deleted)'
Можно скопировать содержимое из
/proc/<PID>/fd/<FD> в новый файл. 3️⃣ Восстановление через extundelete (для ext4)
Если файл был удален с раздела ext4, используем
extundelete:
sudo umount /dev/sdX1 # Размонтируем раздел
sudo extundelete /dev/sdX1 --restore-all
Файлы восстанавливаются в папку
RECOVERED_FILES. 4️⃣ Photorec – восстановление данных с диска
Подходит для файловых систем ext4, NTFS, FAT и других:
sudo apt install testdisk # Устанавливаем пакет
sudo photorec
Выбираем диск и начинаем поиск удаленных файлов.
5️⃣ grep в raw-данных (если знаем содержимое)
Можно попробовать найти фрагменты файла прямо на диске:
grep -a -b "текст из файла" /dev/sdX
Где
-a указывает, что это текст, а -b показывает смещение. 🔥 Лучший способ защиты – бэкапы! Используйте
rsnapshot, borg, restic или хотя бы rsync для резервного копирования. 💬 А какие методы восстановления использовали вы? Делитесь опытом в комментариях! 👇
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin
👍4