По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
При работе в командной строке довольно часто вам придется создавать или редактировать текстовые файлы. Два самых мощных и популярных редактора командной строки - это Vim и Emacs. У них обоих есть крутая кривая обучения, которая может быть пугающей для новых пользователей. Для тех, кому нужен простой редактор, есть nano. GNU nano - это простой в использовании текстовый редактор командной строки для операционных систем Unix и Linux. Он включает в себя все основные функции, которые вы ожидаете от обычного текстового редактора, такие как подсветка синтаксиса, несколько буферов, поиск и замена с поддержкой регулярных выражений, проверка орфографии, кодировка UTF-8 и многое другое. В этом руководстве объясняются основные принципы использования редактора nano, включая способы создания и открытия файла, редактирования файла, сохранения файла, поиска и замены текста, вырезания и вставки текста и многое другое. Установка nano Текстовый редактор Nano предустановлен на MacOS и большинстве дистрибутивов Linux. Чтобы проверить, установлен ли он в вашей системе, выполните следующие действия: nano --version Вывод будет выглядеть примерно так: GNU nano, version 2.9.3 (C) 1999-2011, 2013-2018 Free Software Foundation, Inc. (C) 2014-2018 the contributors to nano Email: nano@nano-editor.org Web: https://nano-editor.org/ Если в вашей системе не установлен nano, вы можете установить его с помощью менеджера пакетов вашего дистрибутива. Установка Nano в Ubuntu и Debian: sudo apt install nano Установка Nano в CentOS и Fedora: sudo yum install nano Открытие и создание файлов Чтобы открыть существующий файл или создать новый файл, введите nano, а затем имя файла: nano filename Откроется новое окно редактора, и вы сможете начать редактирование файла. Внизу окна находится список самых основных командных ярлыков, которые можно использовать с нано. Все команды имеют префикс ^ или M. Символ каретки (^) обозначает клавишу Ctrl. Например, команды ^ J означают одновременное нажатие клавиш Ctrl и J. Буква М обозначает клавишу Alt. Вы можете получить список всех команд, набрав Ctrl + g. Чтобы открыть файл, вы должны иметь права на чтение файла. Если вы хотите открыть файл с курсором на определенной строке и символом, используйте следующий синтаксис: nano +номер_строки,номер_символа filename Если вы не укажите номер символа то, курсор будет расположен на первом символе. Редактирование файлов В отличие от vi, nano является немодальным редактором, что означает, что вы можете начать печатать и редактировать текст сразу после открытия файла. Чтобы переместить курсор на определенную строку и номер символа, используйте команду Ctrl + _. Меню в нижней части экрана изменится. Введите число в поле «Enter line number, column number» и нажмите Enter. Поиск и замена Чтобы найти текст, нажмите Ctrl + w, введите поисковый запрос и нажмите Enter. Курсор переместится к первому совпадению. Чтобы перейти к следующему совпадению, нажмите Alt + w. Если вы хотите найти и заменить, нажмите Ctrl + . Введите условие поиска и текст, который нужно заменить. Редактор перейдет к первому совпадению и спросит вас, нужно ли его заменить. После нажатия Y или N он перейдет к следующему совпадению. Нажатие А заменит все совпадения. Копирование, вырезка и вставка Чтобы выделить текст, переместите курсор в начало текста и нажмите Alt + a. Это установит отметку выбора. Переместите курсор в конец текста, который вы хотите выделить, с помощью клавиш со стрелками. Выбранный текст будет выделен. Если вы хотите отменить выбор, нажмите Ctrl + 6. Скопируйте выделенный текст в буфер обмена с помощью команды Alt + 6. Ctrl + k обрежет выделенный текст. Если вы хотите вырезать целые строки, просто переместите курсор на линию и нажмите Ctrl + k. Вы можете вырезать несколько строк, нажав Ctrl + K несколько раз. Чтобы вставить текст, наведите курсор на то место, куда вы хотите поместить текст, и нажмите Ctrl + u. Сохранение и выход Чтобы сохранить внесенные изменения в файл, нажмите Ctrl + o. Если файл еще не существует, он будет создан после его сохранения. Для выхода из нано нажмите Ctrl + x. Если есть несохраненные изменения, вас спросят, хотите ли вы сохранить изменения. Чтобы сохранить файл, вы должны иметь права на запись в файл. Если вы создаете новый файл, вам необходимо иметь разрешение на запись в каталог, в котором он создан. Кастомизация nano Параметры, указанные в пользовательских файлах, имеют приоритет над глобальными параметрами. Полный список доступных опций для nanorc можно посмотреть тут Nano поставляется с правилами подсветки синтаксиса для большинства популярных типов файлов. В большинстве систем Linux файлы синтаксиса хранятся в каталоге /usr/share/nano и по умолчанию включены в файл конфигурации /etc/nanorc. include "/usr/share/nano/*.nanorc" Подсветка синтаксиса Самый простой вариант включить подсветку для нового типа файлов - это скопировать файл, содержащий правила подсветки синтаксиса, в каталог /usr/share/nano. Установите Nano в качестве текстового редактора по умолчанию По умолчанию в большинстве систем Linux текстовым редактором по умолчанию для таких команд, как visudo и crontab, является vi. Чтобы использовать nano в качестве текстового редактора по умолчанию, вам нужно изменить переменные окружения VISUAL и EDITOR. Пользователи Bash могут экспортировать переменные в файл ~/.bashrc: export VISUAL=nano export EDITOR="$VISUAL" Базовое использование Nano Ниже приведены основные шаги для начала работы с nano: В командной строке введите nano, а затем имя файла. Отредактируйте файл как требуется. Используйте команду Ctrl-x для сохранения и выхода из текстового редактора. Вывод В этой статье мы показали, как использовать текстовый редактор Gnu nano. Это популярный текстовый редактор среди пользователей Linux и имеет небольшую кривую обучения. Для получения дополнительной информации о Gnu Nano посетите официальную страницу документации nano.
img
Скажите, вам было бы удобно, если бы до вас всегда можно было бы дозвониться по одному телефонному номеру? Всего один звонок заставит звонить офисный телефон посреди дня, мобильный посреди обеда и домашний посреди вечера. Для этого существует функция Single Number Reach (SNR) в Cisco CME (CUCME). Она позволяет добавить дополнительное устройство к “родительскому” номеру. Например, вы можете связать свой мобильный телефон с рабочим. Когда пойдет звонок на рабочий номер, то зазвонит телефон в офисе, а через заранее определенный интервал одновременно начнет звонить и мобильный. Если ни там, ни там не примут звонок, то CME переведет звонок на корпоративную голосовую почту. /p> Single Number Reach в CME по сути является облегченной версией функции Mobile Connect в CUCM, которая позволяет пользователю заставить звонить несколько устройств одновременно. В дополнение к функции одновременного вызова Single Number Reach позволяет делать пользователю трансфер посреди звонка. Например, если вы начали разговор сидя за своим столом используя Cisco VoIP телефон, но потом вспомнили что опаздываете на запланированную видеоконференцию, то просто нажмите кнопку Mobility на стационарном телефоне и CME переведет вызов на мобильный телефон, как было настроено предварительно. Также можно всегда вернуть вызов обратно, нажав клавишу Resume. Использование Single Number Reach может использовать дополнительные голосовые соединительные линии в PSTN. Функция, позволяющая переместить вызов между офисным и мобильным телефоном, доступна только потому, что CME постоянно поддерживает вызов. Например, если пользователь получил вызов на своем настольном телефоне, а затем нажал кнопку Mobility, чтобы отправить его на свой мобильный телефон, то будет задействовано две соединительные линии PSTN: одна для входящего вызова на офисный телефон и одна для исходящего вызова на мобильный телефон. Настройка Single Number Reach Для настройки этой функции можно использовать как командную строку, так и Cisco Configuration Professional (CCP) . Если используется CCP, то нужно перейти в меню Unified Communications → Users, Phones, and Extensions → Extensions и выбрать номер, на котором нужно настроить Single Number Reach. Нажимаем на Edit, переходим во вкладку Advanced и выбираем пункт меню Single Number Reach. Здесь есть следующие опции: Enable SNR for this extension – галочка включает функцию и позволяет настроить следующие поля Remote Number – в этом поле нужно указать удаленный номер, на который CME должен перевести вызов, после определенного времени. Номер нужно вводить в соответствии с вашим диалпланом (например, если у вас выход в город через 9, то и здесь нужно указать девятку перед номером) Ring remote number after – сколько секунд CME должен ждать перед тем перевести звонок на удаленный номер, указанный в предыдущем поле Timeout – сколько секунд CME должен ждать, прежде чем считать звонок неотвеченным Forward unanswered calls to – это опциональное поле, в котором можно указать, куда направлять неотвеченные звонки При конфигурации через CLI используется такой синтаксис: CME(config)#ephone-dn 2 dual-line CME(config-ephone-dn)# snr 84996491913 delay 10 timeout 25 cfwd-noan 1101 CME(config-ephone-dn)# mobility Тут snr – номер на который будет переведен звонок, delay – время до перевода, timeout – через сколько звонок будет считаться неотвеченным и cfwd-noan – куда будет направлен неотвеченный вызов. Функцию Mobility, которая позволяет делать транфер во время активного разговора, можно настроить отдельно от SNR.
img
Сетевые устройства добавляются в сети для решения целого ряда проблем, включая подключение различных типов носителей и масштабирование сети путем переноса пакетов только туда, куда они должны идти. Однако маршрутизаторы и коммутаторы сами по себе являются сложными устройствами. Сетевые инженеры могут построить целую карьеру, специализируясь на решении лишь небольшого набора проблем, возникающих при передаче пакетов через сетевое устройство. Рисунок 1 используется для обсуждения обзора проблемного пространства. На рисунке 1 есть четыре отдельных шага: Пакет необходимо скопировать с физического носителя в память устройства; это иногда называют синхронизацией пакета по сети. Пакет должен быть обработан, что обычно означает определение правильного исходящего интерфейса и изменение пакета любым необходимым способом. Например, в маршрутизаторе заголовок нижнего уровня удаляется и заменяется новым; в фильтре пакетов с отслеживанием состояния пакет может быть отброшен на основании внутреннего состояния и т.п. Пакет необходимо скопировать из входящего интерфейса в исходящий. Это часто связано с перемещениями по внутренней сети или шине. Некоторые системы пропускают этот шаг, используя один пул памяти как для входящего, так и для исходящего интерфейсов; они называются системами с общей памятью. Пакет необходимо скопировать обратно на исходящий физический носитель; это иногда называют синхронизацией пакета по проводу. Примечание. Небольшие системы, особенно те, которые ориентированы на быструю и последовательную коммутацию пакетов, часто используют общую память для передачи пакетов с одного интерфейса на другой. Время, необходимое для копирования пакета в память, часто превышает скорость, с которой работают интерфейсы; системы с общей памятью избегают этого при копировании пакетов в память. Таким образом, проблемное пространство, обсуждаемоениже, состоит из следующего: Как пакеты, которые необходимо пересылать сетевым устройством, переносятся с входящего на исходящий физический носитель, и как пакеты подвергаются обработке на этом пути? Далее обсуждается часть решения этой проблемы. Физический носитель – Память Первым шагом в обработке пакета через сетевое устройство является копирование пакета с провода в память. Для иллюстрации этого процесса используется рисунок 2. На рисунке 2 представлены два этапа: Шаг 1. Набор микросхем физического носителя (PHY chip) будет копировать каждый временной (или логический) слот с физического носителя, который представляет один бит данных, в ячейку памяти. Эта ячейка памяти фактически отображается в приемное кольцо, которое представляет собой набор ячеек памяти (буфер пакетов), выделенный с единственной целью - прием пакетов, синхронизируемых по сети. Приемное кольцо и вся память буфера пакетов обычно состоят из памяти одного типа, доступной (совместно используемой) всеми коммутирующими компонентами на принимающей стороне линейной карты или устройства. Примечание. Кольцевой буфер используется на основе одного указателя, который увеличивается каждый раз, когда новый пакет вставляется в буфер. Например, в кольце, показанном на рисунке 2, указатель будет начинаться в слоте 1 и увеличиваться через слоты по мере того, как пакеты копируются в кольцевой буфер. Если указатель достигает слота 7 и поступает новый пакет, пакет будет скопирован в слот 1 независимо от того, было ли обработано содержимое слота 1 или нет. При коммутации пакетов наиболее трудоемкой и трудной задачей является копирование пакетов из одного места в другое; этого можно избежать, насколько это возможно, за счет использования указателей. Вместо перемещения пакета в памяти указатель на ячейку памяти передается от процесса к процессу в пределах пути переключения. Шаг 2. Как только пакет синхронизируется в памяти, некоторый локальный процессор прерывается. Во время этого прерывания локальный процессор удалит указатель на буфер пакетов, содержащий пакет, из кольца приема и поместит указатель на пустой буфер пакетов в кольцо приема. Указатель помещается в отдельный список, называемый входной очередью. Обработка пакета Как только пакет окажется во входной очереди, его можно будет обработать. Обработку можно рассматривать как цепочку событий, а не как одно событие. Рисунок 3 иллюстрирует это. Перед коммутацией пакета должна произойти некоторая обработка, например преобразование сетевых адресов, поскольку она изменяет некоторую информацию о пакете, используемом в фактическом процессе коммутации. Другая обработка может происходить после переключения. Коммутация пакета - довольно простая операция: Процесс коммутации ищет адрес назначения Media Access Control (MAC) или физического устройства в таблице пересылки (в коммутаторах это иногда называется таблицей обучения моста или просто таблицей моста). Исходящий интерфейс определяется на основе информации в этой таблице. Пакет перемещается из входной очереди в выходную очередь. Пакет никоим образом не изменяется в процессе коммутации; он копируется из очереди ввода в очередь вывода. Маршрутизация Маршрутизация - более сложный процесс, чем коммутация. Рисунок 4 демонстрирует это. На рисунке 4 пакет начинается во входной очереди. Тогда коммутационный процессор: Удаляет (или игнорирует) заголовок нижнего уровня (например, кадрирование Ethernet в пакете). Эта информация используется для определения того, должен ли маршрутизатор получать пакет, но не используется во время фактического процесса коммутации. Ищет адрес назначения (и, возможно, другую информацию) в таблице пересылки. Таблица пересылки связывает место назначения пакета со next hop пакета. Next hop может быть следующий маршрутизатор на пути к месту назначения или сам пункт назначения. Затем коммутирующий процессор проверяет таблицу interlayer discovery, чтобы определить правильный физический адрес, по которому следует отправить пакет, чтобы доставить пакет на один шаг ближе к месту назначения. Новый заголовок нижнего уровня создается с использованием этого нового адреса назначения нижнего уровня и копируется в пакет. Обычно адрес назначения нижнего уровня кэшируется локально вместе со всем заголовком нижнего уровня. Весь заголовок перезаписывается в процессе, называемом перезапись заголовка MAC. Теперь весь пакет перемещается из очереди ввода в очередь вывода. Почему именно маршрутизация? Поскольку маршрутизация-это более сложный процесс, чем коммутация, то почему именно маршрутизация? Для иллюстрации будет использован рисунок 5. Существует по меньшей мере три конкретных причины для маршрутизации, а не коммутации в сети. На рисунке 5 в качестве примера приведена небольшая сеть: Если канал связи [B,C] является физическим носителем другого типа, чем два канала связи, соединяющиеся с хостами, с различными кодировками, заголовками, адресацией и т. д., то маршрутизация позволит A и D общаться, не беспокоясь об этих различиях в типах каналов связи. Это можно было бы преодолеть в чисто коммутируемой сети с помощью преобразования заголовков, но преобразование заголовков на самом деле не уменьшает количество работы, чем маршрутизация в пути коммутации, поэтому нет особого смысла не маршрутизировать для решения этой проблемы. Другое решение может заключаться в том, чтобы каждый тип физического носителя согласовывал единую адресацию и пакетный формат, но, учитывая постоянное развитие физических носителей и множество различных типов физических носителей, это кажется маловероятным решением. Если бы вся сеть была коммутируемой, то B должен был бы знать полную информацию о достижимости для D и E, в частности, D и E должны были бы знать адреса физического или нижнего уровня для каждого устройства, подключенного к сегменту хоста за пределами C. Это может быть не большой проблемой в малой сети, но в больших сетях с сотнями тысяч узлов или глобальным интернетом это не будет масштабироваться—просто слишком много состояний для управления. Можно агрегировать информацию о достижимости с помощью адресации нижнего уровня, но это сложнее, чем использовать адрес более высокого уровня, назначенный на основе топологической точки присоединения устройства, а не адрес, назначенный на заводе, который однозначно идентифицирует набор микросхем интерфейса. Если D отправляет широковещательную рассылку «всем устройствам в сегменте», A получит широковещательную рассылку, если B и C являются коммутаторами, но не если B и C являются маршрутизаторами. Широковещательные пакеты нельзя исключить, поскольку они являются неотъемлемой частью практически каждого транспортного протокола, но в чисто коммутируемых сетях широковещательные передачи представляют собой очень трудно решаемую проблему масштабирования. Трансляции блокируются (или, скорее, потребляются) на маршрутизаторе. Примечание. В мире коммерческих сетей термины маршрутизация и коммутация часто используются как синонимы. Причина этого в первую очередь в истории маркетинга. Первоначально маршрутизация всегда означала «переключаемая программно», тогда как коммутация всегда означала «переключаемая аппаратно». Когда стали доступны механизмы коммутации пакетов, способные переписывать заголовок MAC на аппаратном уровне, они стали называться «коммутаторами уровня 3», которые в конечном итоге были сокращены до простой коммутации. Например, большинство «коммутаторов» центров обработки данных на самом деле являются маршрутизаторами, поскольку они действительно выполняют перезапись MAC-заголовка для пересылаемых пакетов. Если кто-то называет часть оборудования коммутатором, то лучше всего уточнить, является ли это коммутатором уровня 3 (правильнее - маршрутизатор) или коммутатором уровня 2 (правильнее - коммутатором). Примечание. Термины канал связи и соединение здесь используются как синонимы. Канал связи - это физическое или виртуальное проводное или беспроводное соединение между двумя устройствами. Equal Cost Multipath В некоторых проектах сети сетевые администраторы вводят параллельные каналы между двумя узлами сети. Если предположить, что эти параллельные каналы равны по пропускной способности, задержке и т. д., они считаются равными по стоимости. В нашем случае каналы считаются многопутевыми с равной стоимостью (equal cost multipath - ECMP). В сетевых технологиях в производственных сетях часто встречаются два варианта. Они ведут себя одинаково, но отличаются тем, как каналы группируются и управляются сетевой операционной системой.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59