Which of the following commands will send output from the program myapp to both standard output (stdout) and the file file1.log?
A.
cat < myapp | cat > file1.log
B.
myapp 0>&1 | cat > file1.log
C.
myapp | cat > file1.log
D.
myapp | tee file1.log
E.
tee myapp file1.log
題解
選項A,這個指令會將「myapp」檔案複製,並存成「file1.log」檔案。
選項B,「&0」指的是標準輸入串流(stdin),這個指令很明顯有誤。
選項C,這個指令會將「myapp」輸出的資料作為「cat」指令的輸入,接著cat會再將輸入的資料輸出至「 file1.log」檔案中。
選項D,這個指令會將「myapp」輸出的資料作為「tee」指令的輸入,「tee」指令可以將輸入資料同時導給標準輸出串流(stdout)和檔案,所以這行指令符合題目要求,是正確答案。
選項E,「tee」指令的用法錯誤。