O que são objetos semelhantes a arquivos no linux?

0

Filosofia do Linux

O Linux usa muito o sistema operacional UNIX porque foi escrito para ser uma versão livre e de código aberto do UNIX. Os arquivos são armazenados em um sistema de arquivos hierárquico, com o nó superior do sistema sendo root ou simplesmente "/". Sempre que possível, o Linux disponibiliza seus componentes por meio de arquivos ou objetos semelhantes a arquivos . Processos, dispositivos e soquetes de rede são todos representados por objetos semelhantes a arquivos e geralmente podem ser trabalhados com os mesmos utilitários usados para arquivos comuns.

Plz me explica em detalhes qual é a linha " Sempre que possível, o Linux disponibiliza seus componentes através de arquivos ou objetos que se parecem com arquivos " e o que é " objetos tipo arquivo "com um exemplo apropriado.

    
por coding_ninza 13.01.2018 / 10:46

1 resposta

4

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.

    
por 13.01.2018 / 11:16