In Linux, lib is the library file directory, which contains all library files useful to the system; library files are files required for the correct execution of applications, commands, or processes. The role of lib is similar to the DLL file in Windows. Almost all applications need to use the shared library files in the lib directory.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
In Linux, what is the /lib
folder?
lib is the abbreviation of Library. This directory stores the most basic dynamic link shared library of the system, and its function is similar to the DLL file in Windows. Almost all applications require these shared libraries. The
/lib
folder is the library file directory and contains all library files useful to the system. Simply put, it is a file that is required for the correct execution of an application, command, or process. The dynamic library files for commands in the /bin
or /sbin
directories are exactly in this directory. Kernel modules are also here.
Take pwd command execution as an example. Executing it requires calling some library files. Let’s explore what happens when the pwd command is executed. We need to use the strace command to find out which library files are called.
Example:
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:~#
If you notice, you will find that the execution of the pwd command we use requires calling two library files.
Internal information of the /lib
folder in Linux
As mentioned before, this folder contains the target file and some library files. It would be great if you could understand some important sub-files of this folder. The information listed below is based on my own system and may be different for yours.
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
- This folder contains some hardware and firmware (Firmware) code.
What is the difference between hardware and firmware?
In order to make the hardware run normally, many device software are composed of two parts of software. The part of the code that is loaded into the actual hardware is the firmware, and the software used to communicate between the firmware and the kernel is called a driver. This allows the kernel to communicate directly with the hardware and ensure that the hardware completes the work assigned by the kernel.
/lib/modprobe.d
- The configuration directory of the modprobe command.
/lib/modules
- All loadable kernel modules are stored in this directory. If you have multiple kernels, you will see a directory under this directory representing the US kernel.
/lib/hdparm
- Contains parameters for correct operation of SATA/IDE hard drives.
/lib/udev
- User space /dev is the Linux kernel device manager. This folder contains all udev-related files and folders. For example, rules.d contains the udev specification file.
Extended knowledge:
/lib’s sister folder: / The two folders lib32
and /lib64
contain specially structured library files. They are almost identical to the /lib
folders, except for the architecture level differences.
Linux Other library files
/usr/lib
- All software libraries are installed here. However, the system default library files and kernel library files are not included.
/usr/local/lib
- Places additional system files. These libraries can be used in a variety of applications.
/var/lib
- Libraries and files that store dynamic data, such as rpm/dpkg
data and game logs.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What is the directory of lib in linux?. For more information, please follow other related articles on the PHP Chinese website!