Eu ouvi em algumas ocasiões que o stdin padrão é o teclado e que o padrão stdout e stderr é a tela, mas eu acho que é bastante impreciso.
Se isso fosse absolutamente preciso, acho que um comando como cp file / dev / stdin nunca seria permitido e que, se stdout e stderr, onde a tela deveria, eu deveria ser capaz de controlar exatamente o que ele poderia exibir (o que soa bastante arriscado a propósito).
Então, estou mais interessado em definir que o stdin padrão é o modo que o terminal ativo atual tem para inserir texto do usuário, stdout da forma como o terminal ativo atual tem para mostrar texto que não é um erro na execução de um comando para o usuário e stderr da maneira que o terminal ativo atual tem para mostrar o texto que é um erro na execução de um comando para o usuário. Mas até eles podem não ser exatamente precisos.
A minha definição está correta sobre o que especificamente stdin, stdout e stderr estão em um sistema linux típico ou existe algo que define melhor o que essas coisas são?
Obrigado pela sua atenção.