Linux中國

Linux 目錄結構:/lib 分析

我們在之前的文章中已經分析了其他重要系統目錄,比如 /bin/boot/dev/etc 等。可以根據自己的興趣進入下列鏈接了解更多信息。本文中,讓我們來看看 /lib 目錄都有些什麼。

Linux 中,/lib 文件夾是什麼?

/lib 文件夾是 庫文件目錄 ,包含了所有對系統有用的庫文件。簡單來說,它是應用程序、命令或進程正確執行所需要的文件。在 /bin/sbin 目錄中的命令的動態庫文件正是在此目錄中。內核模塊同樣也在這裡。

pwd 命令執行為例。執行它需要調用一些庫文件。讓我們來探索一下 pwd 命令執行時都發生了什麼。我們需要使用 strace 命令 找出調用的庫文件。

示例:

root@linuxnix:~# strace -e open pwd
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
/root
+++ exited with 0 +++
root@linuxnix:~# 

如果你注意到的話,會發現我們使用的 pwd 命令的執行需要調用兩個庫文件。

Linux 中 /lib 文件夾內部信息

正如之前所說,這個文件夾包含了目標文件和一些庫文件,如果能了解這個文件夾的一些重要子文件,想必是極好的。下面列舉的內容是基於我自己的系統,對於你的來說,可能會有所不同。

root@linuxnix:/lib# find . -maxdepth 1  -type d
./firmware
./modprobe.d
./xtables
./apparmor
./terminfo
./plymouth
./init
./lsb
./recovery-mode
./resolvconf
./crda
./modules
./hdparm
./udev
./ufw
./ifupdown
./systemd
./modules-load.d

/lib/firmware - 這個文件夾包含了一些硬體、 固件 Firmware 代碼。

硬體和固件之間有什麼不同?

為了使硬體正常運行,很多設備軟體由兩部分軟體組成。載入到實際硬體的代碼部分就是固件,用於在固件和內核之間通訊的軟體被稱為驅動程序。這樣一來,內核就可以直接與硬體通訊,並確保硬體完成內核指派的工作。

/lib/modprobe.d - modprobe 命令的配置目錄。

/lib/modules - 所有的可載入內核模塊都存儲在這個目錄下。如果你有多個內核,你會在這個目錄下看到代表美國內核的目錄。

/lib/hdparm - 包含 SATA/IDE 硬碟正確運行的參數。

/lib/udev - 用戶空間 /dev 是 Linux 內核設備管理器。這個文件夾包含了所有的 udev 相關的文件和文件夾,例如 rules.d 包含了 udev 規範文件。

/lib 的姊妹文件夾:/lib32 和 /lib64

這兩個文件夾包含了特殊結構的庫文件。它們幾乎和 /lib 文件夾一樣,除了架構級別的差異。

Linux 其他的庫文件

/usr/lib - 所有軟體的庫都安裝在這裡。但是不包含系統默認庫文件和內核庫文件。

/usr/local/lib - 放置額外的系統文件。這些庫能夠用於各種應用。

/var/lib - 存儲動態數據的庫和文件,例如 rpm/dpkg 數據和遊戲記錄。

via: https://www.linuxnix.com/linux-directory-structure-lib-explained/

作者:Surendra Anne 譯者:CYLeft 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國