深入學(xué)習(xí)Unix操作系統(tǒng)中multitail
在學(xué)習(xí)了Unix操作系統(tǒng)的很多工具后,今天我們要學(xué)習(xí)用 multitail 查看許多文件。也許很多朋友會(huì)問,為什么要使用 multitail 查看許多文件呢,這能給我們帶來什么呢?下面,我們就一起來看看吧!
無論您是調(diào)試新代碼的開發(fā)人員,還是監(jiān)視系統(tǒng)的系統(tǒng)管理員,都常常需要同時(shí)查看許多東西。如果您是開發(fā)人員,為了尋找 bug,可能要查看調(diào)試日志和 stdout;如果您是管理員,可能要根據(jù)需要調(diào)整策略活動(dòng)。Unix操作系統(tǒng)中,這些任務(wù)常常需要在屏幕上顯示許多窗口;例如,在一個(gè)窗口中執(zhí)行 tail,在另一個(gè)窗口中執(zhí)行 less,在第三個(gè)窗口中顯示命令提示。
如果必須同時(shí)監(jiān)視多個(gè)文件,那么可以考慮使用 multitail。顧名思義,這個(gè)實(shí)用程序把一個(gè)控制臺窗口分割為多個(gè)部分,每個(gè)日志文件一個(gè)部分。更棒的是,multitail 可以給已知的格式加顏色標(biāo)記(還可以定義定制的顏色方案),可以把多個(gè)文件合并成一個(gè)流。
Unix操作系統(tǒng)中為了構(gòu)建 multitail,需要下載源代碼、解壓它并運(yùn)行 make。(發(fā)行版的通用 makefile 中的選項(xiàng)對于大多數(shù)Unix操作系統(tǒng)應(yīng)該足夠了。如果 make 運(yùn)行失敗,那么在頂層目錄中尋找適合自己系統(tǒng)的 makefile)。
- # As this article was written, the latest version of multitail was 5.2.2
- $ wget http://www.vanheusden.com/multitail/multitail-5.2.2.tgz
- $ tar xzf multitail-5.2.2.tgz
- $ cd multitail-5.2.2
- $ make
- $ sudo make install
下面是Unix操作系統(tǒng) multitail 的一些使用示例:
為了在同一窗口中查看多個(gè)日志文件,用一個(gè)文件名列表啟動(dòng)這個(gè)實(shí)用程序,比如 multitail /var/log/apache2/{access,error}.log。
為了在同一窗口中查看兩個(gè)文件并緩沖讀取的所有信息,使用 -I 選項(xiàng)把指定的文件與另一個(gè)文件合并,比如 multitail -M 0 /var/log/apache/access.log -I /var/log/apache/error.log。在這里,把 Apache 錯(cuò)誤日志和訪問日志合并在一起。-M 0 記錄輸入的所有數(shù)據(jù);在任何時(shí)候,按 B 鍵即可看到緩沖區(qū)。
還可以組合命令和文件。例如,為了查看一個(gè)日志文件并監(jiān)視 ping 的輸出,可以使用 multitail logfile -l "ping 192.168.1.3"。這會(huì)在同一控制臺中創(chuàng)建兩個(gè)視圖:一個(gè)視圖顯示 logfile 的內(nèi)容,另一個(gè)視圖顯示 ping 192.168.1.3 的輸出。
Unix操作系統(tǒng)中除了命令行選項(xiàng)之外,multitail 還提供一組交互式命令,它們影響顯示的當(dāng)前狀態(tài)。例如,在顯示中按 A 鍵可以添加新的日志文件。按 B 鍵顯示保存的緩沖區(qū)。按 Q 鍵退出 multitail。命令的完整列表見 multitail 的手冊頁。 可以看出,它在Unix操作系統(tǒng)中真的很重要,給我們能帶來很多的方便。
【編輯推薦】