Uname – сорокалетняя Siri

201

Помните те времена, когда на домашним компьютерам царствовали DOS и OS/2? Нет? Я тоже – слишком мал был тогда, чтобы говорить об этом всерьез. Да и “домашних” компьютеров тогда было крайне мало. Зато отчетливо помню, как мама приводила меня в вычислительный цех, садила за отключенный от ЭВМ терминал и позволяла делать на нем все, что вздумается. То был ЭВМ М-5100. Конечно, не PDP-8 с VT-52, но тоже неплохо. Наверное, в тот момент я был ближе всего к компьютерам.

С самого начала компьютер был отличным помощником, или, если хотите, рабом ученых, бухгалтеров и позже – писателей. Оператор задавал четкие команды и компьютер их четко выполнял, как в идеализированной армии. Сначала это были арифметические знаки и числа, а позже целые слова, из которых можно было собирать команды. Такой подход к взаимодействию можно назвать высшей ступенью. А Siri, Cortana, S-Voice и им подобные – лишь голосовые вариации на эту тему; в чем-то лучшие, в чем-то худшие.

Например, давайте посмотрим на голосового ассистента от Google. Вы можете сказать: “Ok, Google, открой калькулятор”. И устройство, если правильно была произнесена команда, выполнит ее. А теперь, разберем команду на составляющие. Сначала, когда вы говорите: Ok, Google, – вы обращаетесь к программе, называете ее по имени. Далее указываете команду, которую знает наша программа. И завершаете предложение тем, что должна выполнить программа, выбранной нами командой. В нашем случае – это открыть калькулятор.

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

Здесь, для примера я буду использовать Arch Linux, но повторить все ниже описанное можно на любой UNIX-подобной ОС.

Для этого в терминале нужно ввести uname и нажать Enter. На что компьютер без малейших колебаний ответит: Linux. Немногословно, правда? Но ничего, у машины можно уточнить как ее зовут, скажем, в сети. Для этого к команде uname добавим дополнительный ключ -n, как бы спрашивая: “Как тебя зовут в сети?”. На получившуюся команду (uname -n) компьютер сообщит нам свое сетевое имя. Но что делать, если вы не знаете какие дополнительные вопросы можно задавать? У кого спрашивать? Не переживайте, компьютер вам сам ответит. Просто к необходимой команде добавьте ключ –help. В нашем случае получится uname –help.

Ну вот, совсем немного, но мы пообщались с компьютером. Чем не диалог человека с машиной? А самое интересное в том, что утилита uname (unix name) была еще на PWB/UNIX в 1970-х.

Продолжение следует…

Читайте далее: Гик-чтиво #1 – командная оболочка, как точка взаимодействия

РЕКОМЕНДУЕМ! СВЕЖЕЕ ВИДЕО НА НАШЕМ YOUTUBE-КАНАЛЕ:
  • Немного мутная запись, но познавательно :)

  • Вот и поговорили :))

  • Alexander Lemberg

    Ни о чем, если честно.)) Ну,то есть совсем.)

    • Вторая запись немного раскрывает задумку https://root-nation.com/31/03/2015/gik-chtivo-1-komandnaya-obolochka/
      Это будет бесконечное повествование :)

      • Alexander Lemberg

        Меня, прежде всего, напрягает ошибочная аналогия “bash – Siri”.
        С шеллами можно сравнивать примитивное голосовое управление, которое было в мобильных телефонах 2000-х годов.
        Ну, вот те команды, которые надо было сначала самому надиктовать. То есть никакого разбора голоса на команды вообще небыло, гаджет просто реагировал на набор звуков.
        Так и в шеллах. Оболочка выполняет заранее предопределенный набор букв, а вовсе не разбирает “слова, из которых можно собирать команды”.
        Вся соль Siri в том, что, если бы она была шеллом, то нам бы не потребовалось вводить опцию –help, а можно было бы писать в терминал что-то типа:
        bash! Скачай мне последний альбом Nightwish в mp3 :))