Maison >Opération et maintenance >exploitation et maintenance Linux >À quoi fait référence lib sous Linux ?

À quoi fait référence lib sous Linux ?

WBOY
WBOYavant
2023-05-23 19:20:114158parcourir

Sous Linux, lib est le répertoire des fichiers de bibliothèque, qui contient tous les fichiers de bibliothèque utiles au système, les fichiers de bibliothèque sont nécessaires à l'exécution correcte des applications, commandes ou processus ; document. Presque toutes les applications nécessitent l'utilisation de fichiers de bibliothèque partagés situés dans le répertoire lib, qui fonctionnent de la même manière que les fichiers DLL sous Windows.

lib est l'abréviation de Library Ce répertoire stocke la bibliothèque partagée de liens dynamiques la plus basique du système, et sa fonction est similaire au fichier DLL de Windows. Presque toutes les applications nécessitent l'utilisation de ces bibliothèques partagées.

Le dossier /lib est le répertoire des fichiers de bibliothèque et contient tous les fichiers de bibliothèque utiles au système. En termes simples, il s'agit d'un fichier nécessaire à l'exécution correcte d'une application, d'une commande ou d'un processus. Les fichiers de bibliothèque dynamique pour les commandes des répertoires /bin ou /sbin se trouvent dans ce répertoire. Les modules du noyau sont également ici. /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

    Prenons l'exemple de l'exécution de la commande pwd. Son exécution nécessite l'appel de certains fichiers de bibliothèque. Explorons ce qui se passe lorsque la commande pwd est exécutée. Nous devons utiliser la commande strace pour savoir quels fichiers de bibliothèque sont appelés.
Exemple : #🎜🎜#rrreee#🎜🎜#Si vous remarquez, vous constaterez que l'exécution de la commande pwd que nous utilisons nécessite l'appel de deux fichiers de bibliothèque. #🎜🎜##🎜🎜#Informations internes du dossier /lib sous Linux#🎜🎜##🎜🎜#Comme mentionné précédemment, ce dossier contient le fichier cible et quelques fichiers de bibliothèque. Ce serait formidable si vous pouviez comprendre certains sous-fichiers importants de ce dossier. Les informations répertoriées ci-dessous sont basées sur mon propre système et peuvent être différentes pour le vôtre. #🎜🎜#rrreee#🎜🎜#/lib/firmware - Ce dossier contient du code matériel et firmware (Firmware). #🎜🎜##🎜🎜##🎜🎜#Quelle est la différence entre le matériel et le firmware ? #🎜🎜##🎜🎜#Pour que le matériel fonctionne correctement, de nombreux logiciels d'appareils se composent de deux parties logicielles. Le micrologiciel fait référence à la partie de code chargée dans le matériel réel, tandis que le logiciel utilisé pour communiquer entre le micrologiciel et le noyau est appelé pilote. Cela permet au noyau de communiquer directement avec le matériel et de garantir que le matériel fait son travail conformément aux instructions du noyau. #🎜🎜##🎜🎜##🎜🎜#/lib/modprobe.d - Le répertoire de configuration de la commande modprobe. #🎜🎜##🎜🎜#/lib/modules - Tous les modules chargeables du noyau sont stockés dans ce répertoire. Si vous avez plusieurs noyaux, vous verrez un répertoire sous ce répertoire représentant le noyau américain. #🎜🎜##🎜🎜#/lib/hdparm - Contient les paramètres pour le bon fonctionnement des disques durs SATA/IDE. #🎜🎜##🎜🎜#/lib/udev - Espace utilisateur /dev est le gestionnaire de périphériques du noyau Linux. Ce dossier contient tous les fichiers et dossiers liés à udev. Par exemple, Rules.d contient le fichier de spécification udev. #🎜🎜##🎜🎜#Connaissances étendues :#🎜🎜##🎜🎜#Dossier sœur de /lib :/lib32 Le deux dossiers code> et <code>/lib64#🎜🎜##🎜🎜# contiennent des fichiers de bibliothèque spécialement structurés. Ils sont presque identiques au dossier /lib, à l'exception des différences de niveau d'architecture. #🎜🎜##🎜🎜#Autres fichiers de la bibliothèque Linux#🎜🎜#
  • #🎜🎜#/usr/lib - Toutes les bibliothèques de logiciels sont installées ici. Cependant, les fichiers de bibliothèque par défaut du système et les fichiers de bibliothèque du noyau ne sont pas inclus. #🎜🎜##🎜🎜#<li>#🎜🎜#<code>/usr/local/lib - Place des fichiers système supplémentaires. Ces bibliothèques peuvent être utilisées dans diverses applications. #🎜🎜##🎜🎜#
  • #🎜🎜#/var/lib - Bibliothèques et fichiers qui stockent des données dynamiques, telles que les données rpm/dpkg et les jeux enregistrements . #🎜🎜##🎜🎜##🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer