Одной из главнейших инноваций оболочки было то, что она предоставила нам механизм, с помощью которого можно было взять запущенную программу и поменять место ввода и/или вывода, не изменяя саму программу. Если у вас есть программа под названием handywork, читающая ввод из stdin и записывающая результаты в stdout, вы легко можете это изменить:
handywork < data.in > results.out
Так, handywork запустится, но ее ввод будет поступать не с клавиатуры, а из файла под названием data.in (если такой файл существует и в нем есть информация в нужном формате). А результат будет отправляться не на экран, а в файл под названием results.out (если его не существует, он будет создан, а если существует — переписан). Эта техника называется перенаправлением, потому что мы перенаправляем ввод из другого места и вывод не на экран.
Bash и кибербезопасность: атака, защита и анализ из командной строки Linux
·
Пол Тронкон