為初學者簡單介紹Linux ldd命令
如果您的工作涉及到 Linux 中的可執(zhí)行文件和共享庫的知識,則需要了解幾種命令行工具。其中之一是 ldd
,您可以使用它來訪問共享對象依賴關系。在本教程中,我們將使用一些易于理解的示例來討論此實用程序的基礎知識。
請注意,這里提到的所有示例都已在 Ubuntu 16.04 LTS 上進行了測試。
Linux ldd 命令
正如開頭已經(jīng)提到的,ldd
命令打印共享對象依賴關系。以下是該命令的語法:
ldd [option]... file...
下面是該工具的手冊頁對它作出的解釋:
ldd 會輸出命令行指定的每個程序或共享對象所需的共享對象(共享庫)。
以下使用問答的方式讓您更好地了解ldd的工作原理。
問題一、 如何使用 ldd 命令?
ldd
的基本用法非常簡單,只需運行 ldd
命令以及可執(zhí)行文件或共享對象的文件名稱作為輸入。
ldd [object-name]
例如:
ldd test
How to use ldd
所以你可以看到所有的共享庫依賴已經(jīng)在輸出中產(chǎn)生了。
Q2、 如何使 ldd 在輸出中生成詳細的信息?
如果您想要 ldd
生成詳細信息,包括符號版本控制數(shù)據(jù),則可以使用 -v
命令行選項。例如,該命令
ldd -v test
當使用 -v
命令行選項時,在輸出中產(chǎn)生以下內容:
How to make ldd produce detailed information in output
Q3、 如何使 ldd 產(chǎn)生未使用的直接依賴關系?
對于這個信息,使用 -u
命令行選項。這是一個例子:
ldd -u test
How to make ldd produce unused direct dependencies
Q4、 如何讓 ldd 執(zhí)行重定位?
您可以在這里使用幾個命令行選項:-d
和 -r
。 前者告訴 ldd
執(zhí)行數(shù)據(jù)重定位,后者則使 ldd
為數(shù)據(jù)對象和函數(shù)執(zhí)行重定位。在這兩種情況下,該工具都會報告丟失的 ELF 對象(如果有的話)。
ldd -d
ldd -r
Q5、 如何獲得關于ldd的幫助?
--help
命令行選項使 ldd
為該工具生成有用的用法相關信息。
ldd --help
How get help on ldd
總結
ldd
不像 cd
、rm
和 mkdir
這樣的工具類別。這是因為它是為特定目的而構建的。該實用程序提供了有限的命令行選項,我們在這里介紹了其中的大部分。要了解更多信息,請前往 ldd
的手冊頁。