which
同じように動作しますが、$ LD_LIBRARY_PATHで定義されているディレクトリで共有ライブラリ(* .so)を見つけるユーティリティを探しています。
ベストアンサー1
実行可能ファイルが存在し、その実行可能ファイルがライブラリをインポートする場所を確認するには、次の手順を実行します。
ldd /path/to/executable
デフォルトの検索パスのライブラリとこの実行可能ファイルのライブラリを検討してください。道もしそうなら。
Linuxでは、効率のためにシステムライブラリパスがキャッシュされます。/sbin/ldconfig -p
キャッシュの内容を表示します(保存場所/etc/ld.so.cache
)。ライブラリの場所を表示するスクリプトは次のとおりです。
#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
set -f
IFS=:
for d in $LD_LIBRARY_PATH; do
if [ -e "$d/$1" ]; then echo "$1"; fi
done
fi
/sbin/ldconfig -p |
awk -v needle="$1" '$1 == needle {sub(/.* => /, ""); print}'