Что означает «s» в srwxr-xr-x в выводе «ls»?


18

У меня есть запись в каталоге следующим образом

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

Я не знаю, что sозначает, а также это странное имя файла, и мне интересно, для чего это хорошо. Может ли это быть мусором или это что-то значимое?


Удаленно связанный вопрос: askubuntu.com/questions/626634/converting-a-file-to-directory/… На ответ есть скрипт, который объясняет и вычисляет режимы inode.
Helio

Ответы:


28

Из руководства :ls

Тип файла - один из следующих символов:

'-' обычный файл
'b' блокировать специальный файл
'c' символьный специальный файл
'C' высокопроизводительный («непрерывные данные») файл
«d» каталог
«D» дверь (Solaris 2.5 и выше)
«l» символическая ссылка
«M «автономный (« перенесенный ») файл (Cray DMF);
« n »специальный сетевой файл (HP-UX)
« p »FIFO (именованный канал)
« P »порт (Solaris 10 и выше)
« s »сокет
«? » какой-то другой тип файла

Итак, это сокет Unix . Это может иметь смысл, поскольку сокеты создаются процессами для прослушивания запросов. Используйте, lsofчтобы определить, какой процесс использует этот сокет.

Вам может понадобиться использовать sudoс lsof, если сокет открыт процессом, выполняющимся от имени другого пользователя:

$ 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
Вы также можете использовать fuserдля определения процессов, используя файл.
садовник

8

Вы также можете использовать fileкоманду, чтобы определить ее тип:

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

или даже mimetype:

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

1

Кроме того, этот тип файла также называется специальным файлом, в UNIX существует несколько специальных файлов (все они перечислены как часть руководства ls, полезный фрагмент предоставлен muru).

Далее читайте - https://www.linux.com/blog/file-types-linuxunix-explained-detail


3
Ваш ответ не является неправильным. Чтобы сделать его лучше, рассмотрите возможность добавления дополнительной информации к вашему ответу, например, что это файл сокета. Ссылки могут предоставить дополнительную информацию, но ваш ответ должен быть в состоянии стоять самостоятельно без ссылки и при этом давать исчерпывающий ответ.
Клейтон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.