Переадресація вводу-виводу
Перенаправлення вводу / виводу Практично всі операційні системи мають механізмом перенаправлення вводу / виводу. Linux не є виключенням з цього правила. Зазвичай програми вводять текстові дані з консолі (терміналу) і виводять дані на консоль. При введенні під консоллю розуміється клавіатура, а при виводі - дисплей терміналу. Клавіатура і дисплей - це, відповідно, стандартний ввід і вивід (stdin і stdout). Будь-яке введення / висновок можна інтерпретувати як введення з деякого файлу і виводить у файл. Робота з файлами проводиться через їх дескриптори. Для організації введення / виводу в UNIX використовуються три файли: stdin (дескриптор 1), stdout (2) і stderr (3). Символ> використовується для перенаправлення стандартного виводу у файл.
Приклад:
$ Cat> newfile.txt Стандартний введення команди cat буде перенаправлено в файл newfile.txt, який буде створений після виконання цієї команди. Якщо файл з такою назвою вже існує, то він буде перезаписаний. Натискання Ctrl + D зупинить перенаправлення і перериває виконання команди cat. Символ <використовується для перепризначення стандартного вводу команди. Наприклад, при виконанні команди cat <file.txt як стандартне введення буде використаний файл file.txt, а не клавіатура. Символ>> використовується для приєднання даних в кінець файлу (append) стандартного виводу команди. Наприклад, на відміну від випадку з символом>, виконання команди cat>> newfile.txt НЕ перезапише файл у разі його існування, а додасть дані в його кінець. Символ | використовується для перенаправлення стандартного виводу однієї програми на стандартний ввід іншої. Наприклад, ps-ax | grep httpd.