「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典

ldd

スポンサーリンク

何するコマンド?

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



書き方

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



オプション

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

補足事項

共有ライブラリは「いろんなプログラムから使える、プログラムの部品」です。
文字通り、共有して使えるライブラリです。

ldd

それを踏まえて

「このファイルは、どんな共有ライブラリを使ってるのかな~?」を確認するときに使うコマンド

が「ldd」コマンドです。

対象のファイルを指定して「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」ファイルの使っている共有ライブラリなのでしょう。

スポンサーリンク


書籍画像