В nano я создал простой текстовый файл с именем «blue_pink_red_orange_green» со следующим содержимым:
красный синий оранжевый зеленый розовый
Затем я снова открыл файл и сделал:
sudo strings /dev/mem | grep orange
но ничего не найдено. Однако использование sudo strings /dev/mem
выводит большой объем данных.
Я не использую никакой своп, так почему я не могу найти свой текстовый файл в памяти? Он действительно где-то там? Если да, то как мне его найти?
решение1
У вас могут возникнуть проблемы, поскольку /dev/mem
в памяти есть дыры: несуществующие ячейки памяти не могут быть прочитаны.
strings
предназначен для чтения обычного файла (или конвейера, или другого входного потока) от начала до конца и предполагает, что в его входе не может быть дыр. Вероятно, он прерывает работу при первой ошибке чтения, которая будет соответствовать первой дыре в /dev/mem
. Это означает, что он никогда не будет читать ничего за пределами первой дыры.