C
共享庫的“哪個”等效項
我正在尋找一個與 行為方式相同的實用程序
which
,但要在 $LD_LIBRARY_PATH 中定義的目錄中查找共享庫 (*.so)?
如果您有一個執行檔並且您想查看它在哪裡拾取庫,請執行
ldd /path/to/executable
這將考慮預設搜尋路徑上的庫以及此執行檔的rpath中的庫(如果有)。
在 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}'