Was sind die Verzeichnisse wie Linux, / etc und / var / log?

Einführung

Für diejenigen, die mit \ * Nix OS wie Linux begonnen haben.

Wenn ich Linux zum ersten Mal berühre oder wenn ich nicht daran gewöhnt bin, sagen die Leute "Ich weiß nicht, was wo ist", "Ich weiß nicht, was überhaupt ist" oder "Protokoll lesen", aber wo ist das Protokoll? ?? ?? ?? Ich denke, es gibt Dinge, die ich denke.

Wenn Sie sich daran gewöhnt haben, werden Sie irgendwie wissen und sich daran erinnern, dass "das Protokoll im Verzeichnis" / var / log "zu sein scheint" oder "die Konfigurationsdatei im Verzeichnis" / etc "zu sein scheint".

Eine Geschichte über dieses Verzeichnis.

Filesystem Hierarchy Standard

Dies ist unter dem Namen "Filesystem Hierarchy Standard" standardisiert.

Filesystem Hierarchy Standard / Wikipedia

Aus Wikipedia.

Dateisystemhierarchie-Standard definiert die Hauptverzeichnisse und deren Inhalt in UNIX-basierten Betriebssystemen einschließlich Linux.

Die aktuelle Version von Filesystem Hierarchy Standard ist 3.0.

Filesystem Hierarchy Standard Specifications Archive

The Filesystem Hierarchy Standard (FHS)

Filesystem Hierarchy Standard

Werfen wir einen Blick auf einige Spezifikationen der Version 3.0.

Filesystem Hierarchy Standard Version 3.0

etc.

Ein kurzer Blick auf die Verzeichnisse im Inhaltsverzeichnis dieser Spezifikation (zusätzlich zu Wikipedia usw.) kann den Eindruck erwecken, dass "dieses Verzeichnis gesehen wurde".

Außerdem folgen viele Pakete wie "yum" und "apt", die mit dem Paketmanager jeder Linux-Distribution installiert werden, dem Dateisystem-Hierarchiestandard. Wenn Sie sich also erst einmal daran gewöhnt haben, lautet die Konfigurationsdatei "/ etc." Sie können Schlussfolgerungen wie "Ist es in / foo" oder "Ist das Login / var / log / bar`" ziehen, um das Verständnis zu erleichtern.

Selbst wenn Sie Dateien selbst ablegen oder erstellen, ist es für andere später einfacher, Ihre Absichten zu verstehen, wenn Sie die Verzeichnisstruktur hier kennen.

Umgebungsvariable PATH

Von hier aus ist es ein kleines Extra.

Es wird oft gesagt, dass es durch "PATH" geht. Befehle in Verzeichnissen, die auf diese Umgebungsvariable festgelegt sind, die durch : getrennt sind, ermöglichen es der Shell, den Pfad aufzulösen.

Zeigen wir beispielsweise für eine virtuelle Maschine (CentOS 7), die mit Vagrant gestartet wurde, den Inhalt der Umgebungsvariablen "PATH" an.

$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin

Wenn Sie sich das ansehen, gibt es Pfade unter / usr / local / bin und / usr / local / sbin, und standardmäßig befindet sich in diesen Verzeichnissen nichts außer den Benutzerbefehlen Sie können allgemeine Befehle installieren, die als Ganzes verwendet werden können, indem Sie sie platzieren.

$ ll /usr/local/bin
total 0

docker-compose ist ein Beispiel für die Installation im Verzeichnis / usr / local / bin.

Install Docker Compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Sie können sehen, welche Art von Pfad für allgemeine Benutzer festgelegt ist, indem Sie sich "$ HOME / .bashrc", "$ HOME / .bash_profile", "/ etc / bashrc", "/ etc / profile" usw. ansehen. ..

Übrigens, wenn Sie ein Root-Benutzer sind, ändert sich der Inhalt der Umgebungsvariablen PATH ein wenig.

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Es ist hier in der Nähe.

/sbin

Dies liegt daran, dass / sbin das Verzeichnis ist, in dem die Befehle für Systemadministratoren abgelegt werden.

System binaries

Es kann auch geringfügige Unterschiede geben, z. B. "/ usr / local / sbin" vor "/ usr / local / bin".

/usr/local/sbin:/usr/local/bin

Anzeigen des Servicestatus und der Protokolle mit systemctl / journalctl

Zusätzlich zum Anzeigen der Protokolldatei können Sie mit "systemctl" und "journalctl" den Status von Diensten (Dämonprozess) und Systemprotokollen überprüfen.

Überprüfen Sie den Status des Dienstes.

$ sudo systemctl status [Einheitenname]

Überprüfen Sie die Protokollausgabe des Dienstes oder Betriebssystems.

#Geben Sie die Serviceeinheit an und zeigen Sie das Protokoll an
$ sudo journalctl -u [Einheitenname]

#Kernel-Protokoll anzeigen
$ sudo journalctl -k

#Alle Protokolle ausgeben
$ sudo journalctl

Es ist eine gute Idee, sich allmählich an Linux zu gewöhnen und stärker zu werden, während Sie die Informationen hier gedrückt halten und die Protokolle betrachten.

Und stellen wir uns einem stärkeren Gegner.

Recommended Posts

Was sind die Verzeichnisse wie Linux, / etc und / var / log?
Was sind Linux POSIX Option und GNU Option?
Was ist der Unterschied zwischen Unix und Linux?
Linux: Dateien und Verzeichnisse
Linux (Über Dateien und Verzeichnisse)
Was sind Umgebungsvariablen? (Linux)
Unterschied zwischen Windows- und Linux-Verzeichnissen
[Python] Was sind @classmethod und Dekorateure?
(Anfänger) Was sind Kerne und Threads?
Was sind die "Pipeline" und "{...}" in der Jenkins-Pipeline-Pipeline {...} (für Groovy-Anfänger, für erfahrene Sprachen)