GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでのlsofコマンド(10例)

Linuxでは、すべてがファイルと見なされ、ディレクトリ内に編成されます。 lsof(開いているファイルのリスト)は、開いているファイルのリストを表示します。これは主に、ファイルを開いたプロセスに関する情報を見つけるのに役立ちます。ファイルとは別に、ディレクトリ、ブロック特殊ファイル、共有ライブラリ、文字特殊ファイル、通常のパイプ、名前付きパイプ、インターネットソケット、UNIXドメインソケットなどを一覧表示できます。

このチュートリアルでは、lsofコマンドについて学習します。 Linux わかりやすいを使用する 。

lsofコマンド

lsofコマンドは、デフォルトでほとんどのLinuxディストリビューションで使用できます。非常に一般的に、ディスクをアンマウントできない場合にlsofコマンドが使用されます。その後、lsofコマンドは、開いているファイルとその原因となっているプロセスを見つけるのに役立ちます。

構文:

lsof [options] [names]

上記の構文は、システム内のすべてのプロセスによって開かれたすべてのファイルを一覧表示します。

1。開いているすべてのファイルを一覧表示する

開いているファイルのリストをすばやく取得するには、lsofと入力します。システムのさまざまなプロセスによって開かれたすべてのファイルが一覧表示されます。

$ lsof 

通常、出力は非常に長くなります。$ sudo lsof | more 、一度に1画面ずつコンテンツを表示したい場合。

2。開いているファイルをユーザー名で一覧表示する

lsofには、特定のユーザーによって開かれた特定のファイルのリストを検索するために使用できるコマンドがあります。

開いているファイルをユーザー名で一覧表示するには 次のコマンドを使用します:

$ lsof -u bobbin

複数のユーザーの場合は、次の構文を使用します。

$ lsof -u [username1] -u [username2]

または

$ lsof -u [username1], [username2]

特定のユーザー以外の開いているファイルを一覧表示するには:

$ lsof -u ^root

プロセスIDのみを一覧表示するには、-tを使用します オプション。

$ lsof -t -u sonar

これは、特定の使用に関連するすべてのプロセスを強制終了する必要がある場合に役立ちます。

$ kill -9 lsof -t -u sonar

3。プロセスごとに開いているファイルを一覧表示する

lsofを使用して、-cを使用して特定のプロセスによって開かれたファイルを一覧表示することもできます。 オプションの後にプロセス名が続きます。

たとえば、開いているすべてのファイルをsshで一覧表示するには:

$ lsof -c ssh

4。開いているファイルをファイル名で一覧表示する

ファイル名を引数として指定して、特定のファイルを開いたすべてのプロセスを一覧表示できます。

ファイル/var/ log / messagesによって開かれたすべてのプロセスを一覧表示するには、次のように入力します。

$ lsof /var/log/messages

5。プロセスIDで開いているファイルを一覧表示する

各ファイルにはプロセスIDが割り当てられます。 1つのプロセスで多数のファイルを開くことができます。 lsofコマンドを使用して、特定のプロセスIDの開いているすべてのファイルを一覧表示できます。

たとえば、プロセスID 2の開いているファイルを一覧表示するには、次のように入力します。

$ lsof -p 2

複数のプロセスIDの開いているファイルを一覧表示するには、次のように入力します

$ lsof -p 2,3

システムには多数のプロセスが含まれており、各プロセスには使用可能なファイルがあります。プロセスには多くの子プロセスが含まれる場合があり、このプロセスは親プロセスとも呼ばれます。

lsofコマンドは-Rで使用されます PPID(親プロセスIDentification)によって開かれたファイルのリストを取得するオプション。

$ lsof -R

出力から、5番目の列に開いているファイルのPPIDが表示されます。

特定のPIDのPPIDを見つけるには、次のように入力します。

$ lsof -p [PID] -R

6。ディレクトリ内の開いているファイルを一覧表示する

特定のディレクトリで開いているファイルを一覧表示するには、lsofコマンドを使用できます。

+dを使用する 指定されたディレクトリで開いているファイルのリストを表示するオプションがありますが、サブディレクトリには移動しません。

次の例では、/ var/logディレクトリで開いているファイルを検索します。

$ lsof +d /var/log

+ Dオプションは、lsofにコマンドを実行して、ディレクトリの深さ全体で、開いているすべてのインスタンスと、それに含まれるすべてのファイルとディレクトリを検索します。

この場合、lsofは/ var / logとそのサブディレクトリで開いているファイルを検索します:

$ lsof +D /var/log

7。ネットワークプロトコルで開いているファイルを一覧表示する

システムは、さまざまな目的でさまざまなネットワークにリンクできます。 Linuxのすべてはファイルであり、システム内のネットワーク接続によって開かれたファイルを調べることができます。

TCPプロトコルで開いているファイルを一覧表示するには、次のコマンドを実行します。

$ lsof -i TCP 

UDPプロトコルで開いているファイルを一覧表示するには、次のコマンドを実行できます。

$ sudo lsof -i UDP 

8。開いているファイルをポート番号別に一覧表示する

lsofには、特定のポート番号で開いているファイルを具体的に一覧表示して、そのポートで実行されているすべてのプロセスを一覧表示するコマンドがあります。

たとえば、ポート番号443で開いているファイルを一覧表示するには

$ lsof -i :443

次のように、複数のポート番号の開いているファイルを一覧表示できます。

$ lsof -i :80,443

TCPまたはUDPの開いているファイルをポート範囲別に一覧表示することもできます。

$ lsof -i TCP:1-49151

9。開いているファイルをIPv4/IPv6別に一覧表示する

lsofには、開いているIPv4またはIPv6ネットワークファイルを一覧表示するオプションがあります。

IPv4オープンファイルを表示するには、

と入力します
$ lsof -i4

次の構文を使用して、IPv6の開いているファイルを表示できます。

$ lsof -i6

10。 lsofを継続的に実行する

リピートモードを使用すると、lsofは、指定された遅延を使用して更新を継続的に繰り返すことができます。リピートモードは、「-r」または「+ r」オプションを使用して有効にできます。この場合、「+ r」は開いているファイルが見つからないときに終了し、「-r」は手動割り込みが開始されるまでリストを続けます。各遅延サイクル出力は、「========」を使用して分離されます。

構文:

$ lsof [options] -r/+r[time-interval]

例:

$ lsof -u sonar -r5

lsofコマンドヘッダー

lsof さまざまな列があります。

COMMAND     PID   TID TASKCMD               USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME

プロセスに関連付けられているUNIXコマンドの名前は、COMMANDに保存されています。 桁。

PID コマンドのプロセスIDを表示します。

USER 次のプロセスに関連付けられているユーザーの名前を表示します。

TID タスクIDを表示します。

FD は、cwd(現在の作業ディレクトリ)、txt(テキストファイル)、mem(メモリマップトファイル)、rtd(ルートディレクトリ)などの略語を含むファイル記述子です。

TYPE REG(通常のファイル)、DIR(ディレクトリ)、CHR(文字特殊ファイル)などの特定のファイルタイプの略語です。

DEVICE デバイス番号が含まれています。

SIZE/OFF ファイルサイズまたはファイルオフセットがバイト単位で含まれます。

NODE 列の値は、ローカルファイルのノード番号を表します。

NAME ファイルのマウントポイントとファイルシステムの名前、およびインターネットアドレスを表示します。

結論

このチュートリアルでは、lsofコマンドとその使用法について例を挙げて学習しました。 lsofは、ニーズに合わせて出力をカスタマイズするためのいくつかのオプションを提供します。複数の引数を簡単かつ迅速に組み合わせて、必要な出力を取得できます。


Linux
  1. Linuxでのrsyncコマンドの実用例

  2. 7 Linux df コマンドの例

  3. 8 Linux TR コマンドの例

  1. Linux での rm コマンドの例

  2. Linux での ps コマンドの例

  3. w Linux でのコマンド例

  1. Linux での sa コマンドの例

  2. Linux での ac コマンドの例

  3. Linux での diff コマンドの例