Kiedy uruchamiam netstat --protocol unix
lub lsof -U
widzę, że niektóre ścieżki gniazd unix są poprzedzone symbolem @, na przykład @ / tmp / dbus-qj8V39Yrpa . Następnie po uruchomieniu ls -l /tmp
nie widzę tam pliku o nazwie dbus-qj8V39Yrpa .
Pytanie brzmi: co oznacza ten poprzedzony symbol @? Drugim powiązanym pytaniem jest - gdzie właściwie mogę znaleźć ten plik gniazda UNIX ( @ / tmp / dbus-qj8V39Yrpa ) w systemie plików?
ss
program pokazuje również punkty końcowe gniazd, takie jak „@ / tmp / .X11-unix / X0”Odpowiedzi:
@
Prawdopodobnie wskazuje gniazdo utrzymywany wabstract namespace
które nie należą do pliku w systemie plików.Cytat z interfejsu programistycznego Linuksa autorstwa Michaela Kerriska :
Wyświetlenie wiodącego
null byte
oznaczenia takiego typu gniazda może być trudne, więc może to jest powód, dla którego wiodący@
znak jest.źródło
Zgodnie z
man 7 unix
Wygląda na to, że są „abstrakcyjne” - więc w systemie plików nie ma prawdziwej ścieżki
źródło