批量查询linux下可执行程序缺少的依赖
方法一:使用 find
和 xargs
find . -maxdepth 1 -type f -executable | xargs ldd
方法二:使用 for
循环
直接复制下面内容粘贴到命令行即可
for file in *; do
if [ -f "$file" ] && [ -x "$file" ]; then
echo "Dependencies for $file:"
ldd "$file"
echo "-----------------------------"
fi
done
解释:
find . -maxdepth 1 -type f -executable
:在当前目录下查找所有可执行文件。xargs ldd
:对每个找到的文件执行ldd
命令。for file in *; do ... done
:遍历当前目录下的所有文件。if [ -f "$file" ] && [ -x "$file" ]; then
:检查文件是否为普通文件且可执行。ldd "$file"
:列出该文件的依赖库。
如果想仅保留not find的
ldd 的输出中,未找到的依赖通常会显示为 not found。你可以通过 grep 过滤出这些行。
for file in *; do
if [ -f "$file" ] && [ -x "$file" ]; then
echo "Checking dependencies for $file:"
ldd "$file" | grep "not found"
echo "-----------------------------"
fi
done