Операционная система Free BSD

         

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


Команды и списки могут содержать операторы < и > - перенаправления стандартного ввода и стандартного вывода соответственно.

Например: # ps -ax > /etc/proc

выводит текущее состояние процессов не на экран, а в файл /etc/proc. Если к этому моменту такого файла не было, то он будет создан. Если он существовал, то его старое содержимое будет уничтожено новой информацией.

Для то, чтобы не уничтожать содержимое файла, а добавить новую информацию (в конец файла), нужно использовать оператор `>>: # ps -ax >> /etc/proc

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

# cat /etc/proc 2>err.log (ошибки, если возникнут, будут выведены в файл err.log) либо

# cat /etc/proc 2>/dev/null (ошибки будут выведены <никуда>, их посмотреть будет невозможно).

Ввод перенаправляется аналогичным образом. Например, команда

# mail bob@com.com < /home/mail.txt

отправит содержимое файла /home/mail.txt по адресу bob@com.com.

Оператор << означает, что ввод для данной команды находится <ЗДЕСЬ>. Пример: # mail bob@com.com << end Hello, Bob! end

По этой команде в тело письма войдет все, что встретится до указанного нами ограничителя ввода end.



Содержание раздела