Перенаправление вывода команды в файл

Для перенаправления вывода команды в файл используется запись вида >имя_файла или >>имя_файла. Например:

echo "Однажды, в студёную зимнюю пору" >poetry.txt
echo "Я из лесу вышел, был сильный мороз." >>poetry.txt

Первая команда создаст в текущем каталоге файл с названием poetry.txt (либо, если файл с таким названием уже существует, удалит его и создаст новый файл с таким названием) и запишет в этот файл строку текста, являющуюся первой строкой стихотворения.

Вторая команда, если файл с названием poetry.txt не существует, создаст такой файл, а если файл существует, то откроет его для записи, и запишет в его конец вторую строку стихотворения.

Посмотреть содержимое файла можно командой

cat poetry.txt

Чтобы вывести в файл сообщения об ошибках, используется запись вида 2>имя_файла и 2>>имя_файла соответственно, где 2 - это номер стандартного потока ошибок stderr.

Таким образом, вывод программы можно, например, перенаправить в один файл, а сообщения

об ошибках - в другой файл. Например:

(find /etc | grep local) >tmp.out 2>tmp.err

И наоборот - для того, чтобы вывод из обоих потоков перенаправить в один файл используется запись вида &>имя_файла или &>>имя_файла.

Чтобы указать в качестве имени файла один из этих потоков, используется запись вида 1>&2 или 2>&1.