Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Worauf bezieht sich lib unter Linux?

Worauf bezieht sich lib unter Linux?

WBOY
WBOYnach vorne
2023-05-23 19:20:114087Durchsuche

Unter Linux ist lib das Bibliotheksdateiverzeichnis, das alle für das System nützlichen Bibliotheksdateien enthält; Bibliotheksdateien sind für die korrekte Ausführung von Anwendungen, Befehlen oder Prozessen erforderlich dokumentieren. Fast alle Anwendungen erfordern die Verwendung gemeinsam genutzter Bibliotheksdateien im lib-Verzeichnis, die ähnlich wie DLL-Dateien in Windows funktionieren.

lib ist die Abkürzung für Bibliothek. In diesem Verzeichnis wird die grundlegendste gemeinsam genutzte dynamische Linkbibliothek des Systems gespeichert. Ihre Funktion ähnelt der DLL-Datei in Windows. Fast alle Anwendungen erfordern die Verwendung dieser gemeinsam genutzten Bibliotheken.

Der Ordner /lib ist das Bibliotheksdateiverzeichnis und enthält alle für das System nützlichen Bibliotheksdateien. Einfach ausgedrückt handelt es sich um eine Datei, die für die korrekte Ausführung einer Anwendung, eines Befehls oder eines Prozesses erforderlich ist. In diesem Verzeichnis befinden sich die dynamischen Bibliotheksdateien für Befehle in den Verzeichnissen /bin oder /sbin. Kernel-Module sind ebenfalls vorhanden. /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

    Nehmen Sie die Ausführung des pwd-Befehls als Beispiel. Um es auszuführen, müssen einige Bibliotheksdateien aufgerufen werden. Lassen Sie uns untersuchen, was passiert, wenn der Befehl pwd ausgeführt wird. Wir müssen den Befehl strace verwenden, um herauszufinden, welche Bibliotheksdateien aufgerufen werden.
Beispiel: #🎜🎜#rrreee#🎜🎜#Wenn Sie bemerken, werden Sie feststellen, dass die Ausführung des von uns verwendeten pwd-Befehls den Aufruf von zwei Bibliotheksdateien erfordert. #🎜🎜##🎜🎜#Interne Informationen des Ordners /lib in Linux#🎜🎜##🎜🎜#Wie bereits erwähnt, enthält dieser Ordner die Zieldatei und einige Bibliotheksdateien. Es wäre toll, wenn Sie einige wichtige Unterdateien dieses Ordners verstehen könnten. Die unten aufgeführten Informationen basieren auf meinem eigenen System und können von Ihrem abweichen. #🎜🎜#rrreee#🎜🎜#/lib/firmware – Dieser Ordner enthält Hardware- und Firmware-Code (Firmware). #🎜🎜##🎜🎜##🎜🎜#Was ist der Unterschied zwischen Hardware und Firmware? #🎜🎜##🎜🎜#Damit die Hardware ordnungsgemäß funktioniert, besteht viele Gerätesoftware aus zwei Softwareteilen. Firmware bezieht sich auf den Teil des Codes, der in die eigentliche Hardware geladen wird, während die Software, die zur Kommunikation zwischen der Firmware und dem Kernel verwendet wird, als Treiber bezeichnet wird. Dadurch kann der Kernel direkt mit der Hardware kommunizieren und sicherstellen, dass die Hardware ihre Arbeit gemäß den Anweisungen des Kernels erledigt. #🎜🎜##🎜🎜##🎜🎜#/lib/modprobe.d – Das Konfigurationsverzeichnis des Befehls modprobe. #🎜🎜##🎜🎜#/lib/modules – Alle ladbaren Kernelmodule werden in diesem Verzeichnis gespeichert. Wenn Sie über mehrere Kernel verfügen, sehen Sie unter diesem Verzeichnis ein Verzeichnis, das den US-Kernel darstellt. #🎜🎜##🎜🎜#/lib/hdparm – Enthält Parameter für den korrekten Betrieb von SATA/IDE-Festplatten. #🎜🎜##🎜🎜#/lib/udev – Benutzerbereich /dev ist der Linux-Kernel-Gerätemanager. Dieser Ordner enthält alle udev-bezogenen Dateien und Ordner. Rules.d enthält beispielsweise die udev-Spezifikationsdatei. #🎜🎜##🎜🎜#Erweiterte Kenntnisse:#🎜🎜##🎜🎜#Schwesterordner von /lib:/lib32 Die beiden Ordner code> und /lib64#🎜🎜##🎜🎜# enthalten speziell strukturierte Bibliotheksdateien. Sie sind fast identisch mit dem Ordner /lib, abgesehen von den Unterschieden auf Architekturebene. #🎜🎜##🎜🎜#Linux andere Bibliotheksdateien#🎜🎜#
  • #🎜🎜#/usr/lib – Alle Softwarebibliotheken werden hier installiert. Die Standardbibliotheksdateien des Systems und die Kernelbibliotheksdateien sind jedoch nicht enthalten. #🎜🎜##🎜🎜#<li>#🎜🎜#<code>/usr/local/lib – Platziert zusätzliche Systemdateien. Diese Bibliotheken können in einer Vielzahl von Anwendungen verwendet werden. #🎜🎜##🎜🎜#
  • #🎜🎜#/var/lib – Bibliotheken und Dateien, die dynamische Daten speichern, wie z. B. rpm/dpkg-Daten und Spiele Aufzeichnungen. #🎜🎜##🎜🎜##🎜🎜#

Das obige ist der detaillierte Inhalt vonWorauf bezieht sich lib unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen