Я хотел бы создать специальный файл, похожий на /dev/null
или /dev/random
, где файл на самом деле не существует, но вы все равно можете прочитать из него, за исключением того, что я мог бы фактически установить ограничение на видимый размер файла.
Другими словами, я хочу создать специальный файл, в котором (при условии, что я установил ограничение на 500 ГБ), когда я "кошка" файл, он выведет все 500 ГБ файла, а затем остановится. Он должен действовать так же, как реальный файл 500 ГБ, но не занимая места. Содержимое этого файла не имеет значения, это может быть все \0
как /dev/null
, или просто небольшая строка, отправляемая снова и снова, или что угодно.
Это то, что выполнимо? Единственно, что мне удалось найти, это страницы руководства, о которых я говорил mknod
, но они не очень помогли.
источник
Помимо уже упомянутого портативного решения на основе dd / seek, некоторые Unix-ы имеют специальные команды:
По крайней мере, в Solaris , MacOS / X и Irix :
На HP-UX prealloc , на AIX lmktemp. и во многих дистрибутивах Linux есть усечение
источник
Если вам не нужно искать обратно в файле, вы можете использовать именованный канал:
Конечно, вы можете использовать любую другую команду, включая сложный скрипт, для генерации данных в конвейере.
источник
Ну, с dd, вы можете указать размер блока и количество, и таким образом ограничить размер следующим образом:
Если вы хотите прочитать из него, просто передайте это:
Раньше каждая установка linux, которую я делал, шла с некоторыми сетевыми инструментами, portmap, inet.d и тому подобным, и в inet.d, где всегда указывались некоторые сервисы, один из них был описан / назван chargen, если я правильно помню.
(... через минуту ...)
Да. В / etc / services вы найдете
Поэтому я предполагаю, что это служба для проверки чего-либо, которая отправляет символы - возможно, случайные - по сети. Я только нахожу /etc/xinet.d/chargen на моем ПК. Есть больше информации:
Тем не менее, я не знаю, как использовать его для ваших целей.
источник