Linux でログをクエリするための一般的なコマンド

序文:

        プロジェクトがオンラインになった後、問題のトラブルシューティングを行う場合、ローカルで行う場合のようにプロジェクトをデバッグすることはできませんが、このとき、ログは非常に重要な役割を果たします。では、Linux 環境でログを表示するにはどうすればよいでしょうか? 以下に、一般的に使用される Linux クエリ ログ コマンドをいくつか示します。

テールコマンド
-n は実際の行番号で、nl コマンドに相当します。
尾部 -100f sys.log 100行のデータをリアルタイムで監視
テール -n 10 sys.log ログの最後にあるログの最後の 10 行をクエリします。
テール -n +10 sys.log 10 行以降のすべてのログをクエリする
ヘッドコマンド
tail の逆で、tail はログを見た後の行数です。
head -n 10 sys.log ログ ファイル内のログの最初の 10 行をクエリします。

head -n -10 sys.log

ログ ファイル内の最後の 10 行を除くすべてのログをクエリします。
猫コマンド
tacは逆順に見るためのもので、catという単語を逆から書いたものです
猫 -n sys.log | grep "ユーザー情報を取得" クエリキーワードログ

アプリケーションシナリオ:

アプリケーション シナリオ 1: 行番号で表示---キーワード付近のログをフィルタリングする

1) cat -n sys.log |grep "getUserInfo" でキーログの行番号を取得します。

2)cat -n sys.log |tail -n +100|head -n 20

        キーワードが含まれる中央の行を選択し、キーワードの前後 10 行のログを表示します。

tail -n +100 は、100 行後のログをクエリすることを意味します

head -n 20 は、前のクエリ結果の最初の 20 レコードをチェックすることを意味します。

アプリケーション シナリオ 2: 日付に基づいてログをクエリする

sed -n '/2022-05-26 16:17:20/,/2022-05-26 16:17:36/p' sys.log

特記事項: 上記の 2 つの日付はログに出力されるログである必要があります。そうでない場合は無効になります。

最初に grep '2022-05-26 16:17:20' sys.log を実行して、ログにこの時点が存在するかどうかを確認します

適用シナリオ 3: ログの内容が非常に大きいため、画面に印刷すると表示が不便です。

(1) moreコマンドとlessコマンドを使用します。

例: cat -n sys.log |grep "debug" |more これはページ単位で印刷されます。ページをめくるにはスペースバーをクリックしてください。

(2) >xxx.txt を使用してファイルに保存し、ファイルをプルダウンして分析できます。

例:cat -n test.log |grep "debug" >debug.txt

おすすめ

転載: blog.csdn.net/qq_42405688/article/details/124978828