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.
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:
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.
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:
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.
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.
Solltest du deinen eigenen PC bauen?
Es gab eine Zeit, in der jeder Computerfreak seinen eigenen PC zu bauen schien. Während die Massen eMachines und Compaqs kauften, bauten Geeks ihre eigenen leistungsstärkeren und zuverlässigeren Desktop-Maschinen für billiger. Aber macht das noch Sinn? Der Bau eines eigenen PCs bietet immer noch so viel Flexibilität bei der Wahl der Komponenten wie zuvor, aber vorkompilierte Computer sind zu äußerst wettbewerbsfähigen Preisen erhältlich.
Sollten Sie jemals einen Windows-Dienst deaktivieren?
Wenn Sie schon einmal nach Möglichkeiten gesucht haben, Ihren Windows-Computer schneller zu machen, sind Sie wahrscheinlich auf mehrere Websites gestoßen, die vorschlagen, bestimmte Windows-Dienste zu deaktivieren oder zu deaktivieren. Andere Websites sagen, dass es gefährlich ist und Sie sollten sich nie mit Windows-Diensten anlegen. A