Основы Linux для программируемых сетей и систем — перенаправление текстовых потоков, курсы DevOps / DevNet онлайн Баку

Основы Linux для программируемых сетей и систем — перенаправление текстовых потоков, курсы DevOps / DevNet онлайн Баку

Статьи

Умение работать с Линукс — важная часть подготовки специалистов по программируемым сетям и системам. Стоит отметить, что данная профессия в 2023 году считается одной из самых простых для освоения в ИТ. И при этом обещает новичкам такие условия, которые сложно найти в других отраслях. Сегодня мы расскажем о важной теме, входящей в курсы DevOps / DevNet онлайн Баку — перенаправлении текстовых потоков. Скорее всего, без таких знаний вы не сможете найти работу в секторе информационных технологий.

Что такое стандартные текстовые потоки, курсы DevOps / DevNet онлайн Баку

Прежде всего остального, давайте узнаем, что такое текстовые потоки в Линукс. И для чего вообще они используются операционной системой. Безусловно, речь идет об использовании интерфейса командной строки (CLI — Command Line Interface). Потому что использование GUI (Graphical User Interface) не дает всех возможностей, которых требуют профессионалы. Чтобы узнать больше — советуем пройти онлайн курсы DevOps / DevNet Баку на платформе SEDICOMM University.

При этом работа в CLI идет в формате обмена текстовой информацией с командной оболочкой. Пользователь вводит команды с клавиатуры, оболочка обрабатывает их и выводит в консоль результаты (либо отчеты об ошибках). Именно для этого в Линукс используются текстовые потоки, которых предусмотрено три:

  • stdin (поток 0) — стандартный ввод;
  • stdout (поток 1) — стандартный вывод;
  • stderr (поток 2) — стандартный вывод ошибок.

При этом каждый раз, когда пользователь вводит команду с клавиатуры, он передает данные соответствующей утилите. Задействуя для этого стандартный поток ввода 0 (stdin). Тогда как каждый раз, когда утилита возвращает в командную строку результаты выполнения команды. Она задействует при этом стандартный поток вывода 1 (stdout).

Однако это не касается вывода ошибок, у которых, как это показано выше, есть свой отдельный поток вывода. Каждый раз, когда программа сталкивается с ошибкой, она передает в CLI данные об этом через стандартный поток вывода ошибок 2. Вкратце именно так устроена система стандартных текстовых потоков в Linux. Конечно же, мы советуем углубить свои знания об этом, прежде чем проходить DevOps / DevNet engineer курсы Баку.

Как перенаправлять текстовые потоки в Линукс

Теперь, когда вы знаете, какие текстовые потоки существуют в Linux, можно перейти их перенаправлению. Потому что такие навыки требуются тем, кто планирует пройти DevOps / DevNet слив курса Баку. И начнем мы с перенаправления потока 0 — стандартного ввода.

Чтобы перенаправить ввод команды, следует после нее поставить знак «<» («меньше»). И добавить источник, откуда следует взять данные вместо стандартного ввода. Например, название текстового файла, относительный или абсолютный путь к нему.

Стоит отметить, что в большинстве случаев команды «умеют» брать данные из файлов самостоятельно, если указать их названия как аргументы. Однако этот пример позволяет лучше понять, как устроены текстовые потоки. И как именно выполняется их перенаправление в Линукс.

Теперь попробуем выполнить перенаправление потока 1 — стандартного вывода. Стоит отметить, что этот прием имеет более широкое применение. И поможет вам, к примеру, быстро создавать файл с нужным вам содержимым. Или в несколько действий добавить к существующему файлу новые строки.

Для перенаправления стандартного вывода поставьте после команды символ «>» («больше») и укажите название файла. Например, echo “Hello“ > filename создаст файл filename с содержимым в виде слова Hello. При этом повторное введение данной команды перезапишет существующий файл. Тогда как команда echo “Hello“ >> filename добавит в конце существующего файла новую строку со словом Hello.

Стоит отметить, что перенаправление стандартного вывода ошибок выполняется аналогично. За тем исключением, что перед символом «>» нужно поставить цифру 2, не делая пробелов. Чтобы узнать больше — записывайтесь на курсы от SEDICOMM University!

Команда SEDICOMM University: Академия Cisco, Linux Professional Institute, Python Institute.