tee - 重定向輸出到多個檔案
tee - 重定向輸出到多個檔案
轉載:https://codingstandards.iteye.com/blog/833695
用途說明
在執行Linux命令時,我們可以把輸出重定向到檔案中,比如 ls >a.txt,這時我們就不能看到輸出了,如果我們既想把輸出儲存到檔案中,又想在螢幕上看到輸出內容,就可以使用tee命令了。
tee命令讀取標準輸入,把這些內容同時輸出到標準輸出和(多個)檔案中(read from standard input and write to standard output and files. Copy standard input to each FILE, and also to standard output. If a FILE is -, copy again to standard output.)。
在info tee中說道:tee命令可以重定向標準輸出到多個檔案(`tee': Redirect output to multiple files. The `tee' command copies standard input to standard output and also to any files given as arguments. This is useful when you want not only to send some data down a pipe, but also to save a copy.)。
要注意的是:在使用管道線時,前一個命令的標準錯誤輸出不會被tee讀取。
常用引數
格式:tee
只輸出到標準輸出,因為沒有指定檔案嘛。
格式:tee file
輸出到標準輸出的同時,儲存到檔案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.)
格式:tee -a file
輸出到標準輸出的同時,追加到檔案file中。如果檔案不存在,則建立;如果已經存在,就在末尾追加內容,而不是覆蓋。
格式:tee -
輸出到標準輸出兩次。(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中。
使用示例
示例一 tee命令與重定向的對比
[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 ~]#
示例二 使用tee命令重複輸出字串
[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 ~]#
示例三 使用tee命令把標準錯誤輸出也儲存到檔案
[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 ~]#
相關文章
- Linux 重定向把錯誤輸出到檔案中Linux
- ios 將NSLog日誌重定向輸出到檔案中儲存iOS
- linux重定向標準錯誤與標準輸出到同一檔案Linux
- 把當前目錄檔名輸出到一個檔案
- logback輸出到控制檯和檔案--配置
- Log4j輸出到指定日誌檔案
- mysql_select按照指定的格式輸出到檔案MySql
- Shell 重定向(一):檔案重定向
- 使用檔案重定向
- log4j自定義輸出多個檔案
- HybridDBforPG中如何按照資料內容定製輸出到OSS檔名和檔案個數
- 【多檔案自平衡雲傳輸】使用展示 —— 檔案傳輸系統
- cat-合併輸出多個檔案的內容
- 將程式碼中的除錯資訊輸出到日誌檔案中除錯
- 想將多個伺服器的日誌輸出到一個地方怎麼破·?伺服器
- Linux 檔案重定向Linux
- java -version重定向到檔案Java
- 多個報表匯出到一個 excel 的多 sheet 頁Excel
- 如何將終端輸出的資訊重定向寫入檔案中呢?
- 【整理】將Linux指令碼中的正常輸出,警告,錯誤等資訊輸出到檔案中Linux指令碼
- IDEA 如何讓程式執行期間 不在 RUN 視窗的輸出,而是輸出到log 檔案Idea
- 多個excel檔案合併到一個檔案中的多個sheet表中Excel
- 多個 EXCEL 檔案如何合併成一個檔案Excel
- 如何批量複製多個檔案到多個目錄中(批量複製檔案,多對多檔案高效操作的方法)
- Docker將映象檔案釋出到私服庫Docker
- 如何將資料熱匯出到檔案
- 利用yarn檔案釋出到 npm 倉庫YarnNPM
- Oracke大欄位Blob匯出到檔案
- php多個檔案上傳PHP
- rsync排除多個檔案同步
- 多個控制檔案的建立
- Linux輸入輸出重定向Linux
- logstash輸出到influxdbUX
- 如何把大 Excel 檔案拆成多個小檔案Excel
- c# 讀取多個路徑檔案到一個檔案
- cat、tail、head、tee、grep、wc、sort檔案操作和過濾AI
- 請問如何用struts上傳多個多個檔案??
- linux--輸入輸出重定向Linux