簡單介紹 ldd 命令

Himanshu Arora發表於2018-03-12

如果您的工作涉及到 Linux 中的可執行檔案和共享庫的知識,則需要了解幾種命令列工具。其中之一是 ldd ,您可以使用它來訪問共享物件依賴關係。在本教程中,我們將使用一些易於理解的示例來討論此實用程式的基礎知識。

請注意,這裡提到的所有示例都已在 Ubuntu 16.04 LTS 上進行了測試。

Linux ldd 命令

正如開頭已經提到的,ldd 命令列印共享物件依賴關係。以下是該命令的語法:

ldd [option]... file...

下面是該工具的手冊頁對它作出的解釋:

ldd 會輸出命令列指定的每個程式或共享物件所需的共享物件(共享庫)。

以下使用問答的方式讓您更好地瞭解ldd的工作原理。

問題一、 如何使用 ldd 命令?

ldd 的基本用法非常簡單,只需執行 ldd 命令以及可執行檔案或共享物件的檔名稱作為輸入。

ldd [object-name]

例如:

ldd test

How to use ldd

所以你可以看到所有的共享庫依賴已經在輸出中產生了。

Q2、 如何使 ldd 在輸出中生成詳細的資訊?

如果您想要 ldd 生成詳細資訊,包括符號版本控制資料,則可以使用 -v 命令列選項。例如,該命令

ldd -v test

當使用 -v 命令列選項時,在輸出中產生以下內容:

How to make ldd produce detailed information in output

Q3、 如何使 ldd 產生未使用的直接依賴關係?

對於這個資訊,使用 -u 命令列選項。這是一個例子:

ldd -u test

How to make ldd produce unused direct dependencies

Q4、 如何讓 ldd 執行重定位?

您可以在這裡使用幾個命令列選項:-d-r。 前者告訴 ldd 執行資料重定位,後者則使 ldd 為資料物件和函式執行重定位。在這兩種情況下,該工具都會報告丟失的 ELF 物件(如果有的話)。

ldd -d
ldd -r

Q5、 如何獲得關於ldd的幫助?

--help 命令列選項使 ldd 為該工具生成有用的用法相關資訊。

ldd --help

How get help on ldd

總結

ldd 不像 cdrmmkdir 這樣的工具類別。這是因為它是為特定目的而構建的。該實用程式提供了有限的命令列選項,我們在這裡介紹了其中的大部分。要了解更多資訊,請前往 ldd手冊頁


via: https://www.howtoforge.com/linux-ldd-command/

作者: Himanshu Arora 選題: lujun9972 譯者: MonkeyDEcho 校對: wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出