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

Каждый процесс в Linux получает при старте три потока данных (специальные файлы). Первый открыт на чтение и является стандартным вводом процесса stdin (процесс из него берет данные, читает), по умолчанию это клавиатура. Второй поток открыт на запись и называется стандартным выводом процесса stdout (процесс в него записывает данные), по умолчанию это экран. Третий поток данных предназначен для вывода сообщений об ошибках и называется стандартный вывод ошибок.

Рассмотрит команду cat, которая берет данные с потока ввода и передает их на поток вывода, т.е. c stdin на stdout.

Введите команду cat. Поскольку не указаны потоки ввода и вывода, то считаются стандартными, т.е. ввод с клавиатуры, вывод на экран. Поэтому система будет ожидать ввода текста, а после сразу же выводить его на экран.

В команде cat имя_файла поток ввода указан из файла, поэтому данные будут читаться из файла и передаваться на стандартный поток вывода - экран.

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

> - перенаправление стандартного вывода

< - перенаправление стандартного ввода

cat > textfile -поток ввода не указан, следовательно ввод с клавиатуры, а поток вывода перенаправлен в файл. Таким образом данные с клавиатуры записываются в файл.

Просмотрите созданный файл.

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

Добавьте в созданный файлtextfile еще данные: cat >> textfile

Снова просмотрите его.

cat < textfile > textfile2 - эта команда читает данные из файла textfile и записывает их в файл textfile2.

Команда sort данные, полученные с входного потока сортирует и направляет на поток вывода.

Используем эту команду, для сортировки данных введенных с клавиатуры и записи в файл text1.

sort > text1 Запишем построчно слова:

bananas

carrots

apples

Эти слова со стандартного входа обрабатываются sort и уже в алфавитном порядке поступают на поток вывода, который перенаправлен в файл text1.

Работа с текстом в файлах

Работа с текстом - одна из сильных сторон Linux, так как система содержит большое количество команд, выполняющих различные преобразования с текстом. Рассмотрим наиболее популярные из них.

Поиск строк в файле, соответствующих регулярному выражению:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: