我们在之前的文章中分析过其他重要的系统目录,例如/bin、/boot、/dev、/etc等,大家可以根据自己的兴趣点击下面的链接了解更多.在本文中,让我们看一下/lib目录中的内容。目录结构分析:/bin文件夹目录结构分析:/boot文件夹目录结构分析:/dev文件夹目录结构分析:/etc文件夹目录结构分析:/lost+found文件夹目录结构分析:/home文件夹/lib文件夹是什么在Linux中?/lib文件夹是库文件目录,里面包含了所有对系统有用的库文件。简单来说,它是应用程序、命令或进程正确执行所需的文件。/bin或/sbin目录中的命令的动态库文件位于此目录中。内核模块也在这里。以执行pwd命令为例。执行它需要调用一些库文件。让我们探讨执行pwd命令时会发生什么。我们需要使用strace命令来找出调用了哪些库文件。示例:root@linuxnix:~#strace-eopenpwdopen("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC)=3open("/lib/x86_64-linux-gnu/libc.so.6",O_RDONLY|O_CLOEXEC)=3open("/usr/lib/locale/locale-archive",O_RDONLY|O_CLOEXEC)=3/root+++exitedwith0+++root@linuxnix:~#如果你注意到了,我们使用了pwd的执行命令需要调用两个库文件。Linux中/lib文件夹的内部信息前面提到过,这个文件夹包含了目标文件和一些库文件。如果你能看懂这个文件夹的一些重要的子文件,那一定是极好的。以下列表基于我自己的系统,您的可能有所不同。root@linuxnix:/lib#找到.-maxdepth1-typed./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数据和游戏日志。
