• Show version and haiku, но не только: ищем все скрытые команды Junos

      Всем привет!

      Эта статья — о скрытых командах операционной системы Junos. Тем, кто работал с оборудованием Juniper под управлением ОС Junos (сюда относятся серии MX, SRX, EX, QFX, T, J, и многие другие) наверняка известно, что кроме «официальных» (документированных) команд в системе имеются и недокументированные. Их особенность в том, что они не видны в интерфейсе командной строки по контекстной подсказке (это когда вводишь вопросительный знак) и для них не работает автозаполнение, то есть команду нужно знать и ввести полностью (все буквы). Видимо, самая известная (и самая бесполезная) из таких команд — show version and haiku, выдающая «японское» трехстишие о жизни сетевых инженеров.

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

      В этой статье я расскажу о том, как можно получить список всех скрытых команд Junos операционного режима, в пределах какой-то начальной ветки. Метод основан на довольно простом наблюдении, но гуглением мне не удалось найти свидетельств того, что вопрос раньше ставился в такой форме. Пример скрипта на Python прилагается.

      Читать дальше →
    • Обзор Friendly interactive shell (fish) и почему она лучше bash

      Недавно админ компании, в которой я работаю, посоветовал попробовать заменить стандартный bash на zsh или fish. Я начал искать информацию по обоим оболочкам, перед тем как попробовать их.

      Тут следует пояснить, почему мне не нравится bash. Основное неудобство для меня — это bash script. Когда надо что-то простенькое реализовать, то синтаксис довольно понятен. Но как только тебе надо сделать какую-то сложную логику (хотя бы несколько команд подряд), становится очень сложно разобраться в коде, особенно когда смотришь чужой скрипт. Следующее, что меня расстраивало — это сложности в автокомплите и поиске команд. Конечно, спасало сочетание Ctrl + r, но хотелось, чтобы такой поиск был по умолчанию. Ну и оставалось чисто индивидуальное недовольство настройкой цветов в баше. Единственное, что мне удалось настроить, это подсказка, и то без онлайн генератора PS1 мне было бы очень сложно и это сделать.

      Недовольство всеми этими недостатками медленно зрело во мне на протяжении последних 2 лет (приблизительно столько активно пользуюсь командной строкой). Я решил поискать альтернативы. Открыв «Хабр» (основной источник полезной информации для меня) я начал изучать статьи по обоим оболочкам. Первое, что бросилось в глаза — это всего одна короткая статья про fish. Тогда как про zsh было вполне достаточно информации. Изучив поверхностно последнюю оболочку, я понял, что она еще сложнее в усвоении, чем bash. Конечно, все что угодно можно усвоить и использовать по полной программе, но я не сисадмин, а веб-разработчик на Python и мне нужен удобный инструмент, который бы не отвлекал от основной работы, легко и понятно настраивался и конечно же был приятен глазу.

      image

      Если вас заинтересовала оболочка fish, прошу под кат.
      Читать дальше →
    • XFeatures — Полезное расширение для ATMEL STUDIO 6

      imageДля тех, кто любит упрощать себе жизнь всякими расширениями оболочек, могу предложить использование приятного расширения и для ATMEL STUDIO 6.

      Это расширение называется XFeatures (текущая версия 1.5, пока еще с пометкой Beta). Я расскажу о самых полезных, на мой взгляд, возможностях.
      Читать дальше →
    • ToFoIn – Toggle Failover of Internet или переключение между двумя внешними каналами в FreeBSD

      Аннотация


      Одним из вариантов повышения стабильности подключения к сети Интернет является использование двух внешних каналов связи, что подразумевает автоматическое переключение между ними. В статье кратко рассмотрены некоторые варианты решения данной задачи. Предложен свой способ решения с использованием скриптов на языке bash в ОС FreeBSD, приведены инструкции по созданию конечной системы и исходные тексты необходимых для этого скриптов.
      Читать дальше →
    • Окружение, опережающее мысль

      desktopЕсли эффективной работе в cli/bash/vim посвящены сотни статей, то теме организации рабочего окружения сисадмина — едва ли несколько штук. Чаще всего это скриншоты какого-нибудь Enlightenment с 1 прозрачным терминалом, часам, календарем, 15 виджетами загрузки CPU и голой анимешной бабой на фоне. Подходит для фильма «Хакеры», не подходит для работы. Нам требуется, чтобы терминал появлялся еще до того, как мы об этом подумали, выполнял свою работу и исчезал бесследно до следующего такта.
      Читать дальше →
    • UEFI — Ааа, слышал… но все же, что это?

      UEFI – взгляд вперед (часть 1/3)


      Не так давно приходилось разбираться с тем, что такое UEFI и с чем же его едят. Тема весьма актуальна, а статей на русском языке не очень много. Что же, постараюсь исправить ситуацию и поделиться информацией, кою удалось «нарыть». Для начала, вводная глава для ознакомления с тем, что же такое UEFI и зачем оно нужно.

      UEFI (Unified Extensible Firmware Interface) является связующей оболочкой между операционной системой и аппаратной частью (железом). В будущем планируется, что UEFI полностью вытеснит BIOS (Basic Input Output System) и займет его место. UEFI является относительно старой технологией, разработанной в 2005 (Unified EFI Forum) году. Однако, сие высказывание некорректно относительно данной ситуации, так как несмотря на то, что 8 лет довольно большой срок для IT-технологии и в иных сферах за эти годы успевали сменить сразу по нескольку технологий, UEFI изначально развивался довольно медленно и лишь в последние годы стал получать все большую известность. Ниже вы можете ознакомиться с графиком релизов UEFI.



      Первоочередной целью при создании UEFI была разработка удобной и многогранной оболочки для 64-х битных систем с более развитым пользовательским интерфейсом и сетевым контролем.
      И так, какими же преимуществами обладает UEFI?
      Читать дальше →
    • Десятка лучших консольных команд

        imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
        Узнать больше
      • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

        Подробнее
        Реклама
      • Еще один взгляд на планшет для пожилых

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



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

          Я к сожалению не могу помочь с «привлечением узких специалистов» попробую помочь с привлечением средств, методом систематизации разработки предлагаемого вами продукта.
          Мной подготовлено Техническое задание на разработку автоматизированной Системы «Планшет для неквалифицированного пользователя». В лучших традициях старого стиля отрасли ИТ. Возможно часть мыслей могут пригодится при привлечении внешнего финансирования.

          Для инвестора будет важно:
          1. Численность целевой группы,
          В соответствии со статистикой «Число лиц старше трудоспособного возраста в России с 2006 года постоянно растет и на начало 2012 года составило 32,4 миллиона человек или 22,7% от общего населения. Численность лиц старше трудоспособного возраста сегодня на 8,9 миллиона человек превышает численность лиц моложе трудоспособного возраста» © Вовченко, Минтруд.
          2. Способность Продукта (Системы) к извлечению прибыли.
          Способ монетизации.
          я тоже не люблю этот термин, но к сожалению получение внешних инвестиций без него невозможно.
          В нашем случае предлагается иметь как минимум 2 платные услуги:
          • программу управления удаленным планшетом,
          • службу помощи пожилому пользователю.

          Читать дальше →
        • Парсинг CSV-файла средствами bash и awk

          Доброго времени суток, Хаброчитатель!

          Возникла у меня необходимость перевести интерфейс одной системы. Перевод для каждой формы лежит в отдельном XML-файле, а файлы группами разбросаны по папкам, что очень неудобно. Решено было создать единый словарь, чтобы в Excel’е работать с переводом всех форм. Данная задача в свою очередь разбивается на 2 подзадачи: извлечь информацию из всех XML-файлов в один CSV-файл, после перевода из CSV-файла создать XML-файлы с прежней структурой. В качестве инструментов были выбраны bash и awk. Первую подзадачу описывать смысла нет, так как она достаточно тривиальная. А вот как распарсить CSV-файл?
          Узнать
        • Переносим функциональность bash в cmd.exe

            Мне, как и многим из вас, работать с bash и стандартными утилитами Linux гораздо удобнее и приятнее, чем с cmd.exe. Однако, к сожалению, порой обстоятельства складываются так, что операционную систему выбирать не приходится. Например, в моём случае корпоративным стандартом является Windows 7. К счастью есть способ сделать жизнь линуксоида в командной строке Windows комфортнее, о нём и пойдет речь ниже.

            Читать дальше →
          • Уведомления о завершении консольных команд

              Undistract-Me — простая, но чрезвычайно полезная в хозяйстве утилита, которая делает одну вещь — выводит уведомление, когда длинная команда (по умолчанию 10 секунд, но можно настроить) завершила свое исполнение.



              Также показывает название этой команды и время, которое она заняла. Должно работать со всеми окружениями рабочего стола.
              Особенно хороша, когда вы, например, решили чего-нибудь скомпилировать, и не хотите все время пялиться в черный экран или проверять каждую минуту работает ли оно еще. Теперь во время пересборки ядра вы сможете наслаждаться своими любимыми видео с кошечками!
              Читать дальше →
            • Проверка входных параметров или косвенные ссылки на BASH

              Проблема

              По долгу службы приходится активно использовать Shell скрипты на ОС Linux.
              Притом что все скрипты фактически одинаковые по своей сути – генерация данных. Немалое количество времени уходит на написание и отладку правильности проверки входной информации от заказчика. И соответственно определение параметров генерации данных на основании этих входных параметров.

              В основе проверок лежат статические определенные спецификациями данные, зачастую таблицы, в результате сверок формируются новые необходимые параметры для дальнейшей генерации. При этом работа по настройке проверочной информации требует аккуратности и внимательности, поскольку возможные ошибки могут стоить дорого.
              Стадия проверки в основном состоит из нагромождения вложенных конструкций case и if.Была мысль делать разбор табличек через систему cut ( таблица )> read var1 var2 var3 потом if-ы, а потом куда-то формировать результат — но все это не очень удобно и не красиво, хотелось минимального синтаксиса.
              Читать дальше →
              • +25
              • 6,1k
              • 3
            • zsh: tips & tricks

              • Tutorial

              zsh logoО zsh не раз писали на хабре. Однако, и как те топики, и как мои личные наблюдения, показывают, что большинство людей, знакомых с zsh, используют его как bash с продвинутым автокомплитом. Да и тот (автокомплит) используют не на полную катушку.



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

              Если вам интересно, и вы не сторонник холиваров, милости прошу
            • Inferno Shell

                FAQ: Что такое OS Inferno и зачем она нужна?

                Оболочка ОС Инферно много лет вызывала у меня исключительно отрицательные эмоции. И я никогда не понимал, что в Inferno sh вызывает восторг у некоторых людей. Но, как говорится, лучше поздно чем никогда — сегодня я решил таки тщательно разобраться с шеллом, и в результате меня тоже проняло — это таки действительно уникальная вещь! Невероятно элегантная и простая.
                Читать дальше →
              • О разных командных оболочках Linux и Unix

                  imageНаверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

                  • Клоны Bourne shell (bash, zsh)
                  • C shell (csh, tcsh)
                  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
                  • Экзотические, специфические и все остальные

                  О наиболее интересных из них и пойдет речь.
                  Читать дальше →
                • Проверка баланса телефона в консоли

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

                  Пару лет назад я пользовался программкой «баланс робот» на андроид телефоне, которая в виде виджетов показывала балансы моих телефонов, но тогда я любил постоянно перепрошивать свой телефон, и каждый раз восстанавливать настройки виджетов было очень лень, а еще хотелось, что бы эта информация была доступна не только мне. И я решил, что надо собрать всю эту информацию на web страничке.
                  Мне очень нравится работать в консоле, и я подумал, что нужно сделать две программы — одна вытаскивает баланс телефона, а вторая собирает статистику в БД и генерирует html странички с отчетом.
                  Читать дальше →
                • Android прошивки на личном опыте

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

                    У меня нет опыта владения телефонами на WP7 или iOS, и данный холивар в этом топике не затрагивается.
                    Читать дальше →
                  • Как установить и настроить оболочку ridiculous fish в Debian Squeeze

                      Совсем недавно я открыл для себя оболочку Ridiculous fish, которая принципиально отличается от bash и zsh с которыми я работал ранее. На моем MacBook Pro под Mac OS X оболочка установилась без каких либо проблем и замечательно работала. Освоившись в новой оболочке, я решил что пришло время установить и настроить ее так же и на серверах, на которых установлен 64-разрядный Debian Squeeze. Тут то я и столкнулся с тем, что 32-разрядный deb пакет, который лежит у них на сайте, на 64-разрядный Debian не устанавливается. И я решил собрать любимую оболочку из исходников. Этот процес и будет описан в статье.
                      Читать дальше →
                    • Удалённая установка приложений

                        Предлагаю программу для администраторов — Rinstall (скачать можно здесь). Она решает следующие задачи:

                        1. Удалённое администрирование
                        2. Удалённое выполнение команд
                        3. Удалённая установка приложений
                        Читать дальше →
                      • Регулярные выражения внутри bash

                              Занялся я как-то оптимизацией скорости работы своего скрипта. Алгоритм был уже вовсю отполирован, распараллелен и выполнялся уже более чем за сносное время. Лишь изредка, облизывая части кода, шебурша места, использующие внешние команды и приводя в благоухающую гармонию встроенными командами оболочки, обращал внимание на застоявшуюся роль труженика — потокового редактора sed, всё так же старательно обрабатывавшего регулярные выражения в моём расцветающем скрипте.
                          Существует множество мест, где люди грызут друг другу глотки и отстаивают честь своего любимого редактора в грозной войне sed vs awk vs grep vs …
                          Тем не менее, большинство знает, что замена вызовов внешних команд на внутренние зачастую значительно ускоряет критические места скрипта, заставляет улыбаться автора, тратя меньше его времени на ожидание за чашкой кофе «пока закончится обработка». Это, в некотором смысле, некоторая неадекватность, если он знает язык Си и может значительно ускорить программу переписыванием кода на Сях; но не следует сразу записывать его в сумасшедшие — некоторые скрипты довольно объемны для переноса кода и используют различные команды, заставляя код пухнуть от нахальных вставок системных вызовов exec().
                              Итак, как бы то ни было, разработчики bash третьей версии наделили нас возможностью пользоваться встроенными регулярными выражениями внутри команды [[ при помощи =~.
                          Большинство результатов на гугление про такую способность bash выносят один и тот же вердикт — «пользоваться регулярными выражениями внутри bash — моветон».
                          В данной статье я попытаюсь вынести вердикт, насколько всё плохо (а оно действительно как-то нехорошо).
                          Читать дальше →
                          • +34
                          • 37,6k
                          • 6

                        Самое читаемое