MultiTail - 複数のファイルを同時に閲覧
概要
multitail [オプション]
オプション: [-cs|-Cs|-c-] [-s] [-i] 入力ファイル [-i 別の入力ファイル] [...]
説明
プログラム MultiTail を使用すると、オリジナルの tail プログラムのように、1 つまたは複数のファイルを閲覧できます。 主な違いは、ncurses を使用してコンソールに複数のウィンドウを作成することです。また、ワイルドカードを監視することもできます。ワイルドカードに一致する別のファイルで、最終更新日が新しい場合、自動的にそのファイルに切り替わります。これにより、ディレクトリ内のすべてのファイルを監視できます。2 つ以上のログファイルをマージすることも可能です。ログファイルをカラーで表示することもでき(正規表現を使用)、重要な情報とそうでない情報をすばやく識別できます。また、行をフィルタリングすることもできます(これも正規表現を使用)。インタラクティブなメニューで、正規表現の編集、ウィンドウの削除と追加が可能です。また、シェルスクリプトやその他のソフトウェアの出力をウィンドウに表示することもできます。外部ソフトウェアの出力を表示する場合、MultiTail は「watch」などのツールと同様の機能を提供できます。現在のユーザーに新しいメールが届くと、ステータス行が緑色に変わります。「メールが届いた」状態をリセットするには、スペースキーを押します。いつでもヘルプが必要な場合は、F1 キーを押してください。
オプション
-i ファイル
監視するファイルを選択します。-i ファイル パラメータを複数指定できます。ファイル名がハイフン('-')で始まる場合のみ、-i ファイル をファイル名の前に配置する必要があります。
-I ファイル
-i ファイル と同じですが、出力を前のウィンドウに追加します(つまり、出力をマージします)。
-iw ファイル 間隔
-Iw ファイル 間隔 -i/ -I と同じですが、パラメータはワイルドカードであり、2 番目のパラメータは間隔である必要があります。最初に、MultiTail は最新の更新時間を持つファイルを監視し始めます。指定された間隔ごとに、新しいファイルが作成または変更されたかどうかを確認し、そのファイルを監視し始めます。引用符で囲んでください。そうしないと、シェルがファイル名を展開しようとします。
-l コマンド
ウィンドウで実行するコマンド。パラメータはコマンドです。外部コマンドにパラメータが必要な場合は、引用符を使用することを忘れないでください(例:-l "ping host")。
-L コマンド
-l と同じですが、出力を前のウィンドウに追加します(つまり、出力をマージします)。
-j
標準入力から読み取ります(1 つだけ使用できます。標準入力は 1 つだけです)。
-J
-j と同じですが、出力を前のウィンドウに追加します(つまり、出力をマージします)。
--mergeall
次のすべてのファイルを同じウィンドウにマージします(--no-mergeall を参照)。
--no-mergeall
すべてのファイルを1つのウィンドウに統合するのを停止します(--mergeallを参照)。
--no-repeat
同じ行が繰り返された場合、その行は抑制され、「Last message repeated x times」というメッセージが表示されます。
--mark-interval x
何も出力されない場合に、x秒ごとにマーク行を出力します。
-q i path
^ `間隔でpathをチェックし、新しいファイルが見つかった場合は新しいウィンドウで表示します。シェルで解釈できるパスを指定できます。例:/tmp/*`。注: パス名を引用符で囲むことを忘れないでください。シェルが解釈しないようにするためです。
-Q i path
^ qと似ていますが、すべてを1つのウィンドウに統合します。
--new-only
^ q/-Qの場合: MultiTailが開始された後に作成されたファイルに対してのみウィンドウを作成します。
--closeidle x
^ ``秒以上新しいデータが処理されなかった場合に、ウィンドウを閉じます。
-a x 出力をファイル`x`にも書き込みます(`tee`と同様)。これは、MultiTailによってフィルタリングされた後に出力されます。注: `-a file`を監視するファイルの前に配置する必要があります。
-A x 出力をファイル`x`にも書き込みます(`tee`と同様)。これは、MultiTailによってフィルタリングされる前です。`-a`の注記も参照してください。
-g x 出力をコマンド`x`にも送信します。これは、MultiTailによってフィルタリングされた後です。
-G x 出力をコマンド`x`にも送信します。これは、MultiTailによってフィルタリングされる前です。
-S マージされた出力の先頭にサブウィンドウ番号を付加します。
-t title
このスイッチを使用すると、ステータス行にファイル名またはコマンドラインの代わりにtitleが表示されます。
-n number_of_lines
最初に表示する行数です。デフォルト値は、ターミナルウィンドウのサイズによって異なります。
-N number_of_lines
^ nと似ていますが、このパラメーターは、その後に続くすべてのファイル/コマンドに使用されます。
-r interval
^ l/-Lで開始されたコマンドが終了した場合、再起動します。intervalで、再試行するまでのスリープ時間を設定できます。
-R interval
^ rと似ていますが、前の実行と比較して出力の違いを表示します。
-rc / -Rc interval
^ r / -Rと似ていますが、各反復の前にウィンドウをクリアします。
-h ヘルプを表示します。
-f ファイル名に従い、ディスクリプターに従いません。
--follow-all
このスイッチ以降のすべてのファイルに対して、ファイル名に従い、ディスクリプターに従いません。
-fr filter
設定ファイルからの定義済みのフィルタを使用します。
-e 次のファイルで次の正規表現を使用します。
-ex 次のファイルで正規表現を使用し、一致した場合にコマンドを実行します。コマンドは、完全な一致行をコマンドラインパラメーターとして受け取ります。
-eX `-ex`と似ていますが、一致した部分文字列のみをパラメーターとして渡します。これには、`(`と`)`を含む正規表現が必要です。
-ec 次のファイルで正規表現を使用し、一致箇所を表示します。
-eC 次のファイルで正規表現を使用しますが、すべてを表示し、一致箇所を反転して表示します。
-E 次のファイルで次の正規表現を使用します。
-v 次の正規表現を否定します。
-s x 画面を垂直方向に`x`列に分割します。
-sw x 画面を分割する位置。例: `-sw 20,40,,10` (4列)
-sn x 垂直分割で1列あたりのウィンドウ数を指定します(-sまたは-swと組み合わせて使用)。例:'-sn 3,,2'。
-wh x ウィンドウの高さを設定します(目安:高すぎると高さが調整されます)。
-cS スキーム
multitail.confで定義されている「スキーム」で選択されたカラースキームを使用して、次のファイルを表示します。
-CS スキーム
multitail.confで定義されている「スキーム」で選択されたカラースキームを使用して、以降のすべてのファイルを表示します。
-csn 次のスイッチに対する追加オプション。反転色(インバートカラー)は使用しません。
-cs 次のファイルを選択して、カラー表示します(syslog)。
-c 次のファイルを選択して、カラー表示します。
-Cs 以降のすべてのファイルを選択して、カラー表示します(syslogスキームを使用)。
-C 以降のすべてのファイルを選択して、カラー表示します。
-Cf フィールドインデックス 区切り文字
以降のすべてのファイルを選択して、指定された「フィールドインデックス」で選択されたフィールドに基づいてカラー表示します。フィールドは定義された「区切り文字」で区切られます。
-cf フィールドインデックス 区切り文字
次のファイルを選択して、指定された「フィールドインデックス」で選択されたフィールドに基づいてカラー表示します。フィールドは定義された「区切り文字」で区切られます。
-ci 色
特定のカラーを使用します。複数の出力をマージする場合に便利です。
-cT ターミナルモード
ターミナルコードを解釈します。現時点ではANSIのみサポートされています。
-c- 以降のファイルのカラー表示を無効にします。
-C- 以降のすべてのファイルのカラー表示を無効にします。
-ts 各行にタイムスタンプを追加します(フォーマットはmultitail.confで設定できます)。
-Z 色
マーカーラインのカラー属性を指定します。
-T マーカーラインにタイムスタンプを配置します。
-d ステータスラインの更新を行いません。
-D ステータスラインを表示しません。
-du ステータスラインをデータウィンドウの上に配置します。
-z 「ウィンドウが閉じられました」というウィンドウを表示しません。
-u スクリーン更新間隔を設定します(低速リンク向け)。
-m n行
バッファーサイズを設定します。バッファーに制限を設けたくない場合は、n行を0(ゼロ)に設定します。
-mb x スクロールバックバッファーサイズをバイト単位で設定します(xKB/MB/GBを使用)。
-M n行
以降のすべてのファイルのバッファーサイズを設定します。
-p x [y]
行の折り返しを設定します。a = すべてのコンテンツ(行の折り返しを含む)を表示します。l = ウィンドウの右端に達するまで、左からコンテンツを表示します。r = 行の右端からコンテンツを表示します。s = プロセス名から始まるコンテンツを表示します。S = プロセス名の後に続くコンテンツを表示します。o = オフセット「y」から始まるコンテンツを表示します。
-P x [y]
-p と同様ですが、以降のすべてのウィンドウに適用されます。
-ke x 正規表現「x」を使用して、入力の一部を削除します。
-kr x y
オフセットxから始まり、オフセットy(含まない)で終わる入力の一部を削除します。
-kc x y
「x」という区切り文字を使用して、列「y」の入力の一部を削除します。
-ks x configfileの「x」という編集スキームを使用します。
-w カラーを使用しません。
-b n タブの幅を設定します。
--config ファイル名
指定されたファイルから設定を読み込みます。
-x xtermのタイトルを設定します。%fは最後に変更されたファイル、%hはホスト名、%lはシステムの起動時間、%mは現在のユーザーが新しいメールを持っている場合に「New mail!」と表示されます、%uは現在の有効なユーザー、%tは最後に変更されたファイルのタイムスタンプ、%%は%に置き換えられます。
-o configfile-item
コマンドラインで設定ファイルの項目を処理します。これは、デフォルトの設定ファイルを編集できない場合に役立ちます。
--cont '´' で終わる行を連結します。
--mark-interval 間隔
何も出力がない場合、指定された「間隔」秒ごとに「---mark---」という行を出力します。
--mark-change
複数のファイルを結合し、multitail が 2 つのウィンドウを切り替える場合に、ファイル名を含むマーカー行を出力します。
--no-mark-change
ファイルが変更されたときにマーカー行を出力しないようにします (設定ファイルを上書きします)。
--label テキスト
各行の先頭に「テキスト」を配置します。複数のファイルやコマンドを結合する場合に役立ちます。
--retry
次のファイルにアクセスできない場合に、アクセスを試行し続けます。
--retry-all
--retry と同様ですが、すべての後続のファイルに対して適用されます。
-cv x 変換スキーム 'x' を使用します (multitail.conf を参照)。
--basename
ステータス行にファイル名(パスは表示しない)のみを表示します。
-F ファイル
「ファイル」を設定ファイルとして使用します(デフォルトの設定ファイルの代わりに)。
--no-load-global-config
グローバル設定ファイルをロードしません。
--beep-interval x
端末が処理した各 x 行ごとにビープ音を鳴らします。メインメニューで 'i' を押すと、ビープ音が鳴った回数を確認できます。
--bi x '--beep-interval' と同様ですが、現在の(サブ)ウィンドウに対してのみ適用されます。ビープ音の回数の統計は、この(サブ)ウィンドウの統計に表示されます。メインメニューで 't' を押してください。
-H ハートビートを表示します(セッションを維持するため)。
-V バージョンを表示して終了します。
キー
プログラム実行中にいくつかのキーを押すことができます。キーの一覧を表示するには、F1(または ^h)を押します。いつでも F1(または ^h)を押すと、コンテキストに関連する情報が表示されます。プログラムを終了するには、'q' を押します。
例
詳細およびその他の例については、http://www.vanheusden.com/multitail/examples.html を参照してください。
multitail /var/log/apache/access_log logfile -i -filestartingwithdatsh
3 つのウィンドウを作成します。1 つは /var/log/apache/access_log の内容、1 つは logfile の内容、以下同様です。
multitail -R 2 -l "netstat -t"
2 秒ごとに netstat を実行し、前回の実行からの変更を表示します。これにより、新しい接続の確立と、接続の切断を確認できます。
multitail logfile -l "ping 192.168.1.3"
2 つのウィンドウを作成します。1 つは logfile の内容、もう 1 つは 'ping 192.168.1.3' の出力です。
multitail /var/log/apache/access_log -I /var/log/apache/error_log
1 つのウィンドウを作成し、/var/log/apache/access_log の内容と /var/log/apache/error_log の内容を結合します。
multitail -M 0 /var/log/apache/access_log -I /var/log/apache/error_log
前の例と同じです。この例では、ログエントリをすべてバッファーに保存するため、後で 'b' を押してログを閲覧できます。
ファイル
${XDG_CONFIG_HOME}/multitail/config
${XDG_CONFIG_HOME} が定義されている場合。
${HOME}/.multitailrc
${HOME} が定義されている場合。
~/.multitailrc
どちらも定義されていない場合、(struct passwd*)pp->pw_dir from the pwd.h standard header を使用します。
バグ
このプログラムは、時間とともに拡張され、新しい機能が時折追加されるにつれて、いくつかのバグが発生した可能性があります。バグを見つけた場合は、お知らせください。
ただし、ターミナルウィンドウのサイズ変更は例外です。そのような操作を行うと、プログラムがクラッシュする可能性があります。その場合は、ncursesライブラリを少なくともバージョン5.3にアップグレードすると、改善される場合があります。
関連項目
http://www.vanheusden.com/multitail/
注記
このページでは、インストールされているmultitailパッケージに含まれるMultiTailについて説明しています。他のバージョンは若干異なる場合があります。修正および追加については、_までメールでお知らせください。プログラムに関するバグは、_に報告してください。