Записки IT специалиста
7.97K subscribers
1.56K photos
50 videos
15 files
2.23K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
加入频道
​​Первые впечатления от Mikrotik hAP ax2

Получил сегодня Mikrotik hAP ax2, он же C52iG-5HaxD2HaxD и уже успел его немного настроить. Точнее настроить все необходимое, без мелочей и плюшек.

Сначала про само устройство – размер стандартный, небольшой. Корпус пластик, внутри массивный металлический радиатор, поэтому устройство непривычно тяжелое.

Внутри процессор, точнее SoC Qualcomm IPQ-6010 который содержит 4 ядра ARM64 по 864 МГц и 1 ГБ оперативной памяти.

По ресурсам можно сказать, что для большинства повседневных задач дома или небольшой сети вычислительных возможностей за глаза. Нагрузка на процессор при прокачке через роутер 100 Мбит/с тарифа с отключенным Fasttrack составила 10-15%, с включенным – не более 5%.

Через WireGuard при нагрузке 5-8% прокачал 70-80 Мбит/с, с той стороны ARM-сервер от Oracle, где вроде-бы заявлено 50 Мбит/с сети, что, в общем и целом, отлично.

Оперативной памяти роутер с базовыми настройками потребляет около 400 МБ, но это практически без списков. Но с работающей динамической маршрутизацией.

Базовые настройки с ROS 6 в целом переносятся методом копипаста: настройки интерфейсов, мостов, PPP, Filter и NAT брандмауэра, настройки DNS и DHCP – все это можно смело копировать из старой конфигурации и минимально поправив в блокноте импортировать в новый роутер.

А вот с маршрутизацией и Mangle уже такой фокус не прокатит. Маршрутизацию в ROS 7 перекопали достаточно хорошо. Что касается базовых вещей, то в целом они остались плюс-минус на том же уровне, разве большую часть настроек вынесли из IP – Routes в Routing.

В Mangle ROS 6 мы могли задать новую Routing Mark ,и система автоматически создавала новую таблицу маршрутизации, теперь, наоборот, таблицу маршрутизации надо сначала создать руками, а только потом направлять в нее трафик.

Следует отметить, что такой подход более верный, так как сразу обозначает что мы работаем с дополнительными таблицами маршрутизации, а не какими-то там марками, как могло показаться в ROS 6.

А теперь о более грустном. Динамическую маршрутизацию переделали и переделали серьезно. Просто так перепрыгнуть не получится. Сделать быстро по образу и подобию тоже не получится.

В нашем случае на PPP соединениях OSPF завелся, а вот с туннелями GRE или IPIP сразу не взлетело. Возможно, какие-то особенности взаимодействия ROS 6 и ROS 7, возможно что-то еще.

Так как у нас все соединения с клиентскими сетями дублируются встречным SSTP, то проблема не сильно критичная, но придется садиться за документацию.

В целом динамическая маршрутизация это основное, что серьезно удерживает нас от перехода на ROS 7 у заказчиков. Так что опыт однозначно будет полезен, вне зависимости от конечного результата.

Это же касается и WireGuard, вроде бы он есть и это классно, но фактически применять его некуда (ну кроме VPN за границу), так как у заказчиков везде ROS 6. В общем еще одна интересная тема для исследования.

WiFi Wave2 – даже не брался, там надо отдельно садиться и выделять время. С одной стороны, базовую настройку упростили, теперь поднять точку доступа с паролем и автоматическими настройками можно в одну команду.

С другой, настройки серьезно переделали по образу и подобию CAPsMAN, с многоуровневыми вложенными профилями и возможностью перекрытия настроек на любом уровне. Ну и возможностей добавили. Есть где поковыряться, посмотреть.

Но это нужно время, сейчас Wi-Fi в доме работает от другой точки, поэтому просто поднял быстро точку, проверил несколько устройств и выключил. К этому вопросу вернусь позже.

Из плюсов – теперь сбросить настройки Wi-Fi можно также в одну команду, полезно если вы чего-то там накуролесили у уже не помните, как оно было.

В остальном впечатления только положительные, устройство достаточно мощное, хватит на ближайшие годы с учетом роста скорости тарифов до гигабита. Ну и будет реальный стимул изучения ROS 7.
👍36👌6🥱4👎21
​​40 лет Microsoft Windows

Вчера 10 ноября операционная система Windows отметила 40 лет. Хотя, когда все это начиналось, никто и не мог предположить во что это все выльется и разовьется.

Windows 1.01 была представлена 10 ноября 1983 года и была повсеместно признана дребеденью, а скорость ее работы напоминала скорость улитки попавшей в студень.

Честно говоря, полноценной операционной системой Windows 1.x не была, представляя графическую оболочку над MS DOS с фреймовым менеджером окон, который позволят разбивать пространство на отдельные, не пересекающиеся с другими области.

Основной целью разработки Windows (равно как и других, конкурирующих решений) было упрощение работы с MS DOS, унификация внешнего вида приложений, облегчение работы с периферией. Так файловый менеджер позволял работать с файлами или папками, не используя каждый раз полный путь для них.

Еще одним нововведением стало использование нового инструмента управления – манипулятора типа мышь, тоже не дешевого по тем временам устройства. Специально для формирования навыков работы с этим устройством с системой поставлялась игра Реверси, играть в которую можно было только при помощи мыши, позже эту же роль стал выполнять Сапер.

Вместе с системой поставлялось две специально разработанные для нее программы: Write и Paint, а также ряд утилит – календарь, калькулятор, часы.

Но, как мы уже писали выше, популярности она не снискала и за два года было продано всего около 500 тысяч копий, стоимостью по 99$ каждая (в нынешних ценах это 305$).

Основной причиной столь низкой популярности, как мы уже говорили, была крайне низкая скорость работы. Для нормальной работы с многозадачностью пользователю нужно было докупить большее количество оперативной памяти и жесткий диск, а также, возможно, новый процессор, что было по тем временам весьма обременительно финансово.

При этом Microsoft пошла путем, который она повторяла не раз, минимальные требования не отражали реальных системных требования для реализации всех функций ОС, о чем была приписка внизу мелким шрифтом.

В итоге система на большинстве пользовательских конфигураций работала очень неуклюже, за что подвергалась широкому осмеянию.

Например, в рецензии Нью-Йорк таймс говорилось:

Windows к тому же ещё и является очень прожорливой к памяти программой. Согласно написанному на купленной копии, она требует минимум 256 КБайт оперативной памяти. Под списком требований мелким шрифтом упомянуто, «чтобы запускать приложения в многозадачном режиме или DOS 3.3, нужно использовать бо́льше памяти».

Зачем кто-то будет покупать Windows без поддержки многозадачности, для меня загадка. Даже в этом случае Windows с 512 КБайтами памяти сродни наливанию патоки в Арктике. И чем больше открываешь окон, тем более медлительными они становятся.


В общем первый блин вышел комом, да и второй тоже, но уже с третьей версии систему ждал оглушительный успех, но это совсем другая история, пока же просто празднуем день рождения Windows.
🔥20👍31🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
​​Настраиваем веб-сервер Apache + PHP + MySQL с сертификатами Let's Encrypt

Веб-сервер Apache до сих пор остается достаточно популярным и де-факто является стандартом веб-сервера для платформы Linux, так или иначе большинство современных веб-приложений продолжают разрабатываться таким образом, чтобы работать на Apache из коробки, кроме того, сам веб-сервер имеет достаточно низкий порог входа и легко осваивается.

В данной статье мы рассмотрим, как настроить полноценный веб-сервер на базе Apache с поддержкой PHP и MySQL (стек LAMP) c обязательным шифрованием на базе сертификатов Let's Encrypt.

https://interface31.ru/tech_it/2023/10/nastraivaem-veb-server-apache-php-mysql-s-sertifikatami-lets-encrypt.html
👍37🔥2
​​Что не так с отраслевыми конфигурациями 1С?

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

Да, мы не сгущаем краски, во многих местах дело обстоит именно так: выбирать приходится меньшее из зол.

Начнём с того, что отраслевые от 1С – это дорого, грубо говоря в два раза дороже. Причина этого – в своеобразной практике лицензирования 1С. Если вы разрабатываете свою конфигурацию на базе типовой, то должны продать клиенту также и эту самую типовую.

Если разрабатываете с нуля, то вместо типовой должны также продать технологическую поставку, которая по цене равна типовой Бухгалтерии.

Хотите лицензировать дополнительные рабочие места? Не вопрос, но также обеспечьте их лицензией от 1С.

В итоге та же 1С:Бухгалтерия на 3 рабочих места обойдется в 15 400 руб. за коробку + 2 7000 руб. рабочие места. Итого: 29 400 руб.

Если брать 1С:Общепит, который на базе этой самой Бухгалтерии, то расклад выйдет уже иной: 34 200 руб. за коробку и 2 (6800 + 7070000) клиентские лицензии на доп. рабочие места от 1С и Общепита. Итого: 61 800 руб.

Также следует учесть, что поддержка отраслевых не входит в стандартные тарифы ИТС и для них нужно покупать в придачу 1С:КП Отраслевой ПРОФ, а это 18 200 в год для 1-й категории и 36 400 для второй. Плюсуем это к стандартному ИТС тарифу 38 652 руб. в год.

И так оно плюс-минус везде, при том, что отраслевые от 1С очень и очень разного качества. Если к тому же Общепиту вопросов нет и покупая его клиент получает готовое решение, то в других отраслях все далеко не так радужно.

Возьмем 1С:Розница 8. Салон оптики, цена конфигурации 26 000 руб., против 15 400 у просто 1С:Розница 8, обслуживается по 1С:КП Отраслевой ПРОФ 2 категории. Хорошо хоть доп. лицензий не просит.

Обещают:

Продукт для работы со специфическим ассортиментом (очки, комплектующие для их изготовления, контактные линзы, аксессуары) и бизнес-процессами (обследование зрения, изготовление очков) салонов оптики, как в варианте одиночного салона, так и сети салонов.

По факту кое-как реализована работа только с очками. Если тронуть контактные линзы, которых сегодня очень много типов, большая часть из которых требует индивидуального подбора, то просто туши свет.

Нет никаких инструментов по сопровождению клиентов: плановая замена, контрольные осмотры и т.д. и т.п.

Есть изготовление очков, но нет никаких зачатков производства.

Нет никакой договорной работы, хотя даже изготовление очков или подбор линз, не говоря об обследовании зрения, это медицинские услуги, требующие договорного сопровождения.

Нет никакой вменяемой системы взаиморасчетов, особенно с учетом законных представителей. Это когда пациентом является несовершеннолетний и оказанные услуги нам надо вести в его разрезе, а платит за него родитель.

В общем – ничего нет. Ничего из того, что реально нужно салону оптики и в чем у него есть потребность. А то, что есть – салону оптики не нужно, ввиду крайней убогости и рудиментарности.

🤷🏻‍♀️ По факту мы просто купили более дорогую 1С:Розница 8.

Сейчас, пройдя нелегкий путь дописывания 1С:Розница 8. Салон оптики под реальные нужды отраслевого предприятия мы, вместе с заказчиком, пришли к выводу: что проще и дешевле было сразу взять 1С:Розница 8 и доработать под текущие нужды. Получилось бы ровно тоже самое, что по деньгам, что по времени.

И такого много, очень много. Поэтому один раз обжегшись на такой «отраслевой» потенциальный покупатель будет смотреть в сторону прочих поделий, которые могут быть тоже косыми и кривыми, но в них хотя бы есть то, что действительно нужно отрасли. И возможности программы соответствуют текущим реалиям, а не представлениям методистов 1С о прекрасном.
🔥28👍173👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7👍1🤡1
​​Алиасы в PowerShell

Многие, кто только начинает изучать PowerShell, особенно перейдя из мира Linux, жалуются на его многословность, что может быть неудобно, если вы используете PS непосредственно для администрирования системы.

Да, это так, но этому есть свои основания.

Классические UNIX-оболочки создавались в те далекие и светлые времена, когда компьютеры были большие, объемы памяти маленькие, а скорости передачи данных – медленные. Все это заставляло биться буквально за каждый байт.

Кроме того, в те времена не было ни интернета с гуглом, ни разных синтаксис-помощников, поэтому команды старались делать попроще, чтобы запоминать было легче, пренебрегая удобством чтения кода и наглядной очевидностью.

Да, bash прост, но прост для того, кто в нем постоянно работает. Если это не так, то возможны разные веселые, или не очень, затруднения.

Например, команда:

grep error error.log

Еще вполне читабельна и если мы помним, что такое grep, то без труда догадаемся, что мы ищем строку "error" в файле error.log. Но расширение не является обязательным атрибутом файла и поэтому мы вполне можем встретить:

grep error error

И если вы не помните синтаксис grep вам придется непросто. Особенно если нужно изменить часть команды.

Поэтому PowerShell, который разрабатывался значительно позже, обильно полили синтаксическим сахаром, справедливо предполагая, что люди тоже могут читать программы. И не только могут, но и будут.

Поэтому тот же аналог grep в PowerShell выглядит так:

Select-String -Pattern "error" -Path .\error

Да, многословно, но даже далекий от PowerShell человек поймет, что мы выбираем строки, содержащие текст “error” из файла .\error.

И если мы занимаемся написанием скриптов, то такая многословность нам только в плюс, так как сильно облегчает читаемость кода человеком.

А скрипты в голом блокноте давно уже никто не пишет, есть удобные среды разработки с автодополнением, подсветкой синтаксиса, синтаксис-помощниками и прочими плюшками.

Но как быть, если мы используем PowerShell для административных нужд, каждый раз набирать полное имя команды и ключи в консоли, даже с автодополнением, может быть утомительно.

А вот как раз для этого придумали алиасы. Полный список алиасов команд PowerShell можно посмотреть, выполнив команду:

Get-Alias

Если нас интересует конкретная команда, то следует набрать:

Get-Alias -Definition Select-String

А если, наоборот, расшифровать алиас, то следует выполнить:

Get-Alias sls

Также можно создавать свои алиасы, для этого используйте команду:

Set-Alias -Name grep -Value Select-String

Таким образом мы легко можем настроить среду согласно своих привычек или просто писать в привычном стиле:

sls error error

А для тех, кто свои лучше годы отдал работе с Windows, напоминаем, что PowerShell давно доступен и на платформе Linux.
👍32🔥3
​​История Windows NT

Windows NT без преувеличения можно назвать ключевой системой для Microsoft, именно она и заложенные в нее технологии заложила ту основу, которую системы Windows используют сейчас.

Начиная с Windows XP закончилось деление ОС Windows на пользовательскую и профессиональную линейку и дальше пошла развиваться именно линия NT и сегодня, запуская Windows 10 или 11 мы имеем под капотом потомка той самой NT.

Вся эта история началась очень давно, в 1980 году, когда IBM готовилась к выводу на рынок IBM PC и искала для него операционную систему. Сложность дополнительно состояла в том, что все существующие на тот момент ПК были 8-битными и для 16-битного IBM PC систему еще предстояло написать.

В этот момент на сцену вышел Билл Гейтс, который пообещал недорого решить проблему IBM, для чего купил 86-DOS у компании Seattle Computer Products и перепродал лицензию IBM.

Затем, если систему продавал IBM, то она называлась PC-DOS, а если Microsoft или кто-то еще – MS-DOS.

Несмотря на то, что на момент выхода IBM PC уже вышли 16-битные версии уже существовавших ОС DOS уверенно занял рыночную нишу. Все дело было в цене, лицензия на DOS-стоила всего 40$, а CP/M – 450$ (144$ и 1613$ в нынешних ценах).

Однако дальше дела пошли не столь хорошо, ожидаемая на замену DOS операционная система Windows в версиях 1 и 2 провалилась, а выпушенная в 1987 году OS/2 оказалась тяжелой и трудно конфигурируемой, вследствие чего тоже не достигла успеха.

Понимая, что для успеха нужна новая операционная система партнеры принялись за разработку NT OS/2, которая была полностью новой системой и не базировалась ни на DOS, ни на OS/2.

Для этого Microsoft пригласила команду специалистов из DEC во главе с Девидом Катлером, который до этого разрабатывал там VAX/VMS и RSX-11M. Система изначально разрабатывалась как полностью 32-разрядная, переносимая и многопользовательская.

Сначала данный проект должен был основываться на графическом интерфейсе OS/2 и планировался к выходу как OS/2 3.0, но отношения между партерами начали портится.

IBM была недовольна открытой архитектурой IBM PC и предпринимала действия к выпуску нового поколения компьютеров PS/2 на максимально закрытой архитектуре и с использованием в качестве системы OS/2.

Но ни PS/2, ни OS/2 не имели коммерческого успеха, а в 1990 вышла в свет Windows 3.0, которая имела оглушительный рыночный успех.

В свете успехов Microsoft решила добавить в проект NT OS/2 подсистему для программной совместимости с Windows, что очень сильно не понравилось IBM, которая, наоборот, продолжала курс на максимальную закрытость и возврат контроля над всеми компонентами ПК.

В итоге в 1991 пути компаний полностью разошлись. IBM продолжило работы над OS/2, а Microsoft забрали свои наработки и выпустила в 1993 году новую ОС под именем Windows NT.

Система позиционировалась как для сетей и профессионалов, а номер первой версии был взят от рыночно успешной Windows 3.0, и новая система вышла как Windows NT 3.1

Вместе с ней увидела свет и файловая система нового поколения NTFS, а также очень многое из того, что широко применяется сейчас.

Взрывного успеха Windows NT не получила, но за год, до момента выхода NT 3.5 было продано более 300 тыс. копий по 495$ каждая (1080$ в текущих ценах).

Несмотря на наличие ресурсов и хорошие заделы по OS/2 Warp 3 компания IBM проиграла рыночную гонку с Microsoft и так и не смогла предоставить достойного конкурента Windows.

Во многом это было связано с тем, что Microsoft и лично Билл Гейтс сделали ставку на Windows и выиграли, в то время как в IBM никто не был готов взять на себя такую ответственность за проект OS/2, который продолжал оставаться еще одним из многочисленных проектов гиганта.

Вокруг этой истории до сих пор ходит масса мифов, но на самом деле Windows NT не имеет ничего общего с IBM OS/2, кроме того, что работа некоторое время велась в рамках одного проекта, это совершенно новая ОС.

Также IBM никогда не подавала к Microsoft судебных исков по поводу Windows NT.
👍49🤮41
Управлять сайтом через консоль слишком запарно 🤨
Ispmanager разрабатывает софт, в котором можно управлять сервером, сервисом и работой с сайтом прямо в браузере.

В своём канале ребята пишут про сайты, хостинг, админство без боли и разработку без запар. Ну и про свою панель для управления сервером и бэкендом сайтов.

Тебе точно будет полезно😊

Подписывайся!

Реклама. АО "ИСПМЕНЕДЖЕР". ИНН 3810037036. erid: LjN8JyQ7S
🤮6👍3
APT-синтаксис для Альт-Линукс

Тем, кто привык к синтаксису apt, который широко применяется в современных системах Debian или Ubuntu бывает трудно обратно переучиваться на синтаксис apt-get используемый в Альт Линукс.

Но теперь, благодаря Михаилу Шигорину в репозитории добавлен разработанный нами пакет apt-aliases, который добавляет в систему поддержку привычного синтаксиса apt.

Для установки используйте:

apt-get install apt-aliases


После чего вам потребуется завершить сеанс или перезагрузить систему. Теперь вы можете использовать для управления пакетами в Альт Линукс привычный синтаксис, например:

apt install …


В настоящий момент в пакете реализованы все основные используемые команды apt, которые транслируются в вызов стандартных apt-get.
👍31🔥41
​​История создания и развития IBM PC

На рынок персональных компьютеров руководство IBM обратило внимание в начале 80-го года, когда он был плотно занять такими признанными игроками Apple, Atari, Tandy и Commodore. Они выпускали 8-битные компьютеры для любителей писать программы на языке Бейсик.

Основным разработчиком Бейсик-продуктов была небольшая компания Microsoft, которую возглавлял недоучившийся студент Гарварда Билл Гейтс.

Бизнес по производству ПК в то время не представлялся руководству IBM имеющим настоящее, не говоря уже о будущем, но тем не менее компания считала нужным свое присутствие на этом рынке.

Команде разработчиков были поставлены самые жесткие сроки – менее года, а провал проекта грозил серьезными оргвыводами, поэтому были приняты многие решения, о которых компания впоследствии сильно пожалела.

Сжатые сроки означали, что система должна была строиться на основе уже существующих технологий и в качестве процессора был выбран 16-разрядный процессор 8088 от компании Intel.

Руководитель проекта, Дональд Эстридж, настоял на том, чтобы сделать архитектуру будущего IBM PC открытой, это позволяло воспользоваться силами сторонних производителей для выпуска периферии для нового компьютера, чтобы сразу обеспечить ее широкий ассортимент.

Вторая роковая ошибка была в том, что IBM позволило Билу Гейтсу самостоятельно продавать новую операционную систему под именем MS-DOS. Но тут деваться было некуда.

Первоначально Эстридж хотел использовать уже существующую CP/M, но руководитель Digital Research Гари Килдалл отказался подписать соглашение о неразглашении и проект зашел в тупик. Также версию CP/M для 16-разрядных компьютеров еще только предстояло разработать.

Ограничение по времени было очень жестким и тогда Гейтс и Эстридж пошли на авантюрное решение.

У Пола Аллена был знакомый Тим Паттерсон, который в начале 80-года начал писать CP/M совместимую систему для Intel 8086, назвав ее QDOS

Гейтсу осталось только перекупить QDOS за скромные 50 тыс. долларов и силами того же Тима довести до ума.

Это решение, несмотря не все его недостатки, фактически созданное в невероятной спешке на коленках стало для Эстриджа палочкой-выручалочкой, позволившей получить в срок операционную систему для будущего компьютера.

IBM PC (IBM 5150, процессор Intel 8088) был представлен публике 12 августа 1981 года и неожиданно стал пользоваться огромным успехом, если изначально компания планировала продать 250 тыс. ПК в течении пяти лет, то очень скоро она начала продавать такое же количество ПК ежемесячно.

Эстридж, как грамотный инженер, получил то, что хотел – ПК практически сразу стал поддержан большим количеством периферии, но компания получила еще один неприятный момент – клоны.

Действительно, любой мог купить процессор от Intel и операционную систему от Microsoft и уже в 1982 некая компания-выскочка Compaq представила клон IBM PC, а к 1984 году на рынке IBM-совместимых ПК конкурировали как новички, так и известные компании.

Но IBM сохраняло за собой лидерство, выпустив в 1983 году IBM PC XT, в состав которого впервые входил жесткий диск, а в 1984 PC AT на базе процессора 286.

Лидерство ускользнуло в 1986, когда Compaq первым представил 32-разрядный компьютер на базе процессора 386. Несмотря на то, что технически это клон AT, все-таки это был самый быстрый и современный ПК и выпустила его не IBM.

Тем временем компания готовила «ответный удар» в виде нового поколения ПК PS/2, для которого учла ошибки прошлого и которое базировалась на закрытой, обложенной патентами архитектуре.

Но несмотря на мощную рекламную компанию PS/2 провалился и термин IBM-совместимые компьютеры стал просто неуместен и все бывшие клоны IBM PC превратились просто в ПК или персональные компьютеры.

А компании IBM так и не смогла вернуть себе лидерство на рынке персональных компьютеров.

Эта история закончилась в декабре 2004 г. продажей IBM за 1,75 млрд. долл. своего подразделения ПК китайской компании Lenovo.
👍26🤷‍♂11
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1👀1
​​Используем grep для поиска в файлах и потоках

Любой Linux администратор сталкивался с командой grep, которая используется для поиска строк по шаблону в стандартных потоках и текстовых файлах.

Изначально grep был написан одним из основателей UNIX Кеном Томпсоном, когда его начальник Дуглас Макилрой попросил его написать инструмент «для поиска чего-нибудь в файлах». Название утилиты происходит от global regular expression print (глобальный вывод регулярных выражений)

Самый частый сценарий использования grep, когда нам нужно отфильтровать поток ввода-вывода, например:

dpkg -l | grep gimp

Также он может работать и с файлами, хотя многие используют совершенно излишнее:

cat file.txt | grep mystring

В то время, когда можно просто использовать:

grep mystring file.txt

Но бывает недостаточно просто найти искомое значение, часто бывает нужно получить также его контекст, это, например, важно при разборе логов, для этого используйте специальные ключи:

-A (after) – выводит указанное число сток после вхождения
- B (before) – выводит указанное число строк до вхождения
-С (context) – выводит указанное число строк до и после вхождения.

Например, если нам нужно вывести следующие пять строк после найденного вхождения используйте:

grep -A5 mystring file.txt

Если вам наоборот нужно сократить вывод и найти только вхождения, то используйте ключ -o, его удобно сочетать с ключом -n, который выводит номера строк.

Например:

grep -no mystring file.txt

Выдаст:

5:mystring
9:mystring
25:mystring

Также grep умеет искать по нескольким файлам сразу, в этом случае перед выводом искомой строки будет указано имя файла, если вам нужно вывести только имена файлов, в которых найдены вхождения используйте ключ -l:

grep -l mystring file.txt file1.txt file2.txt file3.txt

И наоборот, ключ -L позволяет вывести имена файлов в которых вхождение не найдено.

Для того, чтобы игнорировать регистр символов предназначен ключ -i, а ключ -v инвертирует шаблон запроса, так команда:

grep -v mystring file.txt

Выведет те строки, где нет вхождения указанного шаблона, часто применяется для того, чтобы вывести содержимое конфигурационного файла без комментариев.

И, наконец, grep может использовать регулярные выражения, для этого укажите ключ -E, например, поиск российских телефонных номеров в файле:

grep -E ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$ file.txt

Несмотря на то, что grep понимает многие подстановочные символы при использовании поиска по регулярным выражениям рекомендуется всегда использовать ключ -E, что позволит избежать неожиданных результатов.

В этом месте читатели могут вспомнить утилиту egrep, но в настоящий момент она, как и fgrep, объявлена устаревшей и лучше отвыкать от ее использования.

Несмотря на то, что указанные утилиты сохраняются практически во всех дистрибутивах для обеспечения обратной совместимости лучше сразу переходить на актуальные grep -E и grep -F.

Кстати, grep -F – это полная противоположность grep -E, данный ключ предписывает игнорировать метасимволы и подстановочные данные и будет искать строку как есть:

Например:

grep -F 2*(x+y)^2 file.txt

Будет искать строго то, что написано, это может понадобится при поиске специфической информации, скажем, математических выражений, как в этом примере.
👍47🔥4
В соседнем канале выложили такую вот бумагу. Чем она интересна?

1. Регулятор запрашивает у получателей данной рассылки сведения об используемых ими протоколах.

2. Указывает на те сервисы и протоколы, которые подлежат блокировке.

В их числе "хваленый" Shadowsocks, причем в силу его практической непригодности для корпоративных коммуникаций его блокировка видится делом ближайшего будущего.

А вот классические протоколы: PPTP, L2TP и OpenVPN как ходили, так и будут ходить, так как широко используются в корпоративной среде.

Тоже самое, скорее всего, справедливо будет и для WireGuard. Несмотря на то, что протокол относительно новый его уже достаточно широко используют в производственных целях.

А рубить широко и с плеча сегодня никто не будет, так как VPN нужен очень многим, в том числе и трансграничный.

В этом ключе все летние блокировки видятся именно как проверка: кого и как сильно заденет блокировка протокола, чтобы оценить ситуацию и скорректировать цели.
🤡28👍24🤔4👎1👌1
Please open Telegram to view this post
VIEW IN TELEGRAM
​​Полезная для начинающих утилита с неприличным именем

Работая в консоли Linux, начинающие делают ошибки, это нормально. Гораздо хуже, когда ее не удается быстро исправить или поиск информации затруднен.

В этом случае может пригодиться одна полезная утилита с неприличным именем - The Fuck, которое исправляет ошибки в введенных ранее консольных командах.

Утилита разработана на Python и для ее установки выполните:

sudo apt install python3-dev python3-pip python3-setuptools
pip install thefuck -–user

Обратите внимание, что саму утилиту, в отличие от зависимостей, следует устанавливать с правами того пользователя, который будет ей пользоваться, а ключ -–user предписывает установить утилиту только для текущего пользователя.

После чего в файл .bashrc внести строку:

eval $(thefuck --alias fuck)

Которая добавит для команды алиас fuck, если вам ближе родная речь, то можете написать:

eval $(thefuck --alias blya)

Затем перечитайте значения из файла или перезапустите сеанс:

source .bashrc

Теперь можно попробовать утилиту в деле. Вводим команду с ошибкой, после чего вызываем

fuck

Утилита тут же предлагает нам исправление, достаточно нажать Enter, но теперь снова ошибка, мы запустили команду с недостаточным набором прав. Снова вызываем утилиту, и она нас снова поправляет.

Чтобы избежать постоянного вызова утилиты можно запустить ее в режиме повторения:

fuck -r

Теперь она будет последовательно обрабатывать все полученные ошибки до получения результата, либо пока вы не прервете ее действия.

Если вы хотите применять исправления автоматически, то вызовите утилиту с ключом:

fuck -y

Но полностью полагаться на искусственный интеллект неразумно и небезопасно, поэтому разработчики отключили автоматическое подтверждение в режиме повторения.

Больше об утилите можно узнать на официальной странице Git: https://github.com/nvbn/thefuck
😁22👍14🔥2👀2
Пятничное. Случайно наткнулся. Гугл, оказывается, умеет тонко троллить...