Linux
輸入/輸出重定向如何在 Linux/Unix 中工作?
例子:
貓 < test.txt
- 文件的內容是否
test.txt
寫入/傳遞到 的標準輸入cat
,然後cat
讀取其標準輸入?或者
- 文件
test.txt
本身是否成為標準輸入cat
?換句話說,是通過將文本文件的文件描述符(fd)設置為0來cat
更改為的stdin嗎?test.txt
選項編號 2:
test.txt
打開,並cat
設置其標準輸入指向該文件。在 Linux 上,您可以通過執行看到這一點
$ touch /tmp/foo $ sleep 120 < /tmp/foo & [1] 3006118 $ ls -l /proc/3006118/fd total 0 lr-x------ 1 steve steve 64 May 4 16:11 0 -> /tmp/foo lrwx------ 1 steve steve 64 May 4 16:11 1 -> /dev/pts/3 lrwx------ 1 steve steve 64 May 4 16:11 2 -> /dev/pts/3
程序的標準輸入是
/tmp/foo
直接的。