作者 | Himanshu Arora
譯者 | MonkeyDEcho ? ? 共計翻譯:8 篇 貢獻時間:194 天
如果您的工作涉及到 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
不像 cd
、rm
和 mkdir
這樣的工具類別。這是因為它是為特定目的而構建的。該實用程式提供了有限的命令列選項,我們在這裡介紹了其中的大部分。要瞭解更多資訊,請前往 ldd
的手冊頁[1]。
via: https://www.howtoforge.com/linux-ldd-command/
作者: Himanshu Arora[3] 選題: lujun9972 譯者: MonkeyDEcho 校對: wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出