Linux の lsof コマンド
-
Linux の
lsof
コマンド -
lsof
コマンドを使用して Linux のポートを一覧表示する -
Linux で
lsof
コマンドを使用して開いているすべてのファイルを一覧表示する -
Linux で
lsof
コマンドを使用してユーザーが開いているすべてのファイルを一覧表示する -
Linux で
lsof
コマンドを使用してすべてのインターネット ファイルを一覧表示する -
Linux で
lsof
コマンドを使用して特定のプロセスごとにすべてのファイルを一覧表示する -
Linux で
lsof
コマンドを使用して特定のポートで実行されているプロセスを見つける -
Linux で
lsof
コマンドを使用してリッスン ポートを確認する
この Linux 記事では、Linux オペレーティング システムの lsof
コマンドについて学習します。 Linux でこのコマンドをさまざまな目的に使用する方法について説明します。
lsof
コマンドを使用して、Linux オペレーティング システムで使用されているポートを確認します。 この lsof
コマンドを使用すると、ポートが Linux オペレーティング システムで使用されているかどうかを確認できます。
Linux での lsof
コマンドとは何かから始めましょう。
Linux の lsof
コマンド
lsof
は、ポートが使用中かどうかを判断するために Linux で使用される List Open Files
コマンドの略です。 このコマンドは、Linux のシステム ファイルで使用されているユーザーにプロセスを返します。
これは、ファイル システムが使用されたままでアンマウントできない理由を特定するのに役立ちます。
ご存じのとおり、Linux オペレーティング システムはすべてをファイルとフォルダーと見なします。 そのため、Linux システムで使用されるファイルまたはフォルダーは非常に重要です。
Linux オペレーティング システムで作業する場合、いくつかのファイルとフォルダーが使用されます。 これらのファイルまたはフォルダーの一部はユーザーに表示され、一部は表示されません。
lsof
コマンドは、Linux オペレーティング システムで開かれているファイルまたはフォルダーのリストを提供します。 このコマンドは、システム内のどのプロセスによって開かれたファイルを見つけるための情報を提供します。
1 回実行するだけで、開いているすべてのファイルが出力コンソールに一覧表示されます。 lsof
コマンドは、一般的な通常のファイルを一覧表示するだけでなく、ディレクトリ、共有ライブラリ、システム内の特別なファイル、および他の多くのものを一覧表示することもできます。
lsof
コマンドは grep
コマンドと組み合わせることができ、Linux での高度な検索とファイルの一覧表示に使用できます。
lsof
コマンドを使用して Linux のポートを一覧表示する
lsof
コマンドは、Linux システムで開いているすべてのファイルまたはフォルダーを一覧表示するのに役立ちます。 したがって、このコマンドを使用して、Linux システムの特定のポートで開いているすべてのプロセスを表示できます。
lsof
コマンドを使用するには、ターミナルで次のコマンドを使用して、Linux システムにまだインストールされていない場合は lsof
ユーティリティをインストールする必要があります。
$ sudo apt install lsof
lsof
コマンドのユーティリティをシステムにインストールした後、それを使用して Linux システムのファイルとポートを一覧表示できるようになりました。
Linux で lsof
コマンドを使用して開いているすべてのファイルを一覧表示する
Linux ユーザーとして、特定のプロセスがファイルによって開かれているポート番号を知りたい場合があります。 すべての Linux オペレーティング システム ポートは、プロセス ID またはサービスに関連付けられています。
ファイルがプロセスを開くポートを特定するために使用できるさまざまな方法について説明します。
以下の例に示すように、lsof
コマンドを使用しました。 Linux システムの任意のプロセスによって開かれたすべてのファイルが表示されます。
ご覧のとおり、下の画像に示すように、Linux システムのプロセスによって開かれたファイルの長いリストが表示されます。
コード例:
$ lsof
上の図は、開いているファイルの詳細があることを示しています。 詳細には、プロセス ID、プロセスに関連付けられたユーザー、FD (ファイル記述子)、およびファイル サイズが含まれます。
これにより、コマンド、プロセス ID、ユーザーなどによって開かれたファイルに関する詳細情報が得られます。
Linux で lsof
コマンドを使用してユーザーが開いているすべてのファイルを一覧表示する
複数のユーザーが Linux システムを使用している場合。 次に、それぞれに異なる要件があり、異なるファイルを使用します。
特定のユーザーが開いたファイルのリストを見つけたい場合は、次のコマンドを使用します。
構文:
$ lsof -u username
コード例:
$ lsof -u abid
上の図は、コマンド lsof -u abid
が abid
という名前のユーザーによって開かれたすべてのファイルを一覧表示することを示しています。
さまざまな種類のファイル (CHR
、REG
、DIR
) も確認できます。 CHR
は特殊文字ファイル、REG
は通常のファイル、DIR
はディレクトリです。
Linux で lsof
コマンドを使用してすべてのインターネット ファイルを一覧表示する
すべてのインターネット ファイルとネットワーク ファイルを一覧表示するには、lsof
コマンドで -i
オプションを使用します。 次のように、ターミナルで lsof
コマンドを使用します。
$ sudo lsof -i
lsof -i
コマンドを実行すると、出力にサービス名と数値ポートが表示されることがわかります。
Linux で lsof
コマンドを使用して特定のプロセスごとにすべてのファイルを一覧表示する
たとえば、Mysql
という特定のプロセスが実行されており、このプロセスによって開かれたすべてのファイルを見つけたいとします。 次のようなlsof
コマンドを使用して、それを見つけることができます。
$ lsof -c Mysql
この lsof
コマンドは、コマンドで指定された特定のプロセスによって開かれたすべてのファイルを一覧表示します。 このようにして、コマンドでプロセス名を指定するだけで、任意のプロセスによって開かれたファイルを見つけることができます。
Linux で lsof
コマンドを使用して特定のポートで実行されているプロセスを見つける
ポートで実行中のすべてのプロセスを検出する場合は、次のlsof
コマンドをオプション-i
とともに使用します。 以下の例では、ポート 30
で実行中のすべてのプロセスを一覧表示します。
コード例に示すように、コマンドでポート番号を指定するだけで、特定のポートで実行されているプロセスを見つけることができます。
コード例:
$ sudo lsof -i :30
Linux で lsof
コマンドを使用してリッスン ポートを確認する
Linux システムでは、ネットワーク ポートは、その番号、IP アドレス、および TCP や UDP などの通信に使用されるプロトコルのタイプによって識別されます。 Linux ではさまざまな方法でリッスン ポートを確認できます。この記事では、lsof
コマンドを使用してリッスン ポートを確認します。
ご存じのように、lsof
は Linux の強力なコマンドで、プロセスによって開かれたファイルに関する情報を提供できます。 Linux では、ターミナルの lsof
コマンドを使用して、リッスンしているすべての TCP ポートを取得します。
システムで実行されているすべての TCP ポートを表示するために使用されるコマンド:
$ sudo lsof -nP -iTCP -sTCP:LISTEN
上記のコマンドでは、-n
を使用して、ポート番号を名前に変更しませんでした。 また、-p
を使用して、ポートの数値アドレスを表示しました。
-iTCP -sTCP:LISTEN
を使用して、TCP 状態のネットワーク ファイルのみを表示しました。
出力:
ターミナルで上記のコマンドを使用すると、Linux システムで実行されているすべての TCP ポートが出力に表示されます。
この記事が、Linux で lsof
コマンドを使用してプロセスまたはファイルを一覧表示する方法を理解するのに役立つことを願っています。
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn