O que significam os 's' em srwxr-xr-x na saída 'ls'?

18

Eu tenho uma entrada de diretório da seguinte maneira

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

Eu não sei o que ssignifica e também esse é um nome de arquivo estranho e me pergunto para que serve. Isso poderia ser lixo ou é algo significativo?

hol
fonte
Pergunta relacionada remotamente: askubuntu.com/questions/626634/converting-a-file-to-directory/… Na resposta, há um script que explica e calcula os modos de inode.
Helio

Respostas:

28

A partir do lsmanual de :

O tipo de arquivo é um dos seguintes caracteres:

'-' arquivo regular
'b' bloqueia o arquivo especial
'c' arquivo especial de caracteres
'C' arquivo de alto desempenho (“dados contíguos”) diretório
'd' diretório
'D' porta 'D' (Solaris 2.5 e superior)
'l' link simbólico
'M Arquivo 'off-line (' migrado ') (Cray DMF)
' e 'arquivo especial de rede (HP-UX)
' p 'FIFO (pipe nomeado)
Porta' P '(Solaris 10 e superior)
' soquete
'?' algum outro tipo de arquivo

Então, isso é um soquete Unix . Pode ser significativo, pois os soquetes são criados por processos para atender solicitações. Use lsofpara determinar qual processo está usando esse soquete.

Pode ser necessário usá-lo sudocom lsof, se o soquete for aberto por um processo em execução como outro usuário:

$ 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
muru
fonte
3
Você também pode usar fuserpara determinar os processos usando um arquivo.
Gardenhead 29/05
8

Você também pode usar o filecomando para determinar seu tipo:

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

ou até mimetype:

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

Para adicionar, esse tipo de arquivo também é chamado de arquivo especial. Existem vários arquivos especiais no UNIX (todos eles são listados como parte do manual ls, um snippet útil é fornecido pelo muru).

Leia mais - https://www.linux.com/blog/file-types-linuxunix-explained-detail

Venny
fonte
3
Sua resposta não está errada. Para melhorar, considere adicionar informações adicionais à sua resposta, como se fosse um arquivo de soquete. Os links podem fornecer informações extras, mas sua resposta deve ser independente sem o link e ainda assim fornecer uma resposta completa.
226 Clayton