{category}

Linux - ファイル使用状況

lsof

エルソフ(システムモニタリングとトラブルシューティング

意味 開いているファイルの一覧表示


lsofとは?

lsofは「List Open Files」の略で、システム上で現在開いているファイルやネットワークソケットの情報を表示するコマンドです。プロセスが使用しているファイルやポートを確認する際に便利です。

lsofの具体的な使い方

プロセスのファイル確認例

$ lsof -p 1234

👇出力結果

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
python  1234 user  cwd    DIR  253,0     4096 123456 /home/user
python  1234 user  txt    REG  253,0  3897344 789012 /usr/bin/python3.9
python  1234 user    3u   IPv4  54321      0t0    TCP localhost:8080 (LISTEN)

この例では、プロセスID 1234が開いているファイルの一覧を表示します。プロセスが使用しているファイルやポートを特定するのに役立ちます。

特定のポートを使用しているプロセスの確認

$ lsof -i :80

👇出力結果

COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   2345     root    6u  IPv4  65432      0t0  TCP *:http (LISTEN)
nginx   2346 www-data    6u  IPv4  65432      0t0  TCP *:http (LISTEN)

この例では、ポート80を使用しているプロセスを表示します。ウェブサーバーなど、特定のポートを使用しているアプリケーションを特定するのに役立ちます。

特定のファイルを開いているプロセスの確認

$ lsof /var/log/syslog

👇出力結果

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
rsyslogd 1234   root    7w   REG  253,0   524288 123456 /var/log/syslog

この例では、/var/log/syslogファイルを開いているプロセスを表示します。ログファイルなど、特定のファイルを使用しているプロセスを特定するのに便利です。

lsofに関するよくある質問

Q. lsofの基本的な使い方は?
A. lsofを引数なしで実行すると、システム上のすべての開いているファイルが表示されます。特定のプロセスやユーザー、ポートに関連するファイルを表示するには、オプションを使用します。例えば、lsof -u usernameでユーザーが開いているファイルを、lsof -i :80でポート80を使用しているプロセスを表示できます。
Q. lsofの出力を絞り込むには?
A. grepコマンドと組み合わせることで、lsofの出力を効果的に絞り込むことができます。例えば、lsof | grep '/home'とすると、/homeディレクトリ内のファイルのみを表示します。また、lsofには-iオプション(ネットワーク接続)や-tオプション(PIDのみ表示)など、出力を制御するための様々なオプションがあります。
Q. lsofで特定のファイルを探すには?
A. 特定のファイルを開いているプロセスを見つけるには、lsof /path/to/fileのようにファイルパスを指定します。これは、ファイルが削除できない場合や、どのプロセスがファイルを使用しているかを特定する必要がある場合に特に便利です。

lsofが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのlsofやsar、uname、uptime、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

sar

システム活動レポート

種類: パフォーマンス監視

uname

システム情報の表示

種類: システム情報表示

uptime

システムの稼働時間を表示

種類: システム情報表示

man

コマンドのマニュアル表示

種類: マニュアルページ

$()

コマンドの出力を別のコマンドに渡す

種類: コマンド置換