Linux 目錄結構:/lib 分析
我們在之前的文章中已經分析了其他重要系統目錄,比如 /bin
、/boot
、/dev
、 /etc
等。可以根據自己的興趣進入下列鏈接了解更多信息。本文中,讓我們來看看 /lib
目錄都有些什麼。
- 目錄結構分析:/bin 文件夾
- 目錄結構分析:/boot 文件夾
- 目錄結構分析:/dev 文件夾
- 目錄結構分析:/etc 文件夾
- 目錄結構分析:/lost+found 文件夾
- 目錄結構分析:/home 文件夾
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
- 這個文件夾包含了一些硬體、 固件 代碼。
硬體和固件之間有什麼不同?
為了使硬體正常運行,很多設備軟體由兩部分軟體組成。載入到實際硬體的代碼部分就是固件,用於在固件和內核之間通訊的軟體被稱為驅動程序。這樣一來,內核就可以直接與硬體通訊,並確保硬體完成內核指派的工作。
/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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive