Курс VOIP/IP ТЕЛЕФОНИЯ/3CX
Урок 1 - (Что такое IP телефония)
Урок 2 - (Аналоговый сигнал)
Урок 3 - (Цифровой сигнал)
Урок 4 - (PSTN и коды стран)
Урок 5 - (Конвертация голоса в пакеты)
Урок 6 - (DSP и RTP)
Урок 7 - (Что такое 3CX)
👉 @sysadminof
Урок 1 - (Что такое IP телефония)
Урок 2 - (Аналоговый сигнал)
Урок 3 - (Цифровой сигнал)
Урок 4 - (PSTN и коды стран)
Урок 5 - (Конвертация голоса в пакеты)
Урок 6 - (DSP и RTP)
Урок 7 - (Что такое 3CX)
👉 @sysadminof
👍13
Media is too big
VIEW IN TELEGRAM
Контейнерная виртуализация в Linux
Можно ли запустить на одном компьютере тысячи изолированных web-сайтов? Как одновременно выполнять несколько независимых операционных систем с различными программами, не прибегая к виртуальным машинам? Как регулировать количество потребляемых тем или иным приложением? Ответы на эти и другие вопросы можно получить в данной лекции. В ней рассказано про принципы контейнерной виртуализации в Linux, которые позволяют изолировать отдельные процессы и целые серверы. В качестве практического примера рассмотрена система Docker. Слушатели могут узнать, как без особого труда запустить тысячи изолированных контейнеров в рамках одной операционной системы, научиться «демонизировать» контейнеры и мониторить их состояние. Также уделено внимание возможности создания и распространения своих образов Docker.
источник
👉 @sysadminof
Можно ли запустить на одном компьютере тысячи изолированных web-сайтов? Как одновременно выполнять несколько независимых операционных систем с различными программами, не прибегая к виртуальным машинам? Как регулировать количество потребляемых тем или иным приложением? Ответы на эти и другие вопросы можно получить в данной лекции. В ней рассказано про принципы контейнерной виртуализации в Linux, которые позволяют изолировать отдельные процессы и целые серверы. В качестве практического примера рассмотрена система Docker. Слушатели могут узнать, как без особого труда запустить тысячи изолированных контейнеров в рамках одной операционной системы, научиться «демонизировать» контейнеры и мониторить их состояние. Также уделено внимание возможности создания и распространения своих образов Docker.
источник
👉 @sysadminof
👍7
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
👎1😴1
Основные команды для работы с файлами в Linux
👉 @sysadminof
touch <файл>
Создает пустой файлcat <файл>
Просмотр текстового файла tac <файл>
Вывод содержимого текстового файла в обратном порядке, т. е. сначала выводится последняя строка, потом предпоследняя и т. д. ср <файл1> <файл2>
Копирует файл <файл1> в файл <файл2>. Если <файл2> существует, программа попросит разрешение на его перезапись mv <файл1> <файл2>
Перемещает файл <файл1> в файл <файл2>. Эту же команду можно использовать и для переименования файла rm <файл>
Удаляет файл locate <файл>
Производит быстрый поиск файла which <программа>
Выводит каталог, в котором находится программа, если она вообще установлена. Поиск производится в каталогах, указанных в переменной окружения path (это путь поиска программ) less <файл>
Используется для удобного просмотра файла с возможностью скроллинга (постраничной прокрутки) 👉 @sysadminof
👍9
6 февраля приглашаем на Зимнюю ярмарку вакансий, которая пройдёт офлайн и онлайн. Это классная возможность стать частью IT-сообщества Яндекса и познакомиться с теми, кто создаёт сервисы с многомиллионной аудиторией.
Что вас ждёт
Узнаете о новых вакансиях и задачах, а также сможете лично пообщаться с командами и подать заявку туда, где понравится больше всего.
Узнаете о технологиях и кейсах из практики экспертов Яндекса. Лекции пройдут по основным направлениям стажировки: бэкенд, фронтенд, мобильная разработка, аналитика и машинное обучение.
Узнаете, как они проходили отбор, как готовились и чем планируют заниматься дальше. Сейчас в Яндексе стажируются более 600 человек — им есть что рассказать.
Как принять участие
Чтобы попасть на ярмарку, нужно пройти предварительный отбор — решить задачи на Яндекс Контесте до 31 января включительно. Тех, кто решит все задачи из Контеста, мы пригласим на вечернее закрытое шоу «Все в плюсе».
Узнать подробности и подать заявку: [ клик! ]
#ЗимняяЯрмаркаВакансий
Please open Telegram to view this post
VIEW IN TELEGRAM
Справочное приложение по Linux с 1М+ загрузками, основами, советами и отформатированными man-страницами
В настоящее время приложение содержит 5547 страниц инструкций, 22+ основных категорий и множество общих советов по работе с терминалом. Работает на 100% автономно, не требует подключения к Интернету и не имеет программного обеспечения для отслеживания.
GitHub: https://github.com/SimonSchubert/LinuxCommandLibrary
Сайт: https://linuxcommandlibrary.com/
👉 @sysadminof
В настоящее время приложение содержит 5547 страниц инструкций, 22+ основных категорий и множество общих советов по работе с терминалом. Работает на 100% автономно, не требует подключения к Интернету и не имеет программного обеспечения для отслеживания.
GitHub: https://github.com/SimonSchubert/LinuxCommandLibrary
Сайт: https://linuxcommandlibrary.com/
👉 @sysadminof
👍9
Awesome Database Tools
Здесь мы будем собирать информацию о инструментах, которые упрощают работу с базами данных для DBA, DevOps, разработчиков и простых смертных.
https://github.com/mgramin/awesome-db-tools
👉 @sysadminof
Здесь мы будем собирать информацию о инструментах, которые упрощают работу с базами данных для DBA, DevOps, разработчиков и простых смертных.
https://github.com/mgramin/awesome-db-tools
👉 @sysadminof
👍5
5 лучших бесплатных систем мониторинга ИТ-инфраструктуры
1. Nagios
Сообщество Nagios (https://www.nagios.org/), ведущее свою историю с 1999 года, является одним из лидеров отрасли в области решений для мониторинга ИТ-инфраструктуры любого масштаба — от малого до корпоративного уровня.
Программное решение для мониторинга компьютерных систем и сетей Nagios способно осуществлять мониторинг практически любых компонентов, включая сетевые протоколы, операционные системы, системные показатели, приложения, службы, веб-сервера, веб-сайты, связующее программное обеспечение (Middleware) и т. д..
Базовая функциональность системы для мониторинга Nagios реализована на ядре Core 4, который обеспечивает высокий уровень производительности за счет меньшего потребления ресурсов сервера.
2. Zabbix
Система мониторинга служб и состояний компьютерной сети Zabbix (https://www.zabbix.com/) — это великолепное бесплатное программное обеспечение уровня предприятия, предназначенное для осуществления мониторинга всего: от производительности и доступности серверов и сетевого оборудования до веб-приложений и базы данных.
Zabbix используется тысячами компаний по всему миру, включая DELL, Salesforce, ICANN, Orange и т. д.
3. Cacti
Приложение для мониторинга сети Cacti (https://www.cacti.net/) — это еще один программный инструмент с открытым исходным кодом для мониторинга сети, который может быть установлен на Linux или Windows. Он собирает различные статистические данные за определенные временные интервалы и позволяет отобразить их в графическом виде при помощи набора утилит RRDTool.
Cacti работает с SNMP и представляет сетевую статистику в виде простых для понимания графиков.
4. OpenNMS
Высокоуровневая программная платформа для мониторинга сетей и сетевых устройств OpenNMS (https://www.opennms.org/en) позволит вам создать решение сетевого мониторинга для любой ИТ-инфраструктуры промышленного масштаба. Вы можете собирать системные показатели с помощью JMX, WMI, SNMP, NRPE, XML HTTP, JDBC, XML, JSON и т. д.
С помощью OpenNMS вы можете в вашей сети, как обнаруживать связи сетевых топологий на втором уровне модели OSI, так и отслеживать неполадки в маршрутизации на уровне 3. Эта система мониторинга не использует агентов, а построена на событийно-ориентированной архитектуре, а также поддерживает работу в связке с системой агрегации данных и отображения графиков в реальном времени Grafana.
5. Icinga
Бесплатная программная система для мониторинга компьютерных систем и сетей Icinga (https://icinga.com/) позволит вам осуществлять мониторинг всех доступных систем в вашей сети. Она поддерживает различные способы предупреждений, а также предоставит вам базу данных для ваших отчетов об уровне обслуживания.
Icinga, история которой началась в 2009 году, как ответвление от системы мониторинга Nagios, с выходом Icinga версии 2 смогла полностью освободиться от «оков» ядра Nagios, став быстрее, проще в настройке и значительно лучшее масштабируемой.
👉 @sysadminof
1. Nagios
Сообщество Nagios (https://www.nagios.org/), ведущее свою историю с 1999 года, является одним из лидеров отрасли в области решений для мониторинга ИТ-инфраструктуры любого масштаба — от малого до корпоративного уровня.
Программное решение для мониторинга компьютерных систем и сетей Nagios способно осуществлять мониторинг практически любых компонентов, включая сетевые протоколы, операционные системы, системные показатели, приложения, службы, веб-сервера, веб-сайты, связующее программное обеспечение (Middleware) и т. д..
Базовая функциональность системы для мониторинга Nagios реализована на ядре Core 4, который обеспечивает высокий уровень производительности за счет меньшего потребления ресурсов сервера.
2. Zabbix
Система мониторинга служб и состояний компьютерной сети Zabbix (https://www.zabbix.com/) — это великолепное бесплатное программное обеспечение уровня предприятия, предназначенное для осуществления мониторинга всего: от производительности и доступности серверов и сетевого оборудования до веб-приложений и базы данных.
Zabbix используется тысячами компаний по всему миру, включая DELL, Salesforce, ICANN, Orange и т. д.
3. Cacti
Приложение для мониторинга сети Cacti (https://www.cacti.net/) — это еще один программный инструмент с открытым исходным кодом для мониторинга сети, который может быть установлен на Linux или Windows. Он собирает различные статистические данные за определенные временные интервалы и позволяет отобразить их в графическом виде при помощи набора утилит RRDTool.
Cacti работает с SNMP и представляет сетевую статистику в виде простых для понимания графиков.
4. OpenNMS
Высокоуровневая программная платформа для мониторинга сетей и сетевых устройств OpenNMS (https://www.opennms.org/en) позволит вам создать решение сетевого мониторинга для любой ИТ-инфраструктуры промышленного масштаба. Вы можете собирать системные показатели с помощью JMX, WMI, SNMP, NRPE, XML HTTP, JDBC, XML, JSON и т. д.
С помощью OpenNMS вы можете в вашей сети, как обнаруживать связи сетевых топологий на втором уровне модели OSI, так и отслеживать неполадки в маршрутизации на уровне 3. Эта система мониторинга не использует агентов, а построена на событийно-ориентированной архитектуре, а также поддерживает работу в связке с системой агрегации данных и отображения графиков в реальном времени Grafana.
5. Icinga
Бесплатная программная система для мониторинга компьютерных систем и сетей Icinga (https://icinga.com/) позволит вам осуществлять мониторинг всех доступных систем в вашей сети. Она поддерживает различные способы предупреждений, а также предоставит вам базу данных для ваших отчетов об уровне обслуживания.
Icinga, история которой началась в 2009 году, как ответвление от системы мониторинга Nagios, с выходом Icinga версии 2 смогла полностью освободиться от «оков» ядра Nagios, став быстрее, проще в настройке и значительно лучшее масштабируемой.
👉 @sysadminof
Nagios Open Source
Nagios: Free Open Source IT Monitoring Tools
Prevent IT downtime before it impacts your systems with Nagios Core – the free, open source monitoring solution trusted by 1M+ users worldwide. Monitor severs, networks & applications with powerful community-driven tools.
👍12
Bash-скрипты: Руководство по Функциям Bash с Примерами
Bash — одна из самых популярных скриптовых оболочек, доступных в Unix. Её полное название звучит как «Bourne Again Shell». Любой пользователь Linux, умеющий работать в командной строке, или системный администратор согласится, что bash и bash-скрипты — мощный инструмент. В этом руководстве мы покажем, как ими пользоваться!
https://telegra.ph/Bash-skripty-Rukovodstvo-po-Funkciyam-Bash-s-Primerami-01-23
👉 @sysadminof
Bash — одна из самых популярных скриптовых оболочек, доступных в Unix. Её полное название звучит как «Bourne Again Shell». Любой пользователь Linux, умеющий работать в командной строке, или системный администратор согласится, что bash и bash-скрипты — мощный инструмент. В этом руководстве мы покажем, как ими пользоваться!
https://telegra.ph/Bash-skripty-Rukovodstvo-po-Funkciyam-Bash-s-Primerami-01-23
👉 @sysadminof
👍10🔥1
Проверка портов
Проверить порты можно с помощью следующих команд:
nc: Netcat – простая утилита Unix, которая считывает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
nmap: Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он был разработан для быстрого сканирования больших сетей.
telnet: Утилита telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.
netstat: Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения.
ss: Утилита ss — это современная альтернатива для команды netstat. В отличие от netstat, которая берет информацию из каталога /proc, утилита ss напрямую связывается со специальной подсистемой ядра Linux
lost: Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые.
https://telegra.ph/Proverka-portov-01-23
👉 @sysadminof
Проверить порты можно с помощью следующих команд:
nc: Netcat – простая утилита Unix, которая считывает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
nmap: Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он был разработан для быстрого сканирования больших сетей.
telnet: Утилита telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.
netstat: Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения.
ss: Утилита ss — это современная альтернатива для команды netstat. В отличие от netstat, которая берет информацию из каталога /proc, утилита ss напрямую связывается со специальной подсистемой ядра Linux
lost: Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые.
https://telegra.ph/Proverka-portov-01-23
👉 @sysadminof
👍11
Как использовать команду grep в linux
grep это вполне возможно самая популярная из существующих команд в Unix/Linux. Многие бы с этим поспорили, но стоит начать использовать grep, эта команда будет присутствовать почти во всех ваших скриптах для консоли Linux. grep расшифровывается как ‘global regular expression printer‘. Иными словами grep выдрезает нужные вам строки из текстовых файлов которые содержат указаный пользователем текст.
grep может быть использован двумя путями — сам по себе или в комбинации с потоками.
Использование grep в чистом виде
Эта команда показывает как можно использовать grep для того чтобы получить строки из файла содержащие подстроку указаную в командной строке. Файл не обязательно должен оканчиваться на .txt. Показаная выше команда производит поиск подстроки 12.00 в файле /home/david/backup/log.txt и отображает все строки где эта подстрока встречается.
Эта комбинация может быть использована например для поиска бекапов которые происходили в 12:00.
А вот эта команда (с использованием ключа -v) наоборот покажет только те строки где подстрока ’12:00′ не встречается.
Эта команда будет искать все файлы оканчивающиеся на .c и текст в найденых файлах соответствующий подстроке 'delay' и в конечном итоге выведет только имена файлов где эта подстрока встречается.
Эта команда уже более сложная и состоит из комбинации двух команд grep. Первая ищет строки которые начинаются со слова ‘bay’ а вторая строки которые заканчиваются на слово ‘watch’.
Использование grep вместе с потоками
Вы наверно уже знаете что команда ls -l отображает подробный список файлов в директории. Часть grep rwxrwxrwx фильтрует результат полученый от ls -l и выводит только те директории у которых установлены соответствующие права доступа. В данном случае это открытый доступ на чтение, запись и поиск для всех пользователей и групп. Так что вместо того чтобы увидеть полный список файлов вы увидите только те файлы у которых установлены нужные вам права доступа.
Вывод от команды grep может также быть направлен потоком в другую команду, например как в следующем примере:
Вы должны уже догадаться что делает указаная выше команда 🙂 Если не догадались то все просто — она выводит постранично список mp3 файлов найденых в текущей директории. Все просто 🙂
Эта команда отобразит все строки в файле /home/david/script1 которые начинаются с символа ‘#’. Определение тип ‘^#’ означает что символ ‘#’ должен быть первым символом с троке.
Эта команда ищет строки содержащие в первом символе цифры от 0 до 9 а потом выводит только те строки которые не попали в результаты поиска. Как вы видите — был использован ключ ‘-v’ означающий реверсивный поиск.
Важно: Необходимо заключать искомые строки в одинарные кавычки как указано в двух предыдущих примерах для того чтобы интерпретатор командной строки мог воспринимать их корректно. Иначе интерпретатор может понять это как другую команду и результат выполнения будет непредсказуем.
Некоторые дополнительные ключи команды grep:
-v : Выводи реверсивные результаты. Вместо того чтобы вывести строки где искомое было найдено — выводи те строки где искомой подстроки нет.
-c : Отключает стандартный способ вывода результата и вместо этого отображает только число обозначающее количество найденых строк.
-i : Делает поиск регистронезависимым
-w : Ведет поиск по цельным словам. Например при обычном поиске строки ‘wood’ grep может найти слово ‘hollywood’. А если используется данный ключ то будут найдены только строки где есть слово ‘wood’.
-l : Выводит только имена файлов где была найдена строка.
-r : Производит поиск рекурсивно по всем поддиректориям.
Я надеюсь эта небольшая инструкция поможет вам разобраться с этой полезной командой.
👉 @sysadminof
grep это вполне возможно самая популярная из существующих команд в Unix/Linux. Многие бы с этим поспорили, но стоит начать использовать grep, эта команда будет присутствовать почти во всех ваших скриптах для консоли Linux. grep расшифровывается как ‘global regular expression printer‘. Иными словами grep выдрезает нужные вам строки из текстовых файлов которые содержат указаный пользователем текст.
grep может быть использован двумя путями — сам по себе или в комбинации с потоками.
Использование grep в чистом виде
$ grep '12:00' /home/david/backup/log.txt
Эта команда показывает как можно использовать grep для того чтобы получить строки из файла содержащие подстроку указаную в командной строке. Файл не обязательно должен оканчиваться на .txt. Показаная выше команда производит поиск подстроки 12.00 в файле /home/david/backup/log.txt и отображает все строки где эта подстрока встречается.
Эта комбинация может быть использована например для поиска бекапов которые происходили в 12:00.
$ grep -v '12.00' /home/david/backup/log.txt
А вот эта команда (с использованием ключа -v) наоборот покажет только те строки где подстрока ’12:00′ не встречается.
$ grep -l 'delay' /code/*.c
Эта команда будет искать все файлы оканчивающиеся на .c и текст в найденых файлах соответствующий подстроке 'delay' и в конечном итоге выведет только имена файлов где эта подстрока встречается.
$ grep -w '\<bay' * $ grep -w 'watch\>' *
Эта команда уже более сложная и состоит из комбинации двух команд grep. Первая ищет строки которые начинаются со слова ‘bay’ а вторая строки которые заканчиваются на слово ‘watch’.
Использование grep вместе с потоками
$ ls -l | grep rwxrwxrwx
Вы наверно уже знаете что команда ls -l отображает подробный список файлов в директории. Часть grep rwxrwxrwx фильтрует результат полученый от ls -l и выводит только те директории у которых установлены соответствующие права доступа. В данном случае это открытый доступ на чтение, запись и поиск для всех пользователей и групп. Так что вместо того чтобы увидеть полный список файлов вы увидите только те файлы у которых установлены нужные вам права доступа.
Вывод от команды grep может также быть направлен потоком в другую команду, например как в следующем примере:
$ du | grep 'mp3' | more
Вы должны уже догадаться что делает указаная выше команда 🙂 Если не догадались то все просто — она выводит постранично список mp3 файлов найденых в текущей директории. Все просто 🙂
$ grep '^#' /home/david/script1 | more
Эта команда отобразит все строки в файле /home/david/script1 которые начинаются с символа ‘#’. Определение тип ‘^#’ означает что символ ‘#’ должен быть первым символом с троке.
$ grep -v '^[0-9]' /home/david/backup/log.txt | more
Эта команда ищет строки содержащие в первом символе цифры от 0 до 9 а потом выводит только те строки которые не попали в результаты поиска. Как вы видите — был использован ключ ‘-v’ означающий реверсивный поиск.
Важно: Необходимо заключать искомые строки в одинарные кавычки как указано в двух предыдущих примерах для того чтобы интерпретатор командной строки мог воспринимать их корректно. Иначе интерпретатор может понять это как другую команду и результат выполнения будет непредсказуем.
Некоторые дополнительные ключи команды grep:
-v : Выводи реверсивные результаты. Вместо того чтобы вывести строки где искомое было найдено — выводи те строки где искомой подстроки нет.
-c : Отключает стандартный способ вывода результата и вместо этого отображает только число обозначающее количество найденых строк.
-i : Делает поиск регистронезависимым
-w : Ведет поиск по цельным словам. Например при обычном поиске строки ‘wood’ grep может найти слово ‘hollywood’. А если используется данный ключ то будут найдены только строки где есть слово ‘wood’.
-l : Выводит только имена файлов где была найдена строка.
-r : Производит поиск рекурсивно по всем поддиректориям.
Я надеюсь эта небольшая инструкция поможет вам разобраться с этой полезной командой.
👉 @sysadminof
👍8