help
команда удара. Это использует внутренние структуры удара, чтобы сохранить и получить информацию о командах удара.
man
макро-набор для troff (через groff) процессор. Вывод обработки единственного файла отправляется в пейджер man
команда по умолчанию.
info
средство просмотра только для текста для архивов в информационном выводе формата Texinfo.
Если у Вас есть исполняемый файл, и Вы хотите видеть, где он берет библиотеки, выполненные
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}'
Если Ваши библиотеки правильно кэшируются, необходимо быть abled для нахождения его через:
ldconfig -p|grep "yourlibrary"
При поиске библиотеки, которая шла распределением, Вы могли использовать средства распределения поиска файлов в пакетах.
Это также произведет rpms, которые не установлены, но являются частью Ваших активных источников установки.
Если Вы ищете утилиту, которая будет работать как gcc
-lLIBNAME
флаг, который ищет названный файл libLIBNAME.so
затем Вы могли, вероятно, использовать немного сценария, который делает что-то вроде этого:
#!/bin/sh
ldpath="${LD_LIBRARY_PATH:-$(</etc/ld.so.conf)}"
notfound=1
for libdir in ${ldpath//:/ }; do
(test -f "$libdir/lib${1}.so" && echo "$_") && notfound=0
done
[ "$notfound" -eq 0 ]