1. stdout (Стандартный вывод)

Продолжая изучать Linux, вы видели, как команды выдают вывод. Это подводит нас к важной теме ввода-вывода (I/O), в частности, к стандартному выводу или stdout. Давайте рассмотрим эту концепцию, выполнив следующую команду:

echo Hello World > peanuts.txt

После выполнения этой команды вы обнаружите новый файл с именем peanuts.txt в текущем каталоге. Если вы просмотрите его содержимое, вы увидите текст "Hello World". Давайте разберем, что произошло.

Понимание стандартного вывода (stdout)

Сначала рассмотрим команду без специального символа:

echo Hello World

По умолчанию многие команды отправляют свои результаты в stdout, то есть на экран вашего терминала. Именно поэтому echo Hello World отображает текст прямо в вашей оболочке. Процессы используют потоки ввода-вывода для получения входных данных (стандартный ввод или stdin) и отправки вывода. Перенаправление ввода-вывода позволяет нам изменить это поведение по умолчанию, предоставляя нам больший контроль над нашими данными.

Перенаправление stdout с помощью >

Символ > является оператором перенаправления. Он перехватывает данные, направляющиеся в stdout, и отправляет их в новое место назначения.

>

В нашем примере он отправляет вывод echo Hello World в файл вместо экрана. Если файл не существует, он будет создан. Будьте осторожны, так как если файл уже существует, этот оператор полностью перезапишет его содержимое.

Добавление stdout с помощью >>

Что, если вы хотите добавить данные в файл, не стирая его содержимое? Для этого мы используем оператор >>.

echo Hello World >> peanuts.txt

Этот оператор добавляет вывод в конец указанного файла. Если файл еще не существует, он будет создан, как и с оператором > . Освоение перенаправления stdout — это фундаментальный шаг в вашем путешествии по Linux.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Чтобы закрепить понимание перенаправления ввода-вывода, попробуйте эту практическую лабораторную работу:

  1. Перенаправление ввода и вывода в Linux - Практикуйтесь в управлении потоком данных из команд, манипулируя стандартным выводом (stdout), стандартной ошибкой (stderr) и стандартным вводом (stdin) с помощью таких операторов, как >, >>, 2> и команды tee.

Эта лабораторная работа поможет вам применить эти концепции в реальных сценариях и повысить уверенность в работе с перенаправлением ввода-вывода.

Тест

Какой перенаправитель вы используете для добавления вывода в файл?