研究の方向性は正しいですか。このコマンドは、システムを追跡するために非常に有用である任意のプログラムで呼び出します。私のPC上で
strace
それは(ストリームのリダイレクトなし)の出力を示しています
$ strace grep abc ss.txt
execve("/bin/grep", ["grep", "abc", "ss.txt"], [/* 237 vars */]) = 0
brk(0) = 0x13de000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1785694000
close(3) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat("ss.txt", {st_mode=S_IFREG|0644, st_size=13, ...}) = 0
open("ss.txt", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffa0e4f370) = -1 ENOTTY (Inappropriate ioctl for device)
read(3, "abc\n123\n321\n\n", 32768) = 13
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f178568c000
write(1, "abc\n", 4abc
) = 4
read(3, "", 32768) = 0
close(3) = 0
close(1) = 0
munmap(0x7f178568c000, 4096) = 0
close(2) = 0
exit_group(0) = ?
私はあなたがここにあなたの質問に対する答えを見つけることを願ってしかし、あなたは[このスタック](http://unix.stackexchange.com/)がそれに答えるのに適しているかもしれません。運が良かった! – Vandal
[GNU grepのソースコード](http://git.savannah.gnu.org/cgit/grep.git)を見ることができます。 –
'STDOUT'リダイレクトはシェルによって行われ、' grep'はリダイレクトが起こっていることさえ知らず、完全に透過的です。 –