Багато програм приймають інформацію з клавіатуури та виводять результати виконання на екран термінала. В Linux ввід з клавіатури відповідає читанню з файла stdin, а вивід на екран – запису у файл stdout.
В деяких випадках зручно переспрямувати стандартний ввід та вивід так, щоб дані вводилися з файлу та виводилися у файл.
Для переспрямування вводу даних у файл використовується оператор <. Наприклад, якщо потрібно відправити файл з назвою message адресату rysio, можна скористатися командою:
mail rysio < message
Для переспрямування виводу програми у файл використовують оператор > . При цьому замість виводу інформації на екран терміналу, вона записується у файл.
Наприклад, якщо треба зберегти біжучу дату і час у файлі з іменем now, можна скористатися командою
date > now
Якщо файл now вже існує, то новий файл замінить старий. При цьому існує можливість втрати даних у старому файлі.
Розглянемо складніший приклад використання операторів переспрямування. Нехай у файлі sales зберігається інформація про продажі. У першому рядку прикладу біжуча дата записується у у файл з іменем sales_report. У другому рядку команда sort сортує дані з файлу sales і додає свій вивід до файлу sales_report. В останньому рядку результат відправляють користувачам missy та rysio по електронній пошті.
date > sales_report
sort < sales >> sales_report
mail missy rysio < sales_report