Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Worauf bezieht sich lib unter Linux?

Worauf bezieht sich lib unter Linux?

May 23, 2023 pm 07:20 PM
linux lib

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:~#
Nach dem Login kopieren

如果你注意到的话,会发现我们使用的 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
Nach dem Login kopieren

/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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So öffnen Sie Web.xml So öffnen Sie Web.xml Apr 03, 2025 am 06:51 AM

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Wofür wird der Linux am besten verwendet? Wofür wird der Linux am besten verwendet? Apr 03, 2025 am 12:11 AM

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Wie ist Debian Hadoop -Kompatibilität? Wie ist Debian Hadoop -Kompatibilität? Apr 02, 2025 am 08:42 AM

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Apr 02, 2025 pm 03:48 PM

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Bei der Entwicklung in Go ist die Verbindung zu Oracle -Datenbanken eine übliche Anforderung ...

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

Ich kann mich nicht als Stamm bei MySQL anmelden Ich kann mich nicht als Stamm bei MySQL anmelden Apr 08, 2025 pm 04:54 PM

Die Hauptgründe, warum Sie sich bei MySQL nicht als Root anmelden können, sind Berechtigungsprobleme, Konfigurationsdateifehler, Kennwort inkonsistent, Socket -Dateiprobleme oder Firewall -Interception. Die Lösung umfasst: Überprüfen Sie, ob der Parameter Bind-Address in der Konfigurationsdatei korrekt konfiguriert ist. Überprüfen Sie, ob die Root -Benutzerberechtigungen geändert oder gelöscht und zurückgesetzt wurden. Stellen Sie sicher, dass das Passwort korrekt ist, einschließlich Fall- und Sonderzeichen. Überprüfen Sie die Einstellungen und Pfade der Socket -Dateiberechtigte. Überprüfen Sie, ob die Firewall Verbindungen zum MySQL -Server blockiert.

libv sind zwei libv sind zwei Apr 03, 2025 pm 08:03 PM

Ich habe ein Projekt namens Lua-Libuv entwickelt und freue mich, meine Erfahrungen zu teilen. Die ursprüngliche Absicht des Projekts besteht darin, zu untersuchen, wie Libuv (eine in C geschriebene asynchrone E/A -Bibliothek) verwendet wird, um einen einfachen HTTP -Server zu erstellen, ohne die C -Sprache ausführlich lernen zu müssen. Mit Hilfe von ChatGPT habe ich den Basiscode von http.c. Beim Umgang mit anhaltenden Verbindungen habe ich zum richtigen Zeitpunkt erfolgreich die Schließung der Verbindung und die Freilegung von Ressourcen implementiert. Zuerst habe ich versucht, einen einfachen Server zu erstellen, der das Hauptprogramm beendete, indem ich die Verbindung schließt, aber ich hatte einige Probleme. Ich habe versucht, Datenblöcke mit Streaming zu senden, und während es funktioniert, blockiert dies den Haupt -Thread. Am Ende habe ich mich entschlossen, diesen Ansatz aufzugeben, weil mein Ziel nicht darin bestand, eine Tiefe der C -Sprache zu lernen. Endlich, ich

See all articles