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