Was bedeutet dieser Befehl ls -l test.conf -rw-r--r-- l root root?

Was bedeutet dieser Befehl ls -l test.conf -rw-r--r-- l root root?
root@ubuntu:/etc/openvpn# ls -l test.conf -rw-r--r-- l root root 791 Mar 20 09:23 test.conf

Was bedeutet der obige Befehl?

Antwort1

Das ist kein Befehl. EsenthältEin Kommando.

Es handelt sich um eine Eingabeaufforderung, gefolgt von einem Befehl und der Ausgabe des Befehls. Der Befehl selbst lautet:

ls -l test.conf

Dieser Befehl zeigt Informationen über die Datei namens an, die test.confsich imAktuelles Verzeichnis.Der lsBefehlzeigt (oderListen) Informationen zu Dateien. Das -lFlag sorgt dafür, dass die Informationen in Langform angezeigt werden, anstatt nur den Dateinamen anzuzeigen.

( lsohne ein Flag wie -lwird am häufigsten verwendet, um mehrere Dateien aufzulisten oder festzustellen, ob eine Datei existiert, kann aber auch mit einer Datei verwendet werden, von deren Existenz bekannt ist; standardmäßig wird in Ubuntu bei der Ausgabe hervorgehobenls filenamefilenameund zwar auf eine Weise, die erkennen lässt, um welche Art von Datei es sich handelt. Beispielsweise wird eine bestimmte Farbe verwendet, wenn es sich um ein Verzeichnis handelt, und eine andere, wenn es als ausführbar gekennzeichnet ist.)

Die Ausgabe ist:

-rw-r--r-- l root root 791 Mar 20 09:23 test.conf

Das bedeutet, die Datei:

  • ist keinVerzeichnis( -rw-r--r--beginnt nicht mit d)
  • ist nicht-setuidund nicht setgid (kein sin -rw-r--r--) und nicht-klebrig(NEIN t)
  • ist lesbar und beschreibbar durch seinen Besitzer ( rw-für Besitzer), aber nur lesbar durch andere Benutzer ( r--für Gruppenmitglieder, r--wiederum für andere) — siehedie Community-Dokumentation zu Berechtigungen
  • Istim Besitzdurch den Benutzerroot(mit rootalsGruppeIdentität auch)
  • ist 791BytesInGröße
  • meldet, dass es zuletzt am 20. März um 9:23 Uhr geändert (oder erstellt) wurde
  • hat den Namentest.conf

DerAnfangder Zeile ist eine Eingabeaufforderung; dies wird dem Benutzer in einer Shell angezeigt, um ihn darauf hinzuweisen, dass er einen Befehl eingeben kann. Eingabeaufforderungen werden häufig so konfiguriert, dass sie dem Benutzer hilfreiche Informationen liefern. Hier lautet die Eingabeaufforderung:

root@ubuntu:/etc/openvpn#

Dies bedeutet, dass der aktuelle Benutzer ist root, der Hostname der Maschine ist ubuntu(was normalerweise bedeutet, dass dies einLive-CD/DVD/USBSystem, aber jemand könnte seine Maschine ubuntuauch in einem installierten System benennen), und das aktuelle Verzeichnis ist /etc/openvpn(wo sich die Konfigurationsdaten fürOpenVPNgespeichert sind, siehe auch dieUbuntu OpenVPN-Dokumentation).

Das #Zeichen zeigt an, dass es sich um einSuperuserShell (was zu erwarten ist, da sie root gehört,der Superuser); andernfalls wäre es so gewesen $(beachten Sie jedoch, dass diese Konvention nicht überall befolgt wird und einige Shells standardmäßig auf gesetzt sind, %was jedoch nichts über die Fähigkeiten der Shell aussagt).

Antwort2

Ich glaube, Sie haben ein Missverständnis mit demStrukturdieser Zeile.

Der erste Satz ist bezeichnendder Benutzerzu einem bestimmtenComputerdas ist in der erwähntenOrdner:

root@ubuntu:/etc/openvpn#

Hier hast du:

  1. Benutzer = "root"
  2. Maschinenname = "ubuntu"
  3. Standort = "/etc/openvpn"

und die entsprechenden Trennzeichen zwischen ihnen sind @, :und#

Der Befehl, der nach dem letzten Trennzeichen ( #) steht, lautet:

ls -l test.conf

Sie erhalten folgende Ausgabe:

-rw-r--r-- l root root 791 Mar 20 09:23 test.conf

verwandte Informationen