1 つの簡単なコマンドを使用して、Linux 上でアプリ ファイルのアクティビティをリアルタイムで監視する
2026 年 4 月 19 日、午後 2 時 EDT に公開
Afam のテクノロジー出版における経験は、Make Tech Easier で働いていた 2018 年に遡ります。長年にわたり、Windows、Linux、オープン ソース ツールをカバーする高品質のガイド、レビュー、ヒント、説明記事の出版で評判を築いてきました。彼の作品は、Technical Ustad、Windows Report、Guiding Tech、Alphr、Next of Windows などのトップ Web サイトで紹介されています。
彼はコンピュータ サイエンスの第一学位を取得しており、データのプライバシーとセキュリティの強力な提唱者であり、Fuzo Tech YouTube チャンネルでこのテーマに関するいくつかのヒント、ビデオ、チュートリアルを公開しています。
仕事以外の時間は、家族と過ごしたり、サイクリングをしたり、庭の手入れをしたりするのが大好きです。
Linux をセットアップすると、通常は期待どおりに実行されます。バックグラウンドのどこかで、ファイルの作成、構成の更新、キャッシュの構築が行われます。ただし、何も壊れていない限り、これらのプロセスを確認するために内部を覗くことはめったにありません。
一度、違うことをしてみたかったのです。私はバックグラウンドで起こっていることをすべて見ることにしました。そこで、inotifywait を使用しました。 リアルタイムのアクティビティを監視するコマンド。このコマンドの強力さに驚きました。最も単純なアクションでも複数のバックグラウンド オペレーションが作成される可能性があることが明らかになりました。
すべてを追跡する Linux 機能
ファイル アクティビティは、思っているより簡単に監視できます。
Inotify は、バージョン 2.6.13 で Linux に追加されたカーネル レベルのサブシステムです。この機能は、リアルタイムのファイル システム イベントをキャプチャし、発生時にレポートします。これは単にカーネルが変更を通知しているだけです。
ファイルの作成、変更、削除、アクセス、移動を継続的に追跡し、これらのイベントを報告します。 inotify を使用して気に入ったこと これにより、通常の使用時に最小限のオーバーヘッドしか追加されなくなります。これは、カーネルがすでに生成したシグナルを報告しているだけだからです。バックグラウンド スキャナは実行されていません。
inotify と直接やり取りすることはできません 、 だからこそinotify-tools が必要なのです。 これは、ターミナルからカーネル機能を使用できるようにする 2 つのユーザー空間ユーティリティを提供します。
<先頭> <番目>コンポーネント
<番目>機能
通知
ファイル システム イベントを生成するカーネル サブシステム
inotifywait
これらのイベントを端末にライブでストリーミングします
inotifywatch
設定された期間内に各イベント タイプが発生した回数をカウントします
これらのコンポーネントのうち、inotifywait リアルタイム監視へのアクセスを許可するオプションです。
アプリをライブで監視できる 1 つのコマンド
ゼロから数秒でリアルタイムのファイル追跡まで
inotify はすでにカーネルに含まれているため、開始するには、inotify ツールをセットアップするコマンドが 1 つだけ必要です。
<先頭> <番目>ディストリビューション
<番目>コマンド
Ubuntu/Debian
sudo apt install inotify-tools
フェドーラ
sudo dnf install inotify-tools
Arch Linux
sudo pacman -S inotify-tools
openSUSE
sudo zypper install inotify-tools
インストールしたら、inotifywait --version を実行して使用準備ができていることを確認できます。 次に、 inotifywait -m ~/Documents を実行します。 コマンドの実行時に最初のイベントの後に終了しないように、-m フラグを含めることが重要です。すぐに、ディレクトリ (この場合は「Documents」ディレクトリ) に変更が表示され始めます。表示されるイベントは、監視されたディレクトリ/イベント タイプ/イベントをトリガーしたファイルの形式に従います。たとえば、/home/user/Documents/ MODIFY Notes.txt があるとします。 .
イベントを取得したら、いくつかのフラグを使用してレポートをさらに便利にすることができます。
<先頭> <番目>フラグ
<番目>目的
-m
1 つのイベント後に終了するのではなく、継続的に実行し続ける
-r
すべてのサブディレクトリを再帰的に監視します
-e
特定のイベント タイプのフィルタリング (例:-e create,modify,delete)
--フォーマット
読みやすさやログ記録のために出力構造を制御する
--timefmt
各イベントにタイムスタンプを追加します
これらは使用する基本的なコマンドです。本物のものを指し示すだけで十分です。
実際のアプリで使ってみた感想
普段は気づかないファイルの動作
コンピューターで何が起こっているかを確認するために、inotifywait をポイントしながら、通常の方法でアプリを使用しました。 特定のディレクトリに。実際に私を驚かせたのは、表示された内容ではなく、膨大な量のバックグラウンド アクティビティでした。
私はテキストエディタから始めました。ドキュメントフォルダーを監視しているときに、ファイルを保存しました。 1 つのイベントの通知を受け取ることを期待していましたが、受け取ったのは一連のイベントでした。一時ファイルが作成され、続いてmoved_from が表示されました。 そして移動先にしました イベント。このすべてにおいて、私のテキスト エディタは元のファイルに直接触れたことはありません。ファイルを作成したとき、ファイルをスワップする前に使い捨てファイルに書き込みました。こうすることで、書き込み中に何かが起こったとしても、元のファイルはそのまま残ります。
次に ~/.mozilla/firefox/ に切り替えました。 Firefox を監視したディレクトリ。ブラウザを起動すると、瞬時に書き込みが集中しました。数秒以内に places.sqlite が完成しました。 ブックマークと閲覧履歴の場合は、sessionstore.jsonlz4 開いているタブの場合。しかし、私が興味深いと思ったのは、ブラウザがアイドル状態でも継続的に書き込みが行われていることです。これはブラウザの通常の動作と思われます。 Chrome でも同様のアイドル書き込みが発生していることに気付きました。 Firefox の大量のバックグラウンド アクティビティは、セッション データを継続的にディスクにフラッシュし、クラッシュ後にタブを確実に復元できるようにするため、重要です。
ただし、これらすべての中で、最も大きなノイズを引き起こしたのはパッケージ インストールです。 apt install を実行しました /var/lib/dpkg/ を見ながら すると、lock-frontend ファイルが最初に表示されることがわかりました。これは、パッケージ操作が同時に実行されないようにする重要なメカニズムです。その後、パッケージ データベース全体で非常に多くの書き込みが発生しました。
私が観察した 3 つのディレクトリで一貫していたのは、クリーンなファイル操作が 1 つも存在しなかったことです。それらにはすべてレイヤーが付属しています。
これが実生活で本当に役立つようになったとき
これは実験として始まりましたが、inotifywait が私にとって自然に手に入るツールになるまでに、ほんの数セッションしかかかりませんでした。これは、構成の問題をデバッグするための重要なツールです。 config ディレクトリを監視し、上書きされたファイルをその都度メモしておくと、設定が自動的にリセットされ続ける場合に、ある程度明確になります。
また、馴染みのないソフトウェアを評価する必要がある場合にも、このツールに手を伸ばします。ソフトウェアがデータを保存する場所を推測する必要はなくなりました。ソフトウェアが何を扱うかを監視できるようになりました。これは、どのアプリが予想されるディレクトリの外に書き込みを行っているかを簡単に把握する方法です。
ただし、inotifywait を使用している場合は、非常にノイズの多い出力を覚悟してください。 2 番目の制限は、何が変更されたかは示されていても、その理由が説明されていないことです。とはいえ、これは私が Linux を管理するために使用する最も便利なコマンドの 1 つになりました。
-
不満を持っているWindowsユーザーがUbuntuの使用を検討すべき5つの理由
メインのラップトップをUbuntuでデュアルブートすることにしたので、Linux環境ではMicrosoft環境よりもかなり長い時間を費やしていることに気付きました。老朽化したAsusから取り戻したスピードのおかげで、まったく新しいマシンのように感じられ、コストもかかりませんでした。 Linuxはやや難しいという評判があり、最初に試したときのことを思い出して、最初にそれを認めたのです。聞いたことがない方のために説明すると、Ubuntu(およびそれに関連する派生物)は、インストール、保守、操作が簡単なことで有名です。 あなたがジャンプをすることを考えているならば、必然的に多くの懸念があるでしょ
-
MSStylesを使用してLinuxでWineアプリケーションをテーマにする
Linuxを初めて使用する場合、または経験豊富な場合は、どんなに頑張っても、必要なWindowsプログラムが常に1つある可能性があります。多分それは仕事のためです。多くの場合、企業はドキュメントに特定の形式を義務付けており、それがどれほど優れていても、ネイティブLinuxプログラムでどれほど快適であっても、Windowsアプリケーションが必要です。そのため、Linuxと一緒にWindowsをインストールする代わりに、Linux内からWindowsプログラムを実行できるWine(Wine Is Not Emulator)をインストールしました。 それはかなり素晴らしいことです。残念ながら、それ