pt.phhsnews.com


pt.phhsnews.com / O que significa “Tudo é um arquivo” no Linux

O que significa “Tudo é um arquivo” no Linux


Um dos recursos que definem o Linux e outros sistemas operacionais semelhantes ao UNIX é que “tudo é um arquivo”. simplificação, mas entender o que isso significa ajudará você a entender como o Linux funciona.

Muitas coisas no Linux aparecem em seu sistema de arquivos, mas na verdade elas não são arquivos. Eles são arquivos especiais que representam dispositivos de hardware, informações do sistema e outras coisas - incluindo um gerador de números aleatórios.

Esses arquivos especiais podem estar localizados em sistemas de arquivos pseudo ou virtuais, como / dev, que contém arquivos especiais que representam dispositivos e / proc, que contém arquivos especiais que representam informações de sistema e processo.

/ proc

Por exemplo, digamos que você queira encontrar informações sobre sua CPU. O diretório / proc contém um arquivo especial - / proc / cpuinfo - que contém esta informação.

Você não precisa de um comando especial que informe sua informação da CPU - você pode apenas ler o conteúdo deste arquivo usando qualquer comando padrão. que funciona com arquivos de texto simples. Por exemplo, você pode usar o comando cat / proc / cpuinfo para imprimir o conteúdo deste arquivo no terminal - imprimindo as informações da CPU no terminal. Você poderia até mesmo abrir / proc / cpuinfo em um editor de texto para visualizar seu conteúdo.

Lembre-se, / proc / cpuinfo não é realmente um arquivo de texto contendo esta informação - o kernel Linux e o sistema de arquivos proc estão expondo esta informação nós como um arquivo. Isso nos permite usar ferramentas familiares para visualizar e trabalhar com as informações.

O diretório / proc também contém outros arquivos similares, por exemplo:

  • / proc / uptime - Expõe o tempo de atividade do seu kernel Linux - em outras palavras , por quanto tempo o seu sistema esteve ligado sem desligar.
  • / proc / version - Expõe a versão do seu kernel Linux.

/ dev

No diretório / dev, você encontrará arquivos que representam dispositivos - bem como arquivos que representam outras coisas especiais. Por exemplo, / dev / cdrom é a sua unidade de CD-ROM. / dev / sda representa o seu primeiro disco rígido, enquanto / dev / sda1 representa a primeira partição do seu primeiro disco rígido

Deseja montar o seu CD-ROM? Execute o comando mount e especifique / dev / cdrom como o dispositivo que você deseja montar. Quer particionar seu primeiro disco rígido? Execute um utilitário de particionamento de disco e especifique / dev / sda como o disco rígido que você deseja editar. Quer formatar a primeira partição no seu primeiro disco rígido? Execute um comando de formatação e diga-o para formatar /dev/sda1.

Como você pode ver, expor esses dispositivos como parte do sistema de arquivos tem suas vantagens. O sistema de arquivos fornece um “espaço de nome” consistente que todos os aplicativos podem usar para endereçar e acessar os dispositivos.

/ dev / null, / dev / random e / dev / zero

O sistema de arquivos / dev não faz t apenas contém arquivos que representam dispositivos físicos. Aqui estão três dos dispositivos especiais mais notáveis ​​que ele contém:

  • / dev / null - Descarta todos os dados gravados nele - pense nele como uma lixeira ou buraco negro. Se você já viu um comentário dizendo para enviar reclamações para / dev / null - essa é uma maneira geek de dizer “jogue-as no lixo”.
  • / dev / random - Produz aleatoriedade usando o ruído ambiental. É um gerador de números aleatórios que você pode tocar.
  • / dev / zero - Produz zeros - um fluxo constante de zeros.

Se você pensar nesses três como arquivos, não verá um uso para eles. Em vez disso, pense nelas como ferramentas.

Por exemplo, por padrão, os comandos do Linux produzem mensagens de erro e outras saídas que eles imprimem na saída padrão, normalmente o terminal. Se você deseja executar um comando e não se importar com sua saída, é possível redirecionar essa saída para / dev / null. Redirecionar a saída de um comando para / dev / null imediatamente o descarta. Em vez de cada comando implementar seu próprio “modo silencioso”, você pode usar este método com qualquer comando

comando> / dev / null

Se você quisesse uma fonte de aleatoriedade - digamos, para gerar uma chave de criptografia, você não precisaria escrever seu próprio gerador de números aleatórios - você poderia usar / dev / random.

Para apagar o conteúdo de um disco rígido escrevendo 0's nele, você não precisa de um utilitário especial dedicado a zerar uma unidade - você poderia usar utilitários padrão e / dev / zero. Por exemplo, o comando dd lê de um local e grava em outro local. O seguinte comando iria ler zeros de / dev / zero e gravá-los diretamente na primeira partição do disco rígido do seu sistema, apagando completamente o seu conteúdo.

( Aviso : Este comando irá apagar todos os dados no seu primeira partição se você executá-lo.Somente execute este comando se você quiser destruir dados.)

dd if = / dev / zero de = / dev / sda1

Aqui estamos usando o dd com arquivos especiais (/ dev / zero e / dev / sda1), mas também podemos usar o dd para ler e gravar em arquivos reais. O mesmo comando funciona tanto para manipular dispositivos diretamente quanto para trabalhar com arquivos.

Esclarecimento

Na prática, é mais correto dizer que "tudo é um fluxo de bytes" do que "tudo é um arquivo". não é um arquivo, mas certamente é um fluxo de bytes. E, embora essas coisas tecnicamente não sejam arquivos, elas são acessíveis no sistema de arquivos - o sistema de arquivos é um “espaço de nome” universal, onde tudo é acessível. Quer acessar um gerador de números aleatórios ou ler diretamente de um dispositivo? Você encontrará ambos no sistema de arquivos; nenhuma outra forma de endereçamento é necessária

É claro que algumas coisas não são realmente arquivos - os processos em execução no seu sistema não fazem parte do sistema de arquivos. "Tudo é um arquivo" é impreciso, mas muitas coisas se comportam como arquivos.


Como compartilhar sua biblioteca de mídia Plex com amigos

Como compartilhar sua biblioteca de mídia Plex com amigos

Você investiu muita energia na coleta e organização de tantos filmes e programas de TV no seu Plex Media Server, não seria? ótimo se você pudesse compartilhar todo esse conteúdo com seus amigos? Com alguns pequenos ajustes, você pode mostrar a você como Por que você gostaria de fazer isso Se você é como nós, você provavelmente gastou muito tempo construindo sua mídia centre e cuidadosamente curando filmes e programas que você realmente ama, complete com uma fanart cuidadosamente escolhida para acompanhar.

(how-to)

Como corrigir o problema “Quota Exceeded” do Kodi no YouTube

Como corrigir o problema “Quota Exceeded” do Kodi no YouTube

Você está farto do plug-in do Kodi no YouTube constantemente e dá mensagens de erro enigmáticas como “Exception in ContentProvider” e “Quota Exceeded”? Veja como resolver esse problema com apenas alguns minutos de trabalho. Mostramos a você como assistir TV ao vivo no Kodi, mas, para ser honesto, não faço isso com muita frequência.

(how-to)