Gostaria de criar um arquivo especial semelhante a /dev/null
ou /dev/random
, onde o arquivo realmente não existe, mas você pode ler o mesmo, exceto que, na verdade, eu poderia definir um limite para o tamanho aparente do arquivo.
Em outras palavras, quero criar um arquivo especial em que (supondo que eu defina o limite de 500 GB) quando "catar" o arquivo, ele produzirá todos os 500 GB do arquivo e depois parará. Ele precisa agir da mesma forma que um arquivo real de 500 GB, mas sem ocupar espaço. O conteúdo deste arquivo não importa, pode ser \0
como /dev/null
, ou apenas uma pequena string sendo enviada repetidamente, ou o que for.
Isso é algo que é possível? A única coisa remotamente próxima que consegui encontrar são as páginas de manual mknod
, mas essas não foram muito úteis.
fonte
Além da solução portátil dd / seek já mencionada, alguns Unixes possuem comandos especializados:
Pelo menos no Solaris , MacOS / X e Irix :
No pré -local HP-UX , no AIX lmktemp. e muitas distribuições Linux têm truncado
fonte
Se você não precisar procurar novamente no arquivo, poderá usar um pipe nomeado:
Obviamente, você pode usar qualquer outro comando, incluindo um script complexo, para gerar dados no canal.
fonte
Bem, com o dd, você pode especificar um tamanho de bloco e uma contagem e, assim, limitar o tamanho da seguinte maneira:
Se você quiser ler, basta canalizar:
Antigamente, todas as instalações Linux que eu fazia vinham com algumas ferramentas de rede, portmap, inet.d e outras, e no inet.d, onde alguns serviços sempre especificados, um deles foi descrito / nomeado chargen, se bem me lembro.
(... um minuto depois ...)
Sim. Em / etc / services, você encontra
Então eu acho que é um serviço para testar algo, e que envia caracteres - talvez aleatórios - pela rede. Só encontro o /etc/xinet.d/chargen no meu PC. Há mais informações:
No entanto, não sei como usá-lo para seu propósito.
fonte