Каждый процесс по соглашению может использовать три стандартных файловых дескриптора. Эти файловые дескрипторы доступны в виде потоков: stdin
, stdout
и stderr
.
По умолчанию, когда вы запускаете процесс из оболочки (CLI), первый подключается к входу вашего терминала (или эмулятора терминала, такого как xterm), а два других подключаются к выходу вашего терминала.
Вы можете указать оболочке перенаправить их в другое место, например, в / dev / null
(где они просто поглощаются). И вы можете сделать это независимо для stdout
и stderr
. Итак, для этого случая действительно есть четыре возможности:
command
command > /dev/null
command 2> /dev/null
command > /dev/null 2> /dev/null
Но ничто не мешает вам перенаправить один или оба в другое место:
command > /tmp/myout 2> /tmp/myerr
В этом случае вы также не получите вывода в своем терминале, но вы можете прочитать его позже в файлы / tmp / myout
и / tmp / myerr
.