在執行Linux命令時,咱們能夠把輸出重定向到文件中,好比 ls >a.txt,web
這時咱們就不能看到輸出了,若是咱們既想把輸出保存到文件中,又想在屏幕上看到輸出內容,就可使用tee命令了。less
tee命令讀取標準輸入,把這些內容同時輸出到標準輸出和(多個)文件中,tee命令能夠重定向標準輸出到多個文件。要注意的是:在使用管道線時,前一個命令的標準錯誤輸出不會被tee讀取。this
格式:teespa
只輸出到標準輸出,由於沒有指定文件嘛。字符串
格式:tee fileinput
輸出到標準輸出的同時,保存到文件file中。若是文件不存在,則建立;若是已經存在,則覆蓋之。(If a file being written to does not already exist, it is created. If a file being written to already exists, the data it previously
contained is overwritten unless the `-a' option is used.)it
格式:tee -a fileio
輸出到標準輸出的同時,追加到文件file中。若是文件不存在,則建立;若是已經存在,就在末尾追加內容,而不是覆蓋。sed
格式:tee -file
輸出到標準輸出兩次。(A FILE of `-' causes `tee' to send another copy of input to standard output, but this is typically not that useful as the copies are interleaved.)
格式:tee file1 file2 -
輸出到標準輸出兩次,同時保存到file1和file2中。
[root@web ~]# seq 5 >1.txt
[root@web ~]# cat 1.txt
1
2
3
4
5
[root@web ~]# cat 1.txt >2.txt
[root@web ~]# cat 1.txt | tee 3.txt
1
2
3
4
5
[root@web ~]# cat 2.txt
1
2
3
4
5
[root@web ~]# cat 3.txt
1
2
3
4
5
[root@web ~]# cat 1.txt >>2.txt
[root@web ~]# cat 1.txt | tee -a 3.txt
1
2
3
4
5
[root@web ~]# cat 2.txt
1
2
3
4
5
1
2
3
4
5
[root@web ~]# cat 3.txt
1
2
3
4
5
1
2
3
4
5
[root@web ~]#
[root@web ~]# echo 12345 | tee
12345
[root@web ~]# echo 12345 | tee -
12345
12345
[root@web ~]# echo 12345 | tee - -
12345
12345
12345
[root@web ~]# echo 12345 | tee - - -
12345
12345
12345
12345
[root@web ~]# echo 12345 | tee - - - -
12345
12345
12345
12345
12345
[root@web ~]#
[root@web ~]# echo -n 12345 | tee
12345[root@web ~]# echo -n 12345 | tee -
1234512345[root@web ~]# echo -n 12345 | tee - -
123451234512345[root@web ~]# echo -n 12345 | tee - - -
12345123451234512345[root@web ~]# echo -n 12345 | tee - - - -
1234512345123451234512345[root@web ~]#
[root@web ~]# ls "*"
ls: *: 沒有那個文件或目錄
[root@web ~]# ls "*" | tee -
ls: *: 沒有那個文件或目錄
[root@web ~]# ls "*" | tee ls.txt
ls: *: 沒有那個文件或目錄
[root@web ~]# cat ls.txt
[root@web ~]# ls "*" 2>&1 | tee ls.txt
ls: *: 沒有那個文件或目錄
[root@web ~]# cat ls.txt
ls: *: 沒有那個文件或目錄
[root@web ~]#