Я должен проверить свою программу, чтобы она полностью удаляла файлы с их содержимым с диска.Чтобы проверить это, я делаю следующее:
- Создайте файл с некоторой известной строкой внутри.
- Моя программа удаляет файл.
- Я ищу строку вдиск, на котором находился файл.Для этого я заставляю grep рассматривать диск как кучу необработанных данных:
$ grep -a -o -c 'some_string_to_be_found' /dev/sda1
Тест на самом деле работает как положено (находит строку, если я удаляю файл вручную, а не еслимоя программа удаляет его).
Проблема в том, что размер диска может быть большим, поэтому для завершения теста потребуется огромное количество времени.Кроме того, метка для диска может отличаться на разных машинах.
Поэтому я думаю о том, как использовать виртуальную файловую систему вместо.Создайте диск в ОЗУ, используя tmpfs:
pc:/mnt$ mkdir tmpfs
pc:/mnt$ chmod 777 tmpfs/
pc:/mnt$ mount -t tmpfs -o size=50M tmpfs /mnt/tmpfs/
создайте / заполните / удалите файл, а затем попытайтесь найти его содержимое, используя что-то вроде:
$ grep -a -o -c 'some_string_to_be_found' /dev/tmpfs
Проблема заключается вчто это приводит к
grep: / dev / tmpfs: Нет такого файла или каталога
Так что вопрос: возможно ли использовать tmpfs в качестве устройства, иличитать необработанную память, выделенную для виртуальной файловой системы?