Eles são indicados no parágrafo. Processos, dispositivos e soquetes de rede (e outros). Estes são objetos gerenciados pelo kernel, mas aparecem como itens no sistema de arquivos e você pode acessá-los através de caminhos específicos. Seu comportamento também se assemelha a arquivos regulares em muitos aspectos. Por exemplo, você pode ler e gravar em um arquivo de dispositivo (veja abaixo) exatamente como faz com arquivos regulares.
Processos :
Cada processo tem sua pasta /proc/$PPID/ , onde $PPID é o id do processo. Você pode encontrar a linha de comando para o processo em /proc/$PPID/cmdline , por exemplo.
Dispositivos :
Os dispositivos aparecem como arquivos do dispositivo . Por exemplo, se o disco rígido estiver conectado a um controlador SCSI, é provável que você o encontre em /dev/sda e a primeira partição como /dev/sda1 . Portanto, se você ler /dev/sda , estará lendo os dados brutos no disco. Isso pode ser útil ao criar uma imagem.
Soquetes de rede :
bash usa /dev/tcp/$host/$port para identificar portas TCP e similares para o UDP. Em geral, é possível encontrar informações sobre soquetes em /proc/net/{tcp,udp}
Outros :
A entrada padrão também é um arquivo e você pode encontrá-lo em /dev/stdin , semelhante à saída padrão. Você pode ler o arquivo /dev/zero para obter zeros e de /dev/random para obter números aleatórios realmente de alta qualidade (embora muito lentamente). O pipe é usado com frequência no shell e você também pode criar um canal nomeado . Existem muitos mais.
A resposta acima é baseada no Ubuntu LTS 16.04, outras versões do Linux / Unix podem ter maneiras diferentes de indexar esses objetos.