Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Tools & Tips
Code

Командная строка-это ваш лучший друг

by
Difficulty:IntermediateLength:LongLanguages:

Russian (Pусский) translation by Liliya (you can also view the original English article)

Командная строка может быть либо вашим лучшим другом, либо вашим злейшим врагом. Это просто зависит от того, как вы его используете, и для чего вы его используете. Если вы один из многих людей, которые недовольны одной лишь мыслью об использовании командной строки, то вы попали по адресу!


Интерфейс командной строки?

Да, это тот белый (или зеленый) на черном экране, где таинственный текст находится и странные команды выполняются. Я знаю замечательных программистов, которые никогда не используют CLI; Тем не менее, я также знаю основных пользователей компьютеров, которые делают все в CLI вместо графического интерфейса пользователя (GUI). У них есть консольные приложения для просмотра веб-страниц и файловой системы, чтения почты, просмотра изображений и редактирования текста. Они даже смотрят видео на YouTube и читают PDF-файлы без графического интерфейса!

Каждый человек должен найти свой лучший рабочий процесс. Некоторые предпочитают графический интерфейс, а другие наслаждаются CLI.

Обратите внимание: настоящий CLI не имеет ничего общего с тем, что вы видите по телевизору. Редко CLI реально изображается в фильмах или сериалах.


Терминология

Новички в мире Unix/Linux обычно смущаются, когда речь идет о разнице между терминалом, консолью и оболочкой.

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

Каждый человек должен найти свой лучший рабочий процесс.

В прежние времена эти три предмета были отдельным оборудованием. Консоль была не чем иным, как монитором и клавиатурой; у него не было вычислительных возможностей. Он подключен к терминалу через последовательный интерфейс, наиболее распространенным из которых является разъем RS-232.

Терминал сродни конечной точке мэйнфрейма. Он обычно имел некоторые вычислительные возможности и мог связываться по сети или по какой-либо форме специализированного соединения с мэйнфреймом. Терминал также предоставлял административные права на систему, поэтому его обычно хранили в закрытом помещении. Консоли из зоны сотрудников подключены к этим терминалам, что позволяет им работать без административного доступа к мэйнфрейму.

Консоли и терминалы в конечном итоге объединяются в одно устройство, наиболее известным из которых является терминал VT, эмулированный в современных дистрибутивах Linux.

Оболочка - это настоящая программа, способная считывать вводимые пользователем данные и отображать результат на экране. Оболочка может быть текстовой (как CLI) или графической (как Windows GUI). В современных вычислениях оболочка - это гораздо больше, чем простой интерфейс между пользователем и системой. Он отвечает за управление процессами, окнами, приложениями, командами и другими аспектами системы.

CLI — это оболочка, которая предлагает текстовый интерфейс пользователя.

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

В большинстве современных дистрибутивов Linux, а также Mac OSX используется оболочка, называемая BASH. По умолчанию Solaris и OpenIndiana используют KornShell, что является еще одним вариантом BASH. Обратите внимание, что этот урок будет сосредоточен на BASH.

Пользователи Windows также могут использовать BASH. Распространяется с Cygwin и MinGW.


Давайте поговорим о BASH

В большинстве современных дистрибутивов Linux, а также Mac OSX используется оболочка, называемая BASH.

BASH расшифровывается как Bourne Again Shell. Он был выпущен в 1989 году как реинкарнация Bourne Shell, тогдашней оболочки по умолчанию в системах Unix. Он был запрограммирован Стивеном Борном и пришел на смену Thompson Shell, первому программному обеспечению для UNIX. Старая оболочка Bourne Shell все еще присутствует в некоторых системах Unix. Обычно вы можете найти его как /bin/sh. Тем не менее, даже это было заменено на BASH в большинстве современных дистрибутивов; Оба /bin/sh и /bin/bash являются исполняемыми файлами для BASH.

В строке BASH

Единственное, что у вас всегда будет, это подсказка BASH. Это история сама по себе, и мы могли бы потратить весь этот урок на то, как ее настроить и персонализировать. Вместо этого мы обсудим только основы в этом уроке.

Вот как выглядит моя подсказка. Первым словом, csaba, является мое имя пользователя, за которым следует @ и имя хоста моего компьютера, а затем текущая папка. Символ '~' обозначает домашний каталог текущего пользователя - /home/csaba, в моем случае. Строка заканчивается на $. Все, что я печатаю после $, это команда, которую я хочу, чтобы моя оболочка выполнила.

Root is Special: если вы являетесь пользователем root, приглашение # заканчивается вместо $.

Конечно, это всего лишь простой пример; Вы можете поместить намного больше информации в вашу строку приглашения. Давайте рассмотрим несколько основных примеров.

BASH имеет набор специальных переменных PS1, PS2, PS3 и PS4, которые управляют содержимым подсказки на разных этапах выполнения программы. Мы будем говорить только о PS1 в этом уроке. Вы можете проверить, что содержит переменная PS1, с помощью следующей команды:

Здесь вы видите мое приглашение, за которым следует команда echo$PS1 и вывод команды. В BASH вы ставите знак доллара перед именем переменной, когда хотите прочитать ее содержимое. Команда echo просто выводит все, что получает в качестве параметра. Если параметр является переменной, его значение отображается на экране.

Выход представляет формат. \[\033[01;32m\] - это код цвета для зеленого, а \u представляет имя пользователя текущего пользователя. Маркер \h обозначает имя хоста, а \[\033 [01; 34m \] - код цвета для синего цвета. \w является текущим каталогом, а \[\033 [00m\] является светло-серым цветом для всего, что следует (команды, которые я печатаю). Ниже приведен скриншот, чтобы вы могли лучше визуализировать результат.

Есть специальные символы, которым предшествует '\', которые имеют свое особое значение. В противном случае, «\» обозначает escape-символ для последующего (как в цветовых кодах). Ниже приведен полный список специальных символов, которые вы можете использовать в приглашении BASH, приведенный в официальном руководстве BASH:

  • \a - колокол ASCII символов (07)
  • \d - дата в формате «день недели, число, месяц» (например, «вторник 26 мая»)
  • \D{format} - формат передается в strftime (3), а результат вставляется в строку приглашения; пустой формат приводит к представлению времени, зависящему от локали. Брекеты обязательны
  • \e - ASCII escape-символ (033)
  • \h - имя хоста до первого `. '
  • \H - имя хоста
  • \j - количество заданий, которыми в данный момент управляет оболочка
  • \l - базовое имя терминального устройства оболочки
  • \n - базовое имя терминального устройства оболочкиn - строки
  • \r - возврат каретки
  • Каждая из этих команд способна на гораздо большее, чем я описал в этом уроке.

  • \s - имя оболочки, basename $0 (часть после окончательного слэш)
  • \T - текущее время в 12-часовом формате ЧЧ: ММ: СС
  • \t - текущее время в 24-часовом формате ЧЧ: ММ: СС
  • \@ - текущее время в 12-часовом формате
  • \A - текущее время в формате чч
  • \u - имя пользователя текущего пользователя
  • \v - версия bash (например, 2.00)
  • \V - выпуск bash, версия + уровень патча (например, 2.00.0)
  • \w - текущий рабочий каталог, с $ HOME, сокращенным до тильды (используется значение переменной PROMPT_DIRTRIM)
  • \W - базовое имя текущего рабочего каталога, с $ HOME, сокращенным до тильды
  • \! - номер истории этой команды
  • \# - номер команды этой команды
  • \$ - если эффективный UID равен 0, a, в противном случае $
  • \nnn - символ, соответствующий восьмеричному числу nnn
  • \\ - обратный слеш
  • \[- начать последовательность непечатаемых символов, которые можно использовать для встраивания последовательности управления терминалом в приглашение
  • \] - завершить последовательность непечатаемых символов

Работа с каталогами и файлами

В среде командной строки все должны выполнять навигацию по файловой системе, создавать, удалять, копировать и перемещать объекты файловой системы и выполнять команды. Это может быть общеизвестно некоторым из вас, но давайте кратко рассмотрим:

Построчное объяснение:

Если вы являетесь пользователем root, приглашение # заканчивается вместо $.

  1. Создайте каталог с именем NetTuts в /home/csaba/tmp.
  2. Изменить текущий каталог на новый созданный каталог.
  3. Создайте каталог с именем 'AnotherDir' внутри текущего каталога.
  4. Создайте каталог с именем «SecondDir» внутри текущего каталога.
  5. Создайте два пустых файла внутри «SecondDir» с помощью сенсорной команды.
  6. Измените текущий каталог на SecondDir.
  7. Используйте pushd, чтобы изменить каталог на ~ /tmp/NetTuts, чтобы поместить наш текущий каталог в стек.
  8. Список всех файлов в /tmp/NetTuts
  9. Вернитесь в наш предыдущий каталог, введя команду popd, которая извлекает (и удаляет) верхний каталог из стека.
  10. Перечислите снова содержимое и увидите два файла, которые мы создали несколькими шагами выше.

Конечно, у вас есть всемогущий файловый менеджер для командной строки, который называется Midnight Commander. Просто запустите mc commdn, чтобы начать его использовать. Он также имеет встроенный текстовый редактор (с подсветкой кода) для большого количества языков, а также интеллектуальные отступы и другие функции. Это не полноценный редактор, на самом деле это довольно простой инструмент для простого и быстрого редактирования. Вы можете просто выбрать любой файл и нажать F4, или вы можете открыть файл прямо в редакторе, не запуская mc.


Ввод/вывод

Каждая команда должна взаимодействовать со средой командной строки. Команды требуют ввода и обеспечения вывода. Стандартный ввод относится к источнику, откуда команда может читать информацию. Это клавиатура по умолчанию, и ее часто называют «stdin». Стандартный вывод относится к месту, где будет отправлен вывод команды. По умолчанию это текущая консоль, и ее обычно называют «stdout». Стандартная ошибка относится к месту, где команда выводит свои ошибки. Это текущая консоль по умолчанию, и многие называют ее 'stderr'.

То, что мы определили до сих пор, просто утверждает, что команда может читать с клавиатуры и выводить свои результаты, как хорошие, так и плохие, на экран.

В Unix (и подобных системах) все является файлом. Ваша клавиатура - это файл, ваша мышь - это файл, ваш экран - это файл, программы - в файлах, текст - в файлах и т. д.

File Descriptor - это целое число, которое ядро ​​операционной системы использует для ссылки на открытые файлы. Каждая система имеет как минимум три файловых дескриптора:

  • Дескриптор № 0 - стандартный ввод.
  • Дескриптор № 1 - стандартный вывод.
  • Дескриптор № 2 - стандартная ошибка.

Перенаправление

Unix-системы имеют очень мощную функцию: поскольку все является файлом, вы можете ссылаться и перенаправлять все из одного места в другое. Операторы перенаправления < для стандартного ввода и > для стандартного вывода. Итак, если вы хотите, чтобы команда считывала информацию с клавиатуры, вы можете сделать что-то вроде этого:

Но что, если вы хотите, чтобы ваша команда читала из файла? Ну, вы можете перенаправить файл в его стандартный ввод, вот так:

Если вы хотите, чтобы вывод вашей команды помещался в файл, вы можете использовать оператор >. Например, мы видели, как вывести список файлов в папке:

Вы можете отправить этот результат в файл с помощью следующей команды:

Содержимое ThirdFile:

Допустим, мы хотим перейти к родительской папке, перечислить все ее файлы и использовать команду для добавления списка в существующий файл. Оператор > перенаправляет вывод в файл и перезаписывает этот файл; поэтому мы не можем его использовать. Мы можем, однако, использовать >> (двойной >), чтобы добавить новые данные в существующий файл.

И содержание нашего файла:

Перенаправление ввода/вывода

Мы можем комбинировать наши знания и перенаправлять stderr, stdin и stdout различными способами. На самом деле команды ниже делают то же самое:

Во второй команде мы указали источник как стандартный вывод (1>) прямо перед перенаправлением. Также обратите внимание, что между 1 и > нет пробела. Фактически, размещение пробела между двумя символами делает 1 параметром, а > автоматически подразумевает перенаправление стандартного вывода. Два выражения ниже делают то же самое и отличаются от приведенных выше:

Конечно, это приводит к ошибке: «ls: невозможно получить доступ 1: нет такого файла или каталога» - если у вас действительно нет каталога с именем 1. Это заставляет нас задуматься о следующих шагах, которые мы можем предпринять: перенаправление ошибок.

Как видите, первая команда выводит stderr в консоль и перенаправляет stdout в файл. Результатом первой команды является пустой файл и сообщение на экране. Вторая команда, однако, перенаправляет ошибки в наш файл. В результате, если бы были какие-либо выходные данные в стандартном выводе, они бы отображались на экране, а ошибки - в файле.

Пример из реальной жизни для перенаправления ввода\вывода

В основном у вас есть два варианта, когда вам нужно искать файлы в консоли. Первая - это команда locate. Обычно, но не обязательно, он устанавливается во многих современных дистрибутивах Linux. Команда updatedb индексирует ваши файлы и находит, использует эту locate базу для поиска ваших файлов. На самом деле он не выполняет поиск в реальном времени, он просто ищет индексы в базе данных. Вот почему это приложение обычно запланировано на ежедневное updatedb.

Вторая команда называется, ну, find.

Эта команда выполняет поиск в реальном времени. Это точнее, чем locate, но, очевидно, гораздо медленнее. Давайте поиграем с этим немного:

Я напечатал две команды ls, чтобы вы могли видеть структуру каталогов. Третья команда - наша find. Он имеет сложную систему параметров, которую я не буду здесь подробно описывать, но приведенный выше пример демонстрирует наиболее распространенное использование find. Первый параметр,., Это каталог, в котором мы хотим искать.

Совет: . ссылается на текущий каталог. .. относится к родительскому каталогу.

Второй параметр, который мы использовали для find, был -name, за которым следовало имя файла. Мы можем использовать ? и * в параметре -name, чтобы расширить наш поиск:

? обозначает любой отдельный символ, а * обозначает любое количество любых символов.

Далее мы создадим каталог и сделаем его нечитаемым для нашего пользователя. Мы еще не рассмотрели разрешения, но не волнуйтесь, мы скоро будем. Сейчас просто попробуйте следующее:

Я хотел, чтобы у вас не было разрешения на каталог, чтобы я мог продемонстрировать, что можно найти в этом случае. Он пытается получить доступ ко всем каталогам и искать файлы, которые соответствуют заданному шаблону. Когда он не может получить доступ к каталогу, он выводит сообщение. Это нормально, если у вас есть одно или два сообщения, но попробуйте найти что-то, начиная с корневой папки, как обычный пользователь. Вы получите сотни таких сообщений об ошибках и, вероятно, только один или два результата поиска. Вы не хотите пропустить результаты; Вы хотите избавиться от сообщений об ошибках.

Мы перенаправили stderr в /dev/null. Это указывает на ... ну ничего. Все, что вы добавите в /dev/null, просто исчезнет. Обычной практикой является отправка ошибок туда, где вы не хотите их видеть. Если вы предпочитаете результаты в файле и ваши ошибки отправляются в /dev/null, вы можете использовать несколько перенаправлений:

Как видите, эта команда ничего не выводит на экран, потому что и ошибки, и стандартный вывод отправляются в разные файлы. Но что, если вы хотите, чтобы оба в одном файле? Ну, вы можете отправить stderr в стандартный вывод, а затем отправить стандартный вывод в файл:

Перенаправления интерпретируются справа налево. Итак, первое, что происходит, это 2>&1, который перенаправляет стандартную ошибку на стандартный вывод. Затем 1>./SecondDir/ThirdFile перенаправляет стандартный вывод (с ошибками уже в нем) в указанный файл.


Давайте поговорим о разрешениях

Разрешения, обсуждаемые в этом руководстве, применимы к *nix операционным системам. Я не очень знаком с последними версиями Windows, но Microsoft использует другую концепцию для разрешений в своих файловых системах.

Пользователи и группы

На одном компьютере может быть несколько пользователей. Фактически, несколько приложений регистрируют своего специального пользователя и используют его для запуска программы в ограниченной среде. Каждый пользователь может быть идентифицирован по имени и/или идентификатору, также известному как UID.

Вы можете найти список существующих пользователей в файле /etc/passwd.

Группы перечислены в файле /etc/group. Группа имеет имя и идентификатор (известный как GID), а группа представляет собой контейнер с нулевым или большим количеством пользователей. Каждый пользователь обычно имеет как минимум одну соответствующую группу, имя которой совпадает с именем пользователя.

Владелец

Файлы имеют владельцев, и пользователь, который создает файл, по умолчанию является его владельцем. Каталоги - это просто специальные файлы, и они имеют того же владельца и правила доступа, что и обычные файлы.

В нашей команде ls -al владелец каждого результата указывается как «группа пользователей» (в нашем примере это «csaba csaba»). Теперь мы изменим владельца AnotherDir следующим образом:

Команда chown означает «сменить владельца» и имеет простой синтаксис: chown user:group path. Пользователь может изменить владение группой только на одну из групп, членом которой он является, и обычный пользователь не может сменить владельца на другого пользователя, к которому у него нет доступа. Конечно, пользователь с правами администратора, такими как «root», может изменить владельца любого файла и установить его для любого пользователя и группы.

Существует три типа прав доступа к файлам:

  • r - читать
  • w - записи
  • x - выполнить

Обратите внимание: содержимое каталога может быть указано, если у него есть разрешения на выполнение.

Обратитесь к предыдущему примеру команды ls. Права доступа для каждого объекта файловой системы отображаются в начале каждой строки (эти символы rwx). Каждое разрешение может быть установлено (помечено буквой) или не задано (помечено тире: «-»).

Три типа разрешений применяются к трем категориям:

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

Каталог под названием ThirdDir не имеет разрешений, поэтому даже его владелец не может получить к нему доступ.

Но его владелец имеет право изменить свои разрешения:

Команда chmod устанавливает глобальные разрешения для объекта файловой системы, и ее синтаксис: chmod +/- path path. Использование + означает, что вы включаете право, а - означает, что вы удаляете право. Вы можете указать любую комбинацию прав. В предыдущем примере мы добавили разрешения на чтение, запись и выполнение в ThirdDir.

Обратите внимание: разрешения на чтение и выполнение, определенные таким образом, применяются к владельцу, группе и другим. Права на запись применяются только к текущему пользователю.

Во втором примере мы выборочно включили разрешения на чтение, удалили разрешения на запись и оставили права на выполнение без изменений.

Но в какой-то момент все в вычислениях сводится к двоичной строке. Команда chown позволяет вам легко указывать разрешения, используя десятичное представление двоичных разрешений.

  • rwx: каждый бит установлен в 1: 111. В десятичном виде это 7.
  • rw-: обозначается как 110. В десятичном виде это 6.
  • r-x: представлен как 101. В десятичном виде это 5.
  • r--: представлен как 100. Который в десятичном виде равен 4.
  • -wx: представляется как 011. В десятичном виде это 3.
  • -w-: представляется как 010. Который в десятичном виде равен 2.
  • --x: представляется как 001. В десятичном виде это 1.
  • ---: представляется как 000. Который в десятичном виде равен 0.

Команда chown может принимать строку из трех чисел от 0 до 7. Каждая цифра представляет права для определенной категории в следующем порядке: пользователь, группа, другие.

Эта команда устанавливает права на чтение, запись и выполнение для владельца, чтение, запись и запрет на выполнение для группы, а также чтение, выполнение и запрет на запись для других.


Cat, Sed и Pipe

Вот несколько самых полезных команд.

Cat

Эта команда позволяет вам прочитать содержимое файла. Просто укажите имя файла в качестве параметра, и он выведет содержимое файла на стандартный вывод.

Grep

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

При добавлении параметра --color выделяется соответствующее слово в результирующих строках.

Pipe

Pipe представлена ​​знаком | персонаж; он берет выходные данные одной команды и передает их второй команде. Это может показаться простым, но это огромная вещь. Этот единственный символ содержит десятки тысяч строк кода, чтобы вы могли сделать это:

Это фактически запускает команду cat и вместо вывода результатов в стандартный вывод выводит этот вывод в grep. Команда grep использует эти данные и ищет строку «Другое». Результат идентичен нашему предыдущему примеру.

История UNIX: Это старое видео от AT&T. Это отличное видео, но перейдите к 4:56, если вас интересуют только PIPEs.

Sed

Команда sed позволяет вам выполнять регулярные выражения на своем входе. Он может читать из файла или использоваться в конвейерной команде. Он выводит результат в стандартный вывод.

Этот пример добавляет sed к нашей предыдущей команде. С помощью sed мы заменили строку «AnotherFile» на «MyFile» в выводе cat ... grep. Довольно круто, правда?

Команда sed может принимать несколько параметров. Указание аргумента -e выполняет регулярное выражение для его ввода. Если вы не знакомы с регулярными выражениями, ознакомьтесь с этими другими учебными пособиями по Nettuts +: Введение в «Регулярные выражения: запуск и запуск» или шпаргалки по регулярным выражениям.


Определение ваших собственных команд

Давайте представим, что вы часто выполняете следующую команду подключения ssh:

Вы можете сократить это, создав собственную команду, скажем, sshcon. Вы можете создавать свои собственные команды, используя псевдоним. Синтаксис псевдонима имеет вид: alias shorthand='original_command'.

Запуск sshcon выполняет более сложную команду ssh. Но псевдонимы временны; они забыты, когда вы выходите из системы. Одним из возможных решений является редактирование файла .bashrc.

.bashrc и .bash.profile

Файл .bashrc обычно находится в вашем домашнем каталоге. Этот файл позволяет вам указать любую команду (команды), которую вы хотите выполнять всякий раз, когда вы открываете консоль или входите в оболочку. Давайте добавим вышеупомянутый псевдоним sshcon к этому файлу.

Добавьте свой код в конец файла, нажмите F2, чтобы сохранить файл, а затем дважды нажмите ESC, чтобы закрыть файл. Нажмите CTRL + D, чтобы выйти из оболочки. Откройте другую оболочку и попробуйте команду псевдонима. Вуаля.

Некоторые операционные системы, такие как Solaris, могут не иметь файла ~/.bashrc. В этом случае вы можете творить чудеса, отредактировав ~ /.bash_profile. Фактически, ~ /.bash_profile всегда присутствует во всех системах.

Скрытые файлы: файлы, начинающиеся с точки (.), Обозначают скрытый файл.


Маленькая интернет сеть

Давайте немного поработаем с интернет сетью.

Ping

Команда ping - это простой способ проверить, работает ли сервер и доступен ли он.

Его синтаксис прост: ping IP_address_or_name. Если сервер доступен, вы увидите список строк ответа с подробностями. Если это не так, в сообщении об ошибке указывается проблема.

Traceroute

Команда traceroute отображает маршрут, по которому пакет отправляется с вашего компьютера на целевое устройство.

Routing Table

И * nix, и Windows имеют команду route. И несмотря на их небольшие различия в синтаксисе, их функциональность в основном одинакова. Эта команда позволяет нам увидеть текущую таблицу маршрутизации системы и, если необходимо, добавить / удалить статические маршруты.

Первый столбец - это пункт назначения, цель сетевого подключения или связи. Термин «по умолчанию» означает что-либо, что не соответствует чему-то другому или отправленому здесь. Loopback - это наше виртуальное локальное устройство, имеющее IP-адрес 127.0.0.1. Этот IP-адрес всегда относится к локальному компьютеру и присутствует во всех операционных системах ([ed] нет места, как 127.0.0.1).

Второй столбец - это шлюз, используемый соединением для достижения пункта назначения. Первая строка отображает мой шлюз по умолчанию как 192.168.111.1. Вторая строка для обратной петли идет к localhost, а третья строка идет к *, шлюз не нужен для доступа к нашей собственной сети.

Третья интересная вещь здесь - последняя колонка: «Iface». Он определяет интерфейс, используемый для связи с конкретным пунктом назначения. В нашем примере обратная связь проходит через петлевой интерфейс lo. Все остальное проходит через интерфейс eno1.

Совет: Если вы не нашли команду route, попробуйте использовать netstat -nr. Он должен производить аналогичный вывод.

Конфигурация сети

Если вы хотите быстро взглянуть на конфигурацию вашей сети, просто введите ifconfig в командной строке.

Здесь много информации. Во-первых, у нас есть два раздела, каждый для сетевого адаптера. Моя проводная сетевая карта называется eno1 в моей системе. Вы можете увидеть такие вещи, как e1000g0, eth0, en0 или другие имена. Беспроводные сетевые устройства обычно (но не всегда) начинаются с буквы 'w'.

На этой же строке отображается текущее состояние интерфейса. В этом примере интерфейс работает, вещает, работает и т. д. Вторая строка предназначена для IP-адреса IPv4, маски сети и широковещания. Третья строка очень похожа, но для IPv6. Четвертая строка, начинающаяся с «ether», представляет собой MAC-адрес сетевой карты, а остальные строки отображают статистику передачи данных.

Текущие сетевые подключения

Еще одна полезная команда - netstat. Он может перечислить все сетевые подключения к системе, а также IP-адреса, интерфейсы и порты, которые прослушивает система. Вот часть вывода netstat в моей системе. Я сократил это, чтобы убрать ненужную информацию:

Каждая строка представляет соединение в определенном состоянии. В этом примере вы можете видеть соединения в состояниях прослушивания (см. Первую строку, порт 22, мой ssh-сервер), установленные состояния, состояния ожидания и так далее.


Заключительные мысли

Вот и все: некоторые из наиболее часто используемых команд CLI! Естественно, каждая из этих команд способна на большее, чем то, что я рассмотрел в этом уроке. Я надеюсь, что пролил немного света на некоторые из этих загадок CLI. Спасибо за прочтение!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.