Вы можете записывать и читать блоки памяти с помощью dd
:
dd if=/dev/zero of=/dev/vdc bs=512 count=2 seek=123
записывает 2 блока по 512 байт в блоки 123 и 124 на / dev / vdc
с использованием нулей в качестве входных данных. В качестве входных данных можно использовать что угодно: / dev / urandom
, некоторый процесс, который создает битовый шаблон, ...
Вы можете прочитать их снова с помощью dd
, и, например, отобразите их в шестнадцатеричном формате:
dd if=/dev/vdc bs=512 count=1 skip=123 | hexdump -C
Вы должны увидеть что-то вроде
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
, потому что шестнадцатеричный дамп
объединяет идентичные строки.
Более подробную информацию можно получить у man dd
.
Вы можете переосмыслить свои требования к чтению и записи «блоков из памяти», не так-то просто зарезервировать память и получить доступ к ней из командной строки.
Если вы хотите сделать это на C или Python, спрашивайте stackoverflow , а не здесь.
Справочная страница для su
мой Linux имеет, put -
и -l
как эквивалент, за исключением небольшого различия в том, как su
анализирует свою командную строку.
-, -l, --login
Обеспечивает среду, аналогичную той, которую пользователь ожидал бы, если бы пользователь вошел в систему напрямую.Когда используется -, он должен быть указан перед любым именем пользователя. Для переносимости рекомендуется использовать его в качестве последней опции перед любым именем пользователя. Другие формы (-l и --login) не имеют этого ограничения .