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

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

Статті

Вміння працювати з Лінукс — важлива частина підготовки фахівців із програмованих мереж та систем. Варто зазначити, що ця професія в 2023 році вважається однією з найпростіших для освоєння ІТ. І при цьому обіцяє новачкам такі умови, які важко знайти в інших галузях. Сьогодні ми розповімо про важливу тему, що входить до курси DevOps / DevNet онлайн Баку - Перенаправленні текстових потоків. Найімовірніше, без таких знань ви не зможете знайти роботу в секторі інформаційних технологій.

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

Насамперед, давайте дізнаємося, що таке текстові потоки в Лінукс. І для чого вони взагалі використовуються операційною системою. Безумовно, йдеться про використання інтерфейсу командного рядка (CLI - Command Line 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 створить файл ім'я файлу із вмістом у вигляді слова Привіт. При цьому повторне введення команди перезапише існуючий файл. Тоді як команда echo “Hello“ >> filename додасть в кінці існуючого файлу новий рядок зі словом Привіт.

Варто зазначити, що перенаправлення стандартного виведення помилок виконується аналогічно. За винятком, що перед символом «>» потрібно поставити цифру 2, не роблячи прогалин. Щоб дізнатися більше - записуйтесь на курси від SEDICOMM University!

Команда SEDICOMM University: Академія Cisco, Професійний інститут Linux, Інститут Python.