• Что такое grep и с чем его едят
    –1
    1-е из консоли
    2-е скриптовое

    дебиан
    # uname -o
    GNU/Linux

    cat /tmp/shell.txt
    /bin/bash
    /bin/sh

    фриибсд
    uname -o
    FreeBSD

    cat /tmp/shell.txt
    /bin/csh
    /bin/sh

    ну и ссылочку подправлю
    en.wikipedia.org/wiki/Comparison_of_command_shells
  • Что такое grep и с чем его едят
    –1
    ru.m.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D1%85_%D0%BE%D0%B1%D0%BE%D0%BB%D0%BE%D1%87%D0%B5%D0%BA

    Первая табличка для вас
    Сделайте скрипт
    echo $SHELL с перенаправлен-ем в файл
    И исполните его не из консоли
  • Что такое grep и с чем его едят
    –1
    А если ни какой не запрошен? :)
  • Что такое grep и с чем его едят
    –1
    Да я вот и не пойму на кой чёрт мне комменты в консоли? На утро пересматривать history с комментариями, чтобы понимать что спьяну вечером наворотил?

    Ну кто мешал при разборе optarg закавычить #
    Хотя, возможно, всё дело привычки. Это фряшники привыкли к разным скрипт/логин шеллам. Для линуксоидов это, действительно, кажется необычным.

    Но таки всем участникам обсуждения спасибо!
    В статье закавычил все #.
  • Что такое grep и с чем его едят
    0
    Нет, книга была подарена лет 10 назад, а судьбы диска не помню.
  • Что такое grep и с чем его едят
    +1
    Это стандартное поведение для С-шеллов.
    Более того зачастую в системе используются по умолчанию разные login- и script- шеллы.
    Ну в той же FreeBSD дефолтным логин-шеллом является tcsh, а скриптовым ash (т.е. они даже не одного пошиба, первый С-шный, второй Борновский)
    Если не ошибаюсь, то и в Mac OS X старых версий были tcsh и bash
  • Что такое grep и с чем его едят
    –2
    Сказок никаких нет. Яж и не спорю, что /bin/sh — все Борн-шелл совместимые (даже в той же FreeBSD). И при исполнении сценариев в основном они стараются поддерживать Борн-шелл совместимость, хотя давно уже не удаётся, иначе не писалось бы кучу книг о переносимом Борн-шелл программировании. Вот только Вы опять упустили суть с чего начался вопрос. Мы говорим не о сценариях. В сценариях и С-шеллы интерпретируют # однозначно как комментарий и никак иначе. И если поместить строку с которой начался вопрос в скрипт и выполнить её /bin/csh'ем, то она гарантированно не отработает.

    Но, объясните откуда взялись комментарии в интерфейсе командной строки. Или в борн-совместимых шеллах можно в командной строке писать команды с комментариями?
  • Что такое grep и с чем его едят
    +2
    Если вы считаете себя знаком Юникса

    Я не считаю себя знаком и даже знатоком Юникса. А эту книгу я когда-то купил студентом за свои деньги. Я и сейчас не стесняюсь учиться, иначе будет скучно жить.
  • Что такое grep и с чем его едят
    –1
    Вы знаете… После этой статьи я смотрю на них снисходительнее. Выяснилось, что хабровчане с достаточно высоким рейтингом не знают элементарных основ (U|L)*n+x
  • Что такое grep и с чем его едят
    –2
    Ладно попробуем по шагам:
    — sh — это командный интерпретатор. Ему можно передавать команды на исполнение.
    — Они могут передаваться как из интерфейса командной строки так и из скриптов.
    — Сейчас говорим только об интерфейсе командной строки (попутно вопрос — Откуда там могут взяться комментарии?)
    — По пути /bin/sh может оказаться совсем не тот интерпретатор, который Вы ожидаете увидеть, то что он зовётся sh, совсем не значит, что там живёт sh

    бузибокс:
    /bin/sh --version
    BusyBox v1.22.1 (2014-06-23 09:50:00 CEST) built-in shell (ash)

    дебиан
    ls -l /bin/sh
    lrwxrwxrwx 1 root root 4 Mar 1 2012 /bin/sh -> dash

    центос
    # /bin/sh --version
    GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

    Надеюсь вы понимаете что между ash, dash и bash таки есть хоть какая-то разница.
    Я понятнее не смогу объяснить.
  • Что такое grep и с чем его едят
    –3
    Совсем не понимаете?
    Это значит что по пути /bin/sh может быть хардлинк или симлинк на какой угодно шелл.
    Как вы и просили выше пример линукса с дефолтным ash
  • Что такое grep и с чем его едят
    –2
    А что касается именования sh, то посмотрите куда он линкуется, под ним может скрываться несколько совершенно разных shell'ов.
    Как пример:
    root@DD-WRT:~# echo $SHELL
    /bin/sh
    root@DD-WRT:~# $SHELL --version
    BusyBox v1.22.1 (2014-06-23 09:50:00 CEST) built-in shell (ash)

  • Что такое grep и с чем его едят
    –3
    В тегах ещё и *nix, и все вышеперечисленные Unix-подобные, не говоря уж о FreeBSD, которая самый что ни на есть прямой потомок ATT UNIX
  • Что такое grep и с чем его едят
    –1
    А что же по вашему делает Борновский шелл таким привилегированным? :)
    пройдёмся по дефолт-шеллам:
    BusyBox ash
    GoboLinux zsh
    OpenBSD ksh
    FreeBSD tcsh
    Mac OS X tcsh / bash
    Minix ash
    AIX вроде ksh
    Согласен, что может стоит указывать shell в котором делаются тесты, но уж никак не по причине того что это не sh
  • Что такое grep и с чем его едят
    0
    Да, и я в большинстве случаев за разделение. Но иногда мы этим разделением доходим до абсурда и в ущерб производительности и удобству. К слову я как-то тестировал grep content -c file и grep content file | wc -l и grep выиграл почти на порядок. И на тот момент для меня это было принципиально.

    Ну а вообще принцип KISS — это тема для отдельной статьи :)
  • Что такое grep и с чем его едят
    –3
    Я думаю, что большинство примеров будут работать и в Линуксе, ну а уж выяснять в каком шелле требуется закавычивание, а в каком нет, уж извините, не буду )
  • Что такое grep и с чем его едят
    0
    Да я почти с этого статью начал.
    Распишем детальнее:
    root@nm3:/ # grep --version | grep grep
    grep (GNU grep) 2.5.1-FreeBSD
    root@nm3:/ # uname -o
    FreeBSD
    root@nm3:/ # id
    uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
    root@nm3:/ # echo $SHELL
    /bin/csh
    
  • Что такое grep и с чем его едят
    +2
    Имелось ввиду, видимо:

    # touch -- "-1.txt"
    # rm -1.txt
    rm: illegal option -- 1
    usage: rm [-f | -i] [-dIPRrvW] file ...
           unlink file
    # rm -- "-1.txt"
    #
    
    
  • Что такое grep и с чем его едят
    +3
    Удалёнку, со сменным идиотским графиком и монотонной и скучной работой без фантазии, хоть и с приличной оплатой (для удалёнки).
  • Что такое grep и с чем его едят
    +2
    Да, конечно, я сознательно не усложнял эту регулярку.
    grep -E '\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b' /etc/resolv.conf
    была бы совсем нечитабельна.
  • Что такое grep и с чем его едят
    +2
    К сожалению, эта история имела продолжение. Поиски проводились ещё дважды. Суммарно ещё человек 10. Одному пришлось отказать, т.к. вряд-ли работодатель смог бы его мотивировать через полгода-год. Из остальных был выбран самый молодой в надежде, что удастся его научить… Но, видимо, учитель я плохой…
  • Что такое grep и с чем его едят
    +1
    # /bin/csh
    root@nm3:/ # grep -v # /etc/resolv.conf
    nameserver 8.8.8.8

    root@nm3:/ # /bin/tcsh
    root@nm3:/ # grep -v # /etc/resolv.conf
    nameserver 8.8.8.8

    root@nm3:/ # /bin/sh
    # grep -v # /etc/resolv.conf
    Usage: grep [OPTION]… PATTERN [FILE]…
    Try `grep --help' for more information.
    # grep -v "#" /etc/resolv.conf
    nameserver 8.8.8.8

    пояснения нужны?
  • Что такое grep и с чем его едят
    +7
    Да, пример изначально алогичный. И само использование символьного класса для одного символа кажется бессмысленным.
    По шагам как происходит обработка этого момента:
    grep "[t]tyv" помещается в список процессов;
    — происходит преобразование символьного класса [t] в t;
    — grep начинает работу;
    Т.е. grep ищет ttyv, в то время как в список процессов попало [t]tyv.
    Надеюсь смог объяснить.
  • Что такое grep и с чем его едят
    +18
    А ноль часов это четный час?

    Ну если делится без остатка на 2 то чётный )
  • Защищаем роутер от пользователя с помощью dd-wrt
    0
    Они, обычно, и не выпендриваются. Я работал у провайдера-миллионника. Такой бездумной траты денег я не видел больше нигде. За год на одной из станций было заменено 4 dslam'а без увеличения емкости, а старые просто шли в утиль.
    Периферийные же провайдеры не всегда выходят на самоокупаемость, потому и пытаются из г… на слепить пулю. Бывают, конечно, и перегибы.
  • Защищаем роутер от пользователя с помощью dd-wrt
    +1
    Если рассуждать теоретически, то логин-пароль для идентификации абонента не нужен: он и так идентифицирован однозначно номером порта в свитче провайдера или в DSLAMе.

    В реалиях местечковых провайдеров это не всегда осуществимо.
  • Защищаем роутер от пользователя с помощью dd-wrt
    +4
    А к автору статьи защита от пользователя это роутер который при сбросе в дефолтные настройки будет подключен к сети провайдера без вводов паролей и прочих настроек, но при этом давать доступ к настройке остальных функций устройства

    А статья о чём по Вашему?
  • Защищаем роутер от пользователя с помощью dd-wrt
    +8
    Статья — крик сердца

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

    А, вообще, у меня ощущение, что статью никто не читал…
  • Защищаем роутер от пользователя с помощью dd-wrt
    +1
    В нашем случае абоненту как-раз таки возможность настраивать роутер остаётся. Но если уж напортачили жмите reset и будет Вам счастье.
  • Что внутри головной станции кабельного телевидения
    0
    Новый телевизор без поддержки dvb-c, dvb-t большая редкость.
    А к реальным недостаткам «цифры» в сравнении с «аналогом» можно отнести лишь то, что одна подписка доступна только на одном устройстве, в отличии от «аналога», где хоть 5 телевизоров ставь, лишь бы сигнала хватило. В остальном в «цифре» только плюсы как в плане помехоустойчивости, требованиям к качеству магистральных и домовых сетей так и в качестве контента.
  • Тест Тьюринга пройден (на детском уровне сложности)
    0
    http://news.tut.by/society/382005.html
    Комментировать не хочу, просто соотнесите количество пострадавших и «фигурантов». А это всего-лишь один до конца завершённый процесс…
  • Демонстрация возможностей высокоростной обработки IP-пакетов, на примере простого DDOS-фильтра, разработанного на базе фреймворка NETMAP
    0
    Хм, чудная зверушка. первый раз вижу, чтоб чип не бился. Бывало, что не совпадает с vendor/device.
  • Демонстрация возможностей высокоростной обработки IP-пакетов, на примере простого DDOS-фильтра, разработанного на базе фреймворка NETMAP
    0
    искать нужно по чипу, например:
    # pciconf -lv | more
    ...
    none0@pci0:1:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00 hdr=0x00
    ...
    

    В ряду шифровок нас интересует chip=0x10d38086, который декодируется согласно данных с сайта производителя — www.intel.com/support/network/sb/CS-012904.htm. Первые четыре цифры это DevID(10d3), вторые четыре VendorID(8086).
  • Демонстрация возможностей высокоростной обработки IP-пакетов, на примере простого DDOS-фильтра, разработанного на базе фреймворка NETMAP
    0
    на 82545 делал 1,1
    на 82571 и выше — 1,48
  • RuTracker не работает из-за DDOS-атаки
    +3
    Нельзя ли воспользоваться услугами компаний, специализирующихся на защите от подобных атак, или их защита в данном случае неэффективна?


    # host rutracker.org
    rutracker.org has address 195.82.147.17
    
    

    # mtr 195.82.147.17
    ...
     4. ???
     5. ???
     6. ddos-guard.net      98.5%    70   46.2  46.2  46.2  46.2   0.0
     7. ???
    

    Как видно воспользовались и она неэффективна.
  • Министерство связи РБ запустило в тестовом режиме ресурс для оценки качества услуг передачи данных. «Спидтесты» больше не нужны
    0
    Из моего города вообще ни одного оператора в списке нет. И возможности зарегистрировать его также нет.
  • NginX балансировка нагрузки на сервера Apache
    0
    Боюсь, что новичка эта статья ввергнет в тихий ужас. И, собственно, одна ссылка HttpUpstreamModule для него будет полезнее всей этой статьи.
    Не говоря о том, что он долго будет искать логику в комментарии
    # Директива задаёт имя и параметры сервера. Обратите внимание, мы будем
    # использовать имя «pv» в директиве proxy_pass

    и выяснять этимологию слова актетам
  • Реакция разных компаний на уязвимости их ресурсов
    +14
    Лет 5 назад держал ВПС-ку у одного крупного хостинга. При очередном пополнении баланса был из процессинга перенаправлен на страничку super-hosting.xx/index.php?id_client=12345&add_balans=500, через пару минут мой баланс на хостинге превышал годовой бюджет РФ. Написал 3 безответных письма. Отчаявшись позвонил, поинтересовался можно ли вернуть ошибочно совершённый платёж… Не «вернули», не поблагодарили, ещё и судом угрожали.
  • За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил
    +7
    Заказал партию оборудования. Чётко обговорили, что доставка будет послезавтра, поэтому указал домашний адрес. Привезли назавтра, когда я был на работе и везти по рабочему адресу отказались т.к. «у меня в путевом листе уже указан этот адрес и переписывать я не буду» Поэтому муводила ждёт меня возле дома пока я приеду и заберу доставленный товар.
  • Работа инженера — разные необычные истории
    +112
    В лихие 90-е братки закапывали труп — перебили магистральник (взяли их через часа 2 в бане, когда они праздновали удачную закладку тела)

    Году в 95-м дед сошёл с ума, выкопал окоп, перебив магистральный кабель проходящий по его участку и занял оборону. Трофеи потом из подвала и сарая у него сапёры 3 дня вывозили.

    В 98-м грозу перестал отвечать НРП, поехали выяснять, что случилось — на месте НРП полянка забрызганная каплями дюраля о прямого попадания молнии (ну и попутно все НРП-шки по этой линии умерли). Кабель от «пострадавшего» НРП в обе стороны ещё на метров 20 раскапывали, что до живого добраться.

    В 99-м на предприятии АДСЛ роутер был подключен через 100-парный кабель, через который также была разведена сигнализация по зданию. В 8 утра и 5 вечера роутер вис намертво. Заменили 3 роутера, перекидывали пары в кабеле, месяц убили… Оказалось, что при открывании/закрывании дверей высокочастотный «скрежет» герконов в датчиках сигнализации «вешал» роутер. (Спустя года 3 аналогичная история произошла с моим соседом, у которого роутер вешался при включении холодильника.)

    В 00-м «золотоискатель» полез снимать воздушку 30-киловольтную, когда коснулся её клещами, то его отбросило и в полёте он оборвал наши воздушные линии, которые находились ярусом ниже

    и т.д. и т.п…