[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ldd【コマンド】

pointこの用語のポイント

pointUNIX系で使えるコマンドだよ

point使ってる共有ライブラリを表示するよ

スポンサーリンク

簡単に書くよ

ldd【コマンド】とは

指定したファイルで使っている共有ライブラリを表示するときに使うコマンド
です。

image piyo

詳しく書くよ

共有ライブラリは「いろんなプログラムから使えるプログラムの部品」ね。

ldd

それを踏まえて「このファイルは、どんな共有ライブラリを使ってるのかな~?」をコマンドライン上から確認するときに使うコマンドが「ldd」コマンドです。

「ldd」コマンドはUNIX系(LinuxとかMacとか)で使えます。

書き方は

ldd [オプション] [対象のファイル名]

です。
オプションはちょぼちょぼとあります。

オプション説明
-d「データ再配置を処理する」らしい
--data-relocs「データ再配置を処理する」らしい
-r「データと関数再配置を処理する」らしい
--function-relocs「データと関数再配置を処理する」らしい
-u使用されていない直接依存関係を表示する
--unused使用されていない直接依存関係を表示する
-v全ての情報を表示する
--verbose全ての情報を表示する
--helpヘルプを表示する
--versionバージョン情報を表示する

などですね。

対象のファイルを指定して「ldd」コマンドを実行すると、共有ライブラリの依存関係(そのファイルがどんな共有ライブラリを使っているか)を表示してくれます。
例えば

ldd /usr/bin/ls

を実行したところ、私の環境(CentOS 7)では以下の内容が表示されました。

linux-vdso.so.1 =>  (0x00007fff455ae000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f2198947000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f2198742000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f2198538000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2198177000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f2197f16000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2197cf0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2197aec000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2198b73000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f21978e7000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f21976ca000)


見てもよく分かりませんが、きっと、これが「/usr/bin/ls」ファイルの使っている共有ライブラリなのでしょう。

なお、オプションの意味については、よく分かりませんでした。
興味がある人は他のところで調べてください。

image piyo2

一言でまとめるよ

まぁ「ldd」ってコマンドが出てきたら「使ってる共有ライブラリを表示するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク