По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Метрические веса TOS K1 K2 K3 K4 K5, выданные командой в режиме конфигурации маршрутизатора EIGRP, может быть использована для установки K-значений, используемых EIGRP в своем расчете. Параметр TOS был предназначен для использования маркировки качества обслуживания (где TOS обозначает тип служебного байта в заголовке IPv4). Однако параметр TOS должен быть равен 0. На самом деле, если вы введете число в диапазоне 1 - 8 и вернетесь назад, чтобы изучить свою текущую конфигурацию, вы обнаружите, что Cisco IOS изменила это значение на 0. Пять оставшихся параметров в команде metric weights - это пять K-значений, каждое из которых может быть задано числом в диапазоне от 0 до 255. Предыдущие статьи из цикла про EIGRP: Часть 1. Понимание EIGRP: обзор, базовая конфигурация и проверка Часть 2. Про соседство и метрики EIGRP Следующие статьи из цикла: Часть 3. Конвергенция EIGRP – настройка таймеров Часть 4. Пассивные интерфейсы в EIGRP Часть 5. Настройка статического соседства в EIGRP Часть 6. EIGRP: идентификатор роутера и требования к соседству Например, представьте, что в нашем проекте мы обеспокоены тем, что нагрузка на наши линии может быть высокой в разы, и мы хотим, чтобы EIGRP учитывал уровень насыщения линии при расчете наилучшего пути. Изучая полную формулу расчета метрики EIGRP, мы замечаем, что наличие ненулевого значения для K2 приведет к тому, что EIGRP будет учитывать нагрузку. Поэтому мы решили установить K2 равным 1, в дополнение к K1 и K3, которые уже установлены в 1 по умолчанию. Значения К4 и К5 сохранится на уровне 0. В приведенном ниже примере показано, как можно настроить такой набор K-значений. OFF1#conf term Enter configuration commands, one per line. End with CNTL/Z . OFF1(config)#router eigrp 1 OFF1(config-router)#metric weights 0 1 1 1 0 0 OFF1(config-router)#end Первый 0 в команде metric weights 0 1 1 1 0 0, показанной в приведенном выше примере, задает значение TOS равное 0. Следующие пять чисел задают наши пять K-значений: K1 = 1, K2 = 1, K3 = 1, K4 = 0, K5 = 0. Этот набор K-значений теперь будет учитывать не только пропускную способность и задержку, но и нагрузку при выполнении расчета метрики. Однако есть проблема. Обратите внимание на сообщения консоли, появляющиеся после нашей конфигурации. Оба наших соседства были разрушены, потому что маршрутизатор OFF1 теперь имеет другие K-значения, чем маршрутизаторы OFF2 и OFF3. Напомним, что соседи EIGRP должны иметь соответствующие K-значения, а это означает, что при изменении K-значений на одном EIGRP-спикер маршрутизаторе, вам нужен идентичный набор K-значений на каждом из его соседей EIGRP. Как только вы настроите соответствующие K-значения на этих соседях, то каждый из этих соседей должен соответствовать K-значениям. Как вы можете видеть, в большой топологии может возникнуть значительная административная нагрузка, связанная с манипуляцией K-значением. Преемник и возможные маршруты преемников Одна из причин, по которой EIGRP быстро восстанавливает соединения в случае сбоя маршрута, заключается в том, что EIGRP часто имеет резервный маршрут, готовый взять на себя управление, если основной маршрут уходит в down. Чтобы убедиться, что резервный маршрут не зависит от основного маршрута, EIGRP тщательно проверяет резервный маршрут, убедившись, что он соответствует условию осуществимости EIGRP. В частности, условие осуществимости гласит: Маршрут EIGRP является возможным маршрутом-преемником, если его сообщенное расстояние (RD) от нашего соседа меньше возможного расстояния (FD) маршрута-преемника. Например, рассмотрим топологию, показанную на следующем рисунке, и соответствующую конфигурацию, приведенную ниже. Обратите внимание, что сеть 10.1.1.8/30 (между маршрутизаторами OFF2 и OFF3) доступна из OFF1 через OFF2 или через OFF3. Если маршрутизатор OFF1 использует маршрут через OFF2, он пересекает канал связи 1 Гбит/с, чтобы достичь целевой сети. Однако маршрут через OFF3 заставляет трафик пересекать более медленное соединение со скоростью 100 Мбит/с. Поскольку EIGRP учитывает пропускную способность и задержку по умолчанию, мы видим, что предпочтительный маршрут проходит через маршрутизатор OFF2. Однако, что делать, если связь между маршрутизаторами OFF1 и OFF2 обрывается? Есть ли возможный преемственный маршрут, который может почти сразу заработать? Опять же, мы видим, что маршрутизатор OFF1 будет использовать возможный маршрут преемника через маршрутизатор OFF3. Однако, прежде чем мы убедимся в этом, мы должны подтвердить, что путь через OFF3 соответствует условию осуществимости. Возможное условие преемника выполнено на маршрутизаторе OFF1 Просто в силу того, что маршрут через маршрутизатор OFF3 (то есть через 10.1.1.6) появляется в выходных данных команды show ip eigrp topology, выполненной на маршрутизаторе OFF1, мы делаем вывод, что путь через OFF3 действительно является возможным маршрутом-преемником. Однако давайте рассмотрим выходные данные немного более внимательно, чтобы определить, почему это возможный маршрут-преемник. Во-первых, рассмотрим запись из выходных данных в приведенном выше примере, идентифицирующую последующий маршрут (то есть предпочтительный маршрут): via 10.1.1.2 (3072/2816), GigabitEthernet0/1 Часть выходных данных via 10.1.1.2 говорит, что этот маршрут указывает на адрес следующего прыжка 10.1.1.2, который является маршрутизатором OFF2. На интерфейсе GigabitEthernet0/1 часть выходных данных указывает, что мы выходим из маршрутизатора OFF1 через интерфейс Gig0/1 (то есть выходной интерфейс). Теперь давайте рассмотрим эти два числа в скобках: (3072/2816). Стоимость 2816 называется зафиксированная дистанция (reported distance (RD). В некоторых литературных источниках это значение также называется advertised distance (AD). Эти термины, синонимы, относятся к метрике EIGRP, сообщенной (или объявленной) нашим соседом по EIGRP. В данном случае значение 2816 говорит нам, что метрика маршрутизатора OFF2 (то есть расстояние) до cети 10.1.1.8/30 равна 2816. Значение 3072 на выходе - это допустимое расстояние маршрутизатора OFF1 (FD). FD вычисляется путем добавления RD нашего соседа к метрике, необходимой для достижения нашего соседа. Поэтому, если мы добавим метрику EIGRP между маршрутизаторами OFF1 и OFF2 к RD маршрутизатора OFF2, мы получим FD (то есть общее расстояние), необходимое для того, чтобы OFF1 добрался до 10.1.1.8/30 через маршрутизатор OFF2. Кстати, причина, по которой маршрутизатор OFF1 определяет наилучший путь к сети 10.1.1.8/30, - это via via router OFF2 (то есть 10.1.1.2) В отличие от маршрутизатора OFF3 (то есть 10.1.1.6), потому что FD пути через OFF1 (3072) меньше, чем FD пути через OFF2 (28,416). Далее рассмотрим запись для возможного последующего маршрута из приведенного выше примера: via 10.1.1.6 (28416/2816), GigabitEthernet0/2 Часть выходных данных via 10.1.1.6 говорит, что этот маршрут указывает на адрес следующего прыжка 10.1.1.6, который является маршрутизатором OFF3. На интерфейсе GigabitEthernet0/2 часть результатов показывает, что мы выходим из маршрутизатора OFF1 через интерфейс Gig0/2. Эта запись имеет FD 28 416 и RD 2816. Однако прежде, чем EIGRP просто слепо сочтет этот резервный путь возможным преемником, он проверяет маршрут на соответствие условию осуществимости. В частности, процесс EIGRP на маршрутизаторе OFF1 запрашивает, является ли RD от маршрутизатора OFF3 меньше, чем FD последующего маршрута. В этом случае RD от маршрутизатора OFF3 составляет 2816, что действительно меньше, чем FD преемника 3072. Поэтому маршрут через маршрутизатор OFF3 считается возможным преемником маршрута. Чтобы утвердить эту важную концепцию, рассмотрим топологию, показанную ниже. Процесс EIGRP на маршрутизаторе OFF1 изучил три пути для достижения сети 10.1.1.0/24. Однако далее EIGRP должен определить, какой из этих путей является маршрутом-преемником, какие (если таковые имеются) пути являются возможными маршрутами-преемниками, а какие (если таковые имеются) пути не являются ни преемником, ни возможным маршрутом-преемником. Результаты расчетов EIGRP приведены в таблице ниже. Примеры расчетов Feasible Successor Используя приведенную выше таблицу в качестве рассмотрения, сначала рассмотрим путь маршрутизатора OFF1 к сети 10.1.1.0/24 через маршрутизатор OFF2. С точки зрения маршрутизатора OFF2, расстояние до сети 10.1.1.0/24 - это расстояние от OFF2 до OFF5 (которое равно 5000) плюс расстояние от OFF5 до сети 10.1.1.0/24 (которое равно 1000). Это дает нам в общей сложности 6000 для расстояния от маршрутизатора OFF2 до сети 10.1.1.0/24. Это расстояние, которое маршрутизатор OFF2 сообщает маршрутизатору OFF1. Таким образом, маршрутизатор OFF1 видит RD 6000 от маршрутизатора OFF2. Маршрутизатор OFF1, затем добавляет расстояние между собой и маршрутизатором OFF2 (который равен 10 000) к RD от OFF2 (который равен 6000), чтобы определить его FD для достижения сети 10.1.1.0/24 составляет 16 000 (то есть 10 000 + 6000 = 16 000). Процесс EIGRP на маршрутизаторе OFF1 выполняет аналогичные вычисления для путей к сети 10.1.1.0/24 через маршрутизаторы OFF3 и OFF4. Ниже приведены расчеты, которые привели к значениям, приведенным в таблице. Затем маршрутизатор OFF1 проверяет результаты этих вычислений и определяет, что кратчайшее расстояние до сети 10.1.1.0/24 проходит через маршрутизатор OFF2, поскольку путь через OFF2 имеет самый низкий FD (16 000). Этот путь, определяемый как кратчайший, считается следующим маршрутом. Затем маршрутизатор OFF1 пытается определить, соответствует ли любой из других маршрутов условию выполнимости EIGRP. В частности, маршрутизатор OFF1 проверяет, чтобы увидеть, что RD от маршрутизаторов OFF3 или OFF4 меньше, чем FD последующего маршрута. В случае OFF3 его RD в 11 000 действительно меньше, чем FD последующего маршрута (который составляет 16 000). Таким образом, путь к сети 10.1.1.0 /24 через OFF3 квалифицируется как возможный маршрут-преемник. Однако маршрут через OFF4 не подходит, потому что RD OFF4 из 18 000 больше, чем 16 000 (FD последующего маршрута). В результате путь к сети 10.1.1.0/24 через маршрутизатор OFF4 не считается возможным маршрутом-преемником. Мы изучили K - значения, теперь почитайте про конвергенцию EIGRP и настройку таймеров
img
Перед начало убедитесь, что ознакомились с материалом про построение деревьев в сетях. Правило кратчайшего пути, является скорее отрицательным, чем положительным экспериментом; его всегда можно использовать для поиска пути без петель среди набора доступных путей, но не для определения того, какие другие пути в наборе также могут оказаться свободными от петель. Рисунок 4 показывает это. На рисунке 4 легко заметить, что кратчайший путь от A до пункта назначения проходит по пути [A, B, F]. Также легко заметить, что пути [A, C, F] и [A, D, E, F] являются альтернативными путями к одному и тому же месту назначения. Но свободны ли эти пути от петель? Ответ зависит от значения слова "без петель": обычно путь без петель - это такой путь, при котором трафик не будет проходить через какой-либо узел (не будет посещать какой-либо узел в топологии более одного раза). Хотя это определение в целом хорошее, его можно сузить в случае одного узла с несколькими следующими переходами, через которые он может отправлять трафик в достижимый пункт назначения. В частности, определение можно сузить до: Путь является свободным от петель, если устройство следующего прыжка не пересылает трафик к определенному месту назначения обратно ко мне (отправляющему узлу). В этом случае путь через C, с точки зрения A, можно назвать свободным от петель, если C не пересылает трафик к месту назначения через A. Другими словами, если A передает пакет C для пункта назначения, C не будет пересылать пакет обратно к A, а скорее пересылает пакет ближе к пункту назначения. Это определение несколько упрощает задачу поиска альтернативных путей без петель. Вместо того, чтобы рассматривать весь путь к месту назначения, A нужно только учитывать, будет ли какой-либо конкретный сосед пересылать трафик обратно самому A при пересылке трафика к месту назначения. Рассмотрим, например, путь [A, C, F]. Если A отправляет пакет C для пункта назначения за пределами F, переправит ли C этот пакет обратно в A? Доступные пути для C: [C, A, B, F], общей стоимостью 5 [C, A, D, E], общей стоимостью 6 [C, F], общей стоимостью 2 Учитывая, что C собирается выбрать кратчайший путь к месту назначения, он выберет [C, F] и, следовательно, не будет пересылать трафик обратно в A. Превращая это в вопрос: почему C не будет перенаправлять трафик обратно в A? Потому что у него есть путь, стоимость которого ниже, чем у любого пути через A до места назначения. Это можно обобщить и назвать downstream neighbor: Любой сосед с путем, который короче локального пути к месту назначения, не будет возвращать трафик обратно ко мне (отправляющему узлу). Или, скорее, учитывая, что локальная стоимость представлена как LC, а стоимость соседа представлена как NC, тогда: Если NC LC, то тогда neighbor is downstream. Теперь рассмотрим второй альтернативный путь, показанный на рисунке 4: [A, D, E, F]. Еще раз, если A отправляет трафик к пункту назначения к D, будет ли D зацикливать трафик обратно к A? Имеющиеся у D пути: [D, A, C, F], общей стоимостью 5 [D, A, B, F], общей стоимостью 4 [D, E, F], общей стоимостью 3 Предполагая, что D будет использовать кратчайший доступный путь, D будет пересылать любой такой трафик через E, а не обратно через A. Это можно обобщить и назвать альтернативой без петель (Loop-Free Alternate -LFA): Любой сосед, у которого путь короче, чем локальный путь к месту назначения, плюс стоимость доступа соседа ко мне (локальный узел), не будет возвращать трафик обратно ко мне (локальному узлу). Или, скорее, учитывая, что локальная стоимость обозначена как LC, стоимость соседа обозначена как NC, а стоимость обратно для локального узла (с точки зрения соседа) - BC: Если NC + BC LC, то сосед - это LFA. Есть две другие модели, которые часто используются для объяснения Loop-Free Alternate: модель водопада и пространство P/Q. Полезно посмотреть на эти модели чуть подробнее. Модель водопада (Waterfall (or Continental Divide) Model). Один из способов предотвратить образование петель в маршрутах, рассчитываемых плоскостью управления, - просто не объявлять маршруты соседям, которые пересылали бы трафик обратно мне (отправляющему узлу). Это называется разделенным горизонтом (split horizon). Это приводит к концепции трафика, проходящего через сеть, действующую как вода водопада или вдоль русла ручья, выбирая путь наименьшего сопротивления к месту назначения, как показано на рисунке 5. На рисунке 5, если трафик входит в сеть в точке C (в источнике 2) и направляется за пределы E, он будет течь по правой стороне кольца. Однако, если трафик входит в сеть в точке A и предназначен для выхода за пределы E, он будет проходить по левой стороне кольца. Чтобы предотвратить зацикливание трафика, выходящего за пределы E, в этом кольце, одна простая вещь, которую может сделать плоскость управления, - это либо не позволить A объявлять пункт назначения в C, либо не позволить C объявлять пункт назначения в A. Предотвращение одного из этих двух маршрутизаторов от объявления к другому называется разделенным горизонтом (split horizon), потому что это останавливает маршрут от распространения через горизонт, или, скорее, за пределами точки, где любое конкретное устройство знает, что трафик, передаваемый по определенному каналу, будет зациклен. Split horizon реализуется только за счет того, что устройству разрешается объявлять о доступности через интерфейсы, которые оно не использует для достижения указанного пункта назначения. В этом случае: D использует E для достижения пункта назначения, поэтому он не будет объявлять о доступности в направлении E C использует D для достижения пункта назначения, поэтому он не будет объявлять о доступности D B использует E для достижения пункта назначения, поэтому он не будет объявлять о доступности в направлении E A использует B для достижения пункта назначения, поэтому он не будет объявлять о доступности B Следовательно, A блокирует B от знания альтернативного пути, который он имеет к месту назначения через C, а C блокирует D от знания об альтернативном пути, который он имеет к месту назначения через A. Альтернативный путь без петель пересекает этот разделенный горизонт. точка в сети. На рис. 12-5 A может вычислить, что стоимость пути C меньше стоимости пути A, поэтому любой трафик A, направляемый в C к месту назначения, будет перенаправлен по какому-то другому пути, чем тот, о котором знает A. C, в терминах LFA, является нижестоящим соседом A. Следовательно, A блокирует B от знания об альтернативном пути, который он имеет к месту назначения через C, и C блокирует D от знания об альтернативном пути, который он имеет к месту назначения через A. Альтернативный путь без петли будет пересекать эту точку split horizon в сети. На рисунке 5 A может вычислить, что стоимость пути C меньше стоимости пути A, поэтому любой трафик A, направленный в C к месту назначения, будет перенаправлен по какому-то другому пути, чем тот, о котором знает A. В терминах LFA, С является нижестоящим соседом (downstream neighbor) A. P/Q пространство Еще одна модель, описывающая, как работают LFA, - это пространство P / Q. Рисунок 6 иллюстрирует эту модель. Проще всего начать с определения двух пространств. Предполагая, что линия связи [E, D] должна быть защищена от сбоя: Рассчитайте Shortest Path Tree из E (E использует стоимость путей к себе, а не стоимость от себя, при вычислении этого дерева, потому что трафик течет к D по этому пути). Удалите линию связи [E,D] вместе с любыми узлами, доступными только при прохождении через эту линию. Остальные узлы, которых может достичь E, - это пространство Q. Рассчитайте Shortest Path Tree из D. Удалите канал [E, D] вместе со всеми узлами, доступными только при прохождении по линии. Остальные узлы, которых может достичь D, находятся в пространстве P. Если D может найти маршрутизатор в пространстве Q, на который будет перенаправляться трафик в случае отказа канала [E, D]- это LFA. Удаленные (remote) Loop-Free Alternates Что делать, если нет LFA? Иногда можно найти удаленную альтернативу без петель (remote Loop-Free Alternate - rLFA), которая также может передавать трафик к месту назначения. RLFA не подключен напрямую к вычисляющему маршрутизатору, а скорее находится на расстоянии одного или нескольких переходов. Это означает, что трафик должен передаваться через маршрутизаторы между вычисляющим маршрутизатором и remote next hop. Обычно это достигается путем туннелирования трафика. Эти модели могут объяснить rLFA, не обращая внимания на математику, необходимую для их расчета. Понимание того, где кольцо "разделится" на P и Q, или на две половины, разделенные split horizon, поможет вам быстро понять, где rLFA можно использовать для обхода сбоя, даже если LFA отсутствует. Возвращаясь к рисунку 6, например, если канал [E, D] выходит из строя, D должен просто ждать, пока сеть сойдется, чтобы начать пересылку трафика к месту назначения. Лучший путь от E был удален из дерева D из-за сбоя, и E не имеет LFA, на который он мог бы пересылать трафик. Вернитесь к определению loop-free path, с которого начался этот раздел-это любой сосед, к которому устройство может перенаправлять трафик без возврата трафика. Нет никакой особой причины, по которой сосед, которому устройство отправляет пакеты в случае сбоя локальной линии связи, должен быть локально подключен. В разделе "виртуализация сети" описывается возможность создания туннеля или топологии наложения, которая может передавать трафик между любыми двумя узлами сети. Учитывая возможность туннелирования трафика через C, поэтому C пересылает трафик не на основе фактического пункта назначения, а на основе заголовка туннеля, D может пересылать трафик непосредственно на A, минуя петлю. Когда канал [E, D] не работает, D может сделать следующее: Вычислите ближайшую точку в сети, где трафик может быть туннелирован и не вернется к самому C. Сформируйте туннель к этому маршрутизатору. Инкапсулируйте трафик в заголовок туннеля. Перенаправьте трафик. Примечание. В реальных реализациях туннель rLFA будет рассчитываться заранее, а не рассчитываться во время сбоя. Эти туннели rLFA не обязательно должны быть видимы для обычного процесса пересылки. Эта информация предоставлена для ясности того, как работает этот процесс, а не сосредоточен на том, как он обычно осуществляется. D будет перенаправлять трафик в пункт назначения туннеля, а не в исходный пункт назначения - это обходит запись локальной таблицы переадресации C для исходного пункта назначения, что возвращает трафик обратно в C. Расчет таких точек пересечения будет обсуждаться в чуть позже в статьях, посвященных первому алгоритму кратчайшего пути Дейкстры.
img
Команды Linux могут показаться пугающими на первый взгляд, если вы не привыкли использовать терминал. Для выполнения операций и процессов в вашей системе Linux существует огромное количество команд. Независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, полезно иметь список общих команд под рукой. В этом руководстве вы найдете часто используемые команды Linux, а также загружаемую шпаргалку (так называемый cheatsheet) с синтаксисом и примерами. Скачать PDF Список команд Linux Важное замечание: В зависимости от настроек вашей системы для выполнения некоторых из приведенных ниже команд может потребоваться запуск sudo. Информация об оборудовании Показать сообщения, которые выводило ядро во время загрузки: dmesg Показать информацию о процессоре: cat /proc/cpuinfo Показать свободную и использованную память с: free -h Список информации о конфигурации оборудования: lshw Показать информацию о блочных устройствах: lsblk Показать устройства PCI в древовидной схеме: lspci -tv Отображение USB-устройств в виде древовидной диаграммы: lsusb -tv Показать информацию об оборудовании из BIOS: dmidecode Показать информацию о диске: hdparm -i /dev/disk Провести тест скорости чтения на устройстве/диске: hdparm -tT /dev/[device] Проверка на нечитаемые блоки на устройстве/диске: badblocks -s /dev/[device] Поиск Поиск определенного паттерна в файле: grep [pattern] [file_name] Рекурсивно искать паттерн в каталоге: grep -r [pattern] [directory_name] Найти все файлы и каталоги, связанные с конкретным именем: locate [name] Вывести список имен, начинающиеся с указанного символа a в указанном месте /folder/location, с помощью команды find: find [/folder/location] -name [a] Просмотр файлов, размер которых превышает указанный размер + 100M в папке: find [/folder/location] -size [+100M] Файлы Список файлов в каталоге: ls Список всех файлов (включая скрытые): ls -a Показать каталог, в котором вы сейчас работаете: pwd Создать новый каталог: mkdir [directory] Удалить файл: rm [file_name] Удалить каталог рекурсивно: rm -r [directory_name] Рекурсивно удалить каталог без подтверждения: rm -rf [directory_name] Скопировать содержимое одного файла в другой файл: cp [file_name1] [file_name2] Рекурсивно скопировать содержимое одного файла во второй файл: cp -r [directory_name1] [directory_name2] Переименовать имя_файла1 в имя_файла2: mv [file_name1] [file_name2] Создать символическую ссылку на файл: ln -s /path/to/[file_name] [link_name] Создать новый файл: touch [file_name] Показать содержимое файла: more [file_name] Показать первые 10 строк файла: head [file_name] Показать последние 10 строк файла: tail [file_name] Зашифровать файл: gpg -c [file_name] Расшифровать файл: gpg [file_name.gpg] Показать количество слов, строк и байтов в файле: wc Навигация Подняться на один уровень вверх в структуре дерева каталогов: cd .. Перейти в каталог $ HOME: cd Изменить местоположение на указанный каталог: cd /chosen/directory Сжатие файлов Заархивировать существующий файл: tar cf [compressed_file.tar] [file_name] Извлечь заархивированный файл: tar xf [compressed_file.tar] Создайте сжатый gzip tar-файл: tar czf [compressed_file.tar.gz] Сжать файл с расширением .gz: gzip [file_name] Передача файлов Скопировать файл в каталог сервера через ssh: scp [file_name.txt] [server/tmp] Синхронизировать содержимое каталога с резервным каталогом: rsync -a [/your/directory] [/backup/] Пользователи Показать подробности об активных пользователях: id Показать последние системные логины: last Показать, кто в данный момент вошел в систему: who Показать, какие пользователи вошли в систему и их активность: w Добавить новую группу: groupadd [group_name] Добавить нового пользователя: adduser [user_name] Добавить пользователя в группу: usermod -aG [group_name] [user_name] Удалить пользователя: userdel [user_name] Изменить информацию о пользователе: usermod Установка пакета Список всех установленных пакетов с yum: yum list installed Найти пакет по связанному ключевому слову: yum search [keyword] Показать информацию и краткую сводку о пакете: yum info [package_name] Установить пакет с помощью менеджера пакетов >YUM: yum install [package_name.rpm] Установить пакет с помощью менеджера пакетов >DNF: dnf install [package_name.rpm] Установить пакет с помощью менеджера пакетов >APT: apt-get install [package_name] Установить пакет .rpm из локального файла: rpm -i [package_name.rpm] Удалить пакет .rpm: rpm -e [package_name.rpm] Установить программное обеспечение из исходного кода: tar zxvf [source_code.tar.gz] cd [source_code] ./configure make make install Процессы Показать снимок активных процессов: ps Показать процессы в древовидной диаграмме: pstree Показать карту использования памяти процессами: pmap Показать все запущенные процессы: top Завершить процесс Linux с заданным идентификатором: kill [process_id] Завершить процесс с определенным именем: pkill [proc_name] Завершите все процессы, помеченные как proc: killall [proc_name] Список и сводка остановленных заданий в фоновом режиме: bg Перевод последней фоновой задачи в активный режим: fg Перевод конкретной задачи в активный режим: fg [job] Список файлов, открытых запущенными процессами: lsof Системная информация Показать информацию о системе: uname -r Показать информацию о релизе ядра: uname -a Показать, как долго работает система, включая среднюю нагрузку: uptime Показать имя хоста системы: hostname Показать IP-адрес системы: hostname -i История перезагрузки системы: last reboot Показать текущее время и дату: date Запрос и изменение системных часов: timedatectl Показать текущий календарь (месяц и день): cal Список залогиненых пользователей: w Показать текущего пользователя: whoami Показать информацию о конкретном пользователе: finger [username] Использование диска Показать свободное и использованное пространство на смонтированных системах: df -h Показать свободные иноды (inode) на смонтированных файловых системах: df -i Показать разделы диска, размеры и типы: fdisk -l Показать использование диска для всех файлов и каталогов: du -ah Показать использование диска в каталоге, в котором вы находитесь: du -sh Показать целевую точку монтирования для всей файловой системы: findmnt Смонтировать устройство: mount [device_path] [mount_point] SSH Подключиться к хосту как пользователь: ssh user@host Подключиться к хосту через SSH порт по умолчанию 22: ssh host Подключиться к хосту, используя определенный порт: ssh -p [port] user@host Подключиться к хосту через telnet порт по умолчанию 23: telnet host Разрешение файлов Назначить права на чтение, запись и выполнение всем: chmod 777 [file_name] Дать владельцу право на чтение, запись и выполнение, а также разрешение на чтение и выполнение для группы и других пользователей: chmod 755 [file_name] Назначить полное разрешение владельцу, а также разрешение на чтение и запись для группы и других пользователей: chmod 766 [file_name] Изменить владельца файла: chown [user] [file_name] Изменить владельца и групповое владение файлом: chown [user]:[group] [file_name] Сеть Список IP-адресов и сетевых интерфейсов: ip addr show Назначить IP-адрес интерфейсу eth0: ip address add [IP_address] Отображение IP-адресов всех сетевых интерфейсов: ifconfig Показать активные (прослушиваемые) порты: netstat -pnltu Показать порты tcp и udp и их программы: netstat -nutlp Показать больше информации о домене: whois [domain] Показать DNS информацию о домене: dig [domain] Обратный поиск по домену: dig -x host Обратный поиск IP-адреса: dig -x [ip_address] Поиск IP для домена: host [domain] Показать локальный IP-адрес: hostname -I Скачать файл из домена с помощью команды wget: wget [file_name] Сочетания клавиш Linux Убить процесс, запущенный в терминале: Ctrl + C Остановить текущий процесс: Ctrl + Z Вырезать одно слово перед курсором и добавить его в буфер обмена: Ctrl + W Вырезать часть строки перед курсором и добавить ее в буфер обмена: Ctrl + U Вырезать часть строки после курсора и добавить ее в буфер обмена: Ctrl + K Вставить из буфера обмена: Ctrl + Y Вызвать последнюю команду, которая соответствует предоставленным символам: Ctrl + R Запустите ранее вызванную команду: Ctrl + O Выйти из истории команд без выполнения команды: Ctrl + G Запустить последнюю команду еще раз: !! Выйти из текущей сессии: exit Заключение Чем чаще вы используете команды Linux, тем лучше вы их запомните. Не переживайте о запоминании их синтаксиса - используйте наш шпаргалку. А больше материалов про Linux можно найти в нашем разделе.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59