Was bedeutet das 's' in srwxr-xr-x in der 'ls'-Ausgabe?


18

Ich habe einen Verzeichniseintrag wie folgt

srwxr-xr-x  1 ubuntu ubuntu    0 May 29 05:03 0.0.0.0=

Ich weiß nicht, was das sbedeutet und auch das ist ein seltsamer Dateiname und ich frage mich, wofür es gut ist. Könnte das Müll sein oder ist es etwas Sinnvolles?


Remote-bezogene Frage: askubuntu.com/questions/626634/converting-a-file-to-directory/… Auf der Antwort befindet sich ein Skript, das die Inode-Modi erklärt und berechnet.
Helio

Antworten:


28

Aus dem lsHandbuch :

Der Dateityp ist eines der folgenden Zeichen:

'-' reguläre Datei
'b' Spezialdatei blockieren
'c' Sonderzeichendatei
'C' Hochleistungsdatei (“zusammenhängende Daten”)
'd' Verzeichnis
'D' Tür (Solaris 2.5 und höher)
'l' symbolische Verknüpfung
'M 'Offline- ("migrierte") Datei (Cray DMF)
' n 'Netzwerk-Spezialdatei (HP-UX)
' p 'FIFO (Named Pipe)
' P'-Port (Solaris 10 und höher)
's' Socket
'?' ein anderer Dateityp

Das ist also ein Unix-Socket . Dies kann sinnvoll sein, da Sockets von Prozessen erstellt werden, die auf Anforderungen warten. Hiermit lsofbestimmen Sie, welcher Prozess diesen Socket verwendet.

Sie können verwenden müssen sudomit lsof, wenn die Steckdose durch einen Prozess als ein anderer Benutzer ausgeführt wird geöffnet:

$ lsof /run/snapd.socket
$ sudo lsof /run/snapd.socket
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
systemd     1 root  197u  unix 0xffff99dc9afa3000      0t0 191670 /run/snapd.socket type=STREAM
snapd   18626 root    8u  unix 0xffff99dc9afa3000      0t0 191670 /run/snapd.socket type=STREAM

3
Sie können fuserdie Prozesse auch mithilfe einer Datei bestimmen.
Gardenhead

8

Sie können den fileBefehl auch verwenden, um den Typ zu bestimmen:

$ file /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: socket

oder sogar mimetype:

$ mimetype /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: inode/socket

1

Aufzuaddieren, wird dieser Dateityp auch als spezielle Datei gibt es mehrere spezielle Dateien existieren in UNIX (alle von ihnen sind aufgeführt als Teil ls Handbuch, nützliche Schnipsel durch muru zur Verfügung gestellt).

Weitere Informationen finden Sie unter https://www.linux.com/blog/file-types-linuxunix-explained-detail


3
Ihre Antwort ist nicht falsch. Um dies zu verbessern, sollten Sie der Antwort zusätzliche Informationen hinzufügen, z. B. eine Socket-Datei. Links können zusätzliche Informationen enthalten, Ihre Antwort sollte jedoch auch ohne den Link auskommen und dennoch eine gründliche Antwort enthalten.
Clayton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.