de.phhsnews.com


de.phhsnews.com / Was bedeutet "Alles ist eine Datei" in Linux?

Was bedeutet "Alles ist eine Datei" in Linux?


Eines der definierenden Merkmale von Linux und anderen UNIX-ähnlichen Betriebssystemen ist, dass "alles eine Datei ist." Dies ist ein Vereinfachung, aber zu verstehen, was es bedeutet, wird Ihnen helfen zu verstehen, wie Linux funktioniert.

Viele Dinge unter Linux erscheinen in Ihrem Dateisystem, aber sie sind keine Dateien. Sie sind spezielle Dateien, die Hardwaregeräte, Systeminformationen und andere Dinge darstellen - einschließlich eines Zufallszahlengenerators.

Diese speziellen Dateien befinden sich möglicherweise in Pseudo- oder virtuellen Dateisystemen wie / dev, die spezielle Dateien für Geräte enthalten und / proc, die spezielle Dateien enthalten, die System- und Prozessinformationen darstellen.

/ proc

Nehmen wir beispielsweise an, Sie möchten Informationen über Ihre CPU finden. Das Verzeichnis / proc enthält eine spezielle Datei - / proc / cpuinfo - die diese Informationen enthält

Sie benötigen keinen speziellen Befehl, der Ihnen Ihre CPU-Informationen mitteilt - Sie können den Inhalt dieser Datei einfach mit jedem Standardbefehl lesen das funktioniert mit Nur-Text-Dateien. Sie könnten zum Beispiel den Befehl cat / proc / cpuinfo verwenden, um den Inhalt dieser Datei auf das Terminal zu drucken und Ihre CPU-Informationen auf dem Terminal auszugeben. Sie können / proc / cpuinfo sogar in einem Texteditor öffnen, um dessen Inhalt anzuzeigen.

Denken Sie daran, dass / proc / cpuinfo keine Textdatei ist, die diese Informationen enthält - der Linux-Kernel und das proc-Dateisystem geben diese Informationen aus uns als eine Datei. Auf diese Weise können wir vertraute Werkzeuge verwenden, um die Informationen anzuzeigen und mit ihnen zu arbeiten.

Das Verzeichnis / proc enthält auch andere ähnliche Dateien, zum Beispiel:

  • / proc / uptime - Gibt die Betriebszeit Ihres Linux-Kernels an , wie lange Ihr System läuft, ohne herunterzufahren.
  • / proc / version - Macht die Version Ihres Linux-Kernels sichtbar.

/ dev

Im Verzeichnis / dev finden Sie Dateien, die Geräte darstellen - Sowie Dateien, die andere besondere Dinge darstellen. Zum Beispiel ist / dev / cdrom das CD-ROM-Laufwerk. / dev / sda stellt Ihre erste Festplatte dar, während / dev / sda1 die erste Partition auf Ihrer ersten Festplatte darstellt.

Möchten Sie Ihre CD-ROM mounten? Führen Sie den Befehl mount aus und geben Sie / dev / cdrom als das Gerät an, das Sie mounten möchten. Möchten Sie Ihre erste Festplatte partitionieren? Führen Sie ein Festplattenpartitionierungsdienstprogramm aus, und geben Sie / dev / sda als Festplatte an, die Sie bearbeiten möchten. Möchten Sie die erste Partition auf Ihrer ersten Festplatte formatieren? Führen Sie einen Formatierungsbefehl aus und weisen Sie ihn dem Format /dev/sda1.

zu. Wie Sie sehen, hat das Freilegen dieser Geräte als Teil des Dateisystems seine Vorteile. Das Dateisystem bietet einen konsistenten "Namespace", den alle Anwendungen verwenden können, um die Geräte zu adressieren und auf sie zuzugreifen.

/ dev / null, / dev / random und / dev / zero

Das / dev-Dateisystem funktioniert nicht t enthalten nur Dateien, die physische Geräte darstellen. Hier sind drei der bemerkenswertesten Spezialgeräte, die es enthält:

  • / dev / null - Verwirft alle Daten, die darauf geschrieben werden - denken Sie an es als Mülleimer oder schwarzes Loch. Wenn du jemals einen Kommentar siehst, der dir sagt, dass du Beschwerden an / dev / null schicken sollst - das ist eine geekige Art zu sagen "wirf sie in den Papierkorb."
  • / dev / random - Produziert Zufälligkeit mit Umgebungsrauschen. Es ist ein Zufallszahlengenerator, den Sie anzapfen können.
  • / dev / zero - Erzeugt Nullen - einen konstanten Strom von Nullen.

Wenn Sie diese drei als Dateien betrachten, sehen Sie keine Verwendung für sie. Betrachten Sie sie stattdessen als Werkzeuge.

Zum Beispiel erzeugen Linux-Befehle standardmäßig Fehlermeldungen und andere Ausgaben, die sie an die Standardausgabe, normalerweise das Terminal, ausgeben. Wenn Sie einen Befehl ausführen und sich nicht um seine Ausgabe kümmern möchten, können Sie diese Ausgabe an / dev / null umleiten. Wenn Sie die Ausgabe eines Befehls an / dev / null umleiten, wird diese sofort verworfen. Anstatt dass jeder Befehl seinen eigenen "stillen Modus" implementiert, können Sie diese Methode mit jedem Befehl verwenden.

command> / dev / null

Wenn Sie eine Quelle der Zufälligkeit wünschen - zum Beispiel zum Erzeugen eines Verschlüsselungsschlüssels, Sie müssten nicht Ihren eigenen Zufallszahlengenerator schreiben - Sie könnten / dev / random verwenden.

Um den Inhalt einer Festplatte zu löschen, indem man Nullen schreibt, braucht man kein spezielles Dienstprogramm, um ein Laufwerk auf Null zu setzen - man könnte Standard-Utilities und / dev / zero verwenden. Zum Beispiel liest der Befehl dd von einem Ort und schreibt an einen anderen Ort. Der folgende Befehl würde Nullen von / dev / zero lesen und sie direkt auf die erste Festplattenpartition auf Ihrem System schreiben, wobei der Inhalt komplett gelöscht wird.

( Warnung : Dieser Befehl löscht alle Daten auf Ihrer erste Partition, wenn du sie ausführst Führe diesen Befehl nur aus, wenn du Daten zerstören willst.)

dd if = / dev / zero von = / dev / sda1

Hier benutzen wir dd mit speziellen Dateien (/ dev / zero und / dev / sda1), aber wir könnten auch dd verwenden, um von tatsächlichen Dateien zu lesen und in sie zu schreiben. Derselbe Befehl funktioniert sowohl für das direkte Bearbeiten von Geräten als auch für das Arbeiten mit Dateien.

Erläuterung

In der Praxis ist es genauer zu sagen "Alles ist ein Byte-Strom" als "Alles ist eine Datei". / Dev / random ist keine Datei, aber es ist sicherlich ein Stream von Bytes. Und obwohl diese Dinge technisch keine Dateien sind, sind sie im Dateisystem zugänglich - das Dateisystem ist ein universeller "Namensraum", in dem alles zugänglich ist. Möchten Sie auf einen Zufallsgenerator zugreifen oder direkt von einem Gerät lesen? Sie finden beide im Dateisystem; keine andere Form der Adressierung erforderlich.

Natürlich sind einige Dinge keine Dateien - Prozesse, die auf Ihrem System laufen, sind nicht Teil des Dateisystems. "Alles ist eine Datei" ist ungenau, aber viele Dinge verhalten sich wie Dateien.


So verwenden Sie die neue geteilte Windows-Ansicht von OS X

So verwenden Sie die neue geteilte Windows-Ansicht von OS X

Unter Mac OS X 10.11 bietet El Capitan eine ganze Reihe neuer Funktionen, vor allem die Windows-Verwaltung mit geteilten Ansichten. Ja, das ist richtig, OS X gibt Ihnen endlich die Möglichkeit, Windows gleichmäßig auf Ihrem Bildschirm zu teilen, genau wie Windows. Nicht, dass wir uns beschweren, die Fähigkeit, Fenster wie Windows zu verwalten, auch wenn es nicht ganz so ist als robust, ist eine lange willkommene Änderung, über die sich viele konvertierte Windows-Benutzer oft wundern.

(how-to)

Wie man "Seitenfehler in nicht ausgelagertem Gebiet" repariert Fehler

Wie man "Seitenfehler in nicht ausgelagertem Gebiet" repariert Fehler

Ich habe kürzlich an einem Client-PC gearbeitet und musste ihn wegen einer neuen Anwendungsinstallation neu starten. Nach dem Neustart blutete der Computer jedoch und zeigte einen PAGE_FAULT_IN_NONPAGED_AREA-Fehler an.Zuerst dachte ich, dass dies etwas mit der Anwendung zu tun hat, die wir gerade installiert haben, also habe ich beschlossen, den Computer im abgesicherten Modus neu zu starten und die App zu deinstallieren.

(How-to)