Me gustaría crear un archivo especial similar a /dev/null
o /dev/random
, donde el archivo en realidad no existe pero puedes leer de todos modos, excepto que podría establecer un límite en el tamaño aparente del archivo.
Para decirlo de otra manera, quiero crear un archivo especial donde (suponiendo que establezca el límite en 500 GB) cuando "gateo" el archivo, generará los 500 GB del archivo y luego se detendrá. Tiene que actuar igual que un archivo real de 500 GB, pero sin ocupar espacio. El contenido de este archivo no importan, que podría ser todos \0
's como /dev/null
, o simplemente una pequeña cadena que se está enviado una y otra, o lo que sea.
¿Es esto algo factible? La única cosa remotamente cercana que he podido encontrar es hablar de páginas de manual mknod
, pero no fueron muy útiles.
fuente
Más allá de la solución portátil basada en dd / seek ya mencionada, algunos Unix tienen comandos especializados:
Al menos en Solaris , MacOS / X e Irix :
En HP-UX prealloc , en AIX lmktemp. y muchas distribuciones de Linux se han truncado
fuente
Si no necesita buscar de nuevo en el archivo, puede usar una tubería con nombre:
Por supuesto, puede usar cualquier otro comando, incluido un script complejo, para generar datos en la tubería.
fuente
Bueno, con dd, puede especificar un tamaño de bloque y un recuento, y así limitar el tamaño de esta manera:
Si desea leer de él, simplemente póngalo:
En el pasado, cada instalación de Linux que hice incluía algunas herramientas de red, portmap, inet.d y demás, y en inet.d, donde algunos servicios siempre especificaban, uno de ellos se describía / llamaba chargen, si no recuerdo mal.
(... un minuto después ...)
Si. En / etc / services, encontrará
Así que supongo que es un servicio para probar algo, y que envía caracteres, quizás al azar, a través de la red. Solo encuentro /etc/xinet.d/chargen en mi PC. Hay más información:
Sin embargo, no sé cómo usarlo para su propósito.
fuente