Утилита внесения изменений в файлы с полноэкранным режимом
spatch [-bp] файл [смещение]
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита spatch предназначена для правки файлов или блоков данных на диске в полноэкранном режиме. На экране отображается представление изменяемого файла данных в формате 16 на 16 (256) байт, аналогичное следующему:
Edit Next Prev Lastblk Home Goto Find Continue Save Addr Quit 000000000: 2E 28 6E 65 77 29 20 53 50 41 54 43 48 20 22 46 .(new) SPATCH "F 000000010: 75 6C 6C 20 73 63 72 65 65 6E 20 70 61 74 63 68 ull screen patch 000000020: 20 75 74 69 6C 69 74 79 22 1E 2E 28 73 79 6E 74 utility"..(synt 000000030: 61 78 29 1E 09 11 73 70 61 74 63 68 10 20 20 11 ax)...spatch. . 000000040: 66 69 6C 65 10 20 20 AE 66 69 6C 65 6E 61 6D 65 file. .filename 000000050: AF 1E 09 11 73 70 61 74 63 68 10 20 20 11 64 69 ....spatch. .di 000000060: 73 6B 10 20 20 AE 64 72 69 76 65 AF 20 20 AE 62 sk. .drive. .b 000000070: 6C 6F 63 6B AF 1E 09 11 73 70 61 74 63 68 10 20 lock....spatch. 000000080: 20 11 6D 65 6D 10 20 20 AE 73 65 67 6D 65 6E 74 .mem. .segment 000000090: AF 20 20 AE 6F 66 66 73 65 74 AF 1E 2E 28 65 78 . .offset...(ex 0000000a0: 61 6D 70 6C 65 73 29 1E 09 11 73 70 61 74 63 68 amples)...spatch 0000000b0: 20 20 66 69 6C 65 20 20 2F 63 6D 64 73 2F 6C 73 file /bin/ls 0000000c0: 1E 09 73 70 61 74 63 68 20 20 64 69 73 6B 20 20 ..spatch disk 0000000d0: 31 20 20 31 1E 09 73 70 61 74 63 68 20 20 6D 65 1 1..spatch me 0000000e0: 6D 20 20 62 30 30 30 20 20 30 10 1E 2E 28 73 74 m b000 0...(st 0000000f0: 61 72 74 29 1E 53 50 41 54 43 48 20 69 73 20 61 art).SPATCH is a
В верхней части экрана расположен список команд. Для выбора команды введите первую букву названия или наведите на команду курсор с помощью клавиш со стрелками и нажмите Enter
.
Возможны следующие команды:
Tab
можно переключаться между режимами ввода данных в шестнадцатеричном формате и в формате ASCII. Для возврата в меню следует нажать клавишу Esc
. При этом измененные данные не записываются на жесткий диск или в память. Pg Dn
. Pg Up
. Home
. End
. Если в аргументе файл указан какой-либо каталог, то правка данных на диске выполняется, но утилита spatch позволяет перемещаться только по блокам, из которых состоит каталог. Это аналогично использованию утилиты spatch для файла, но при необходимости внесения изменений необходимо открыть диск в режиме для исключительного использования, как и любой блок-ориентированный специальный файл.
При запуске утилиты spatch для работы с каталогом или блок-ориентированным специальным файлом необходимо войти в систему под учетной записью root
или иметь полномочия на запись в данный блок-ориентированный специальный файл.
В аргументе смещение можно указать адрес, с которого должна начинать обработку утилита spatch. Если файл является стандартным, то смещение указывается в байтах. Если файл является блок-ориентированным специальным файлом, то смещение указывается в форме "блок:байт". Если файл является блок-ориентированным специальным файлом, на котором имеется поддерживаемая файловая система, то смещение может быть именем файла или папки (начальный адрес будет первым блоком указанного файла). Если у указанного файла имеются экстенты, то утилита spatch не обрабатывает их, а переходит к следующему блоку в последовательности.
Утилиту spatch можно использовать для восстановления потерянных файлов и каталогов. Для получения дополнительной информации см. разделы «Работа с файловыми системами» и «Резервное копирование и восстановление данных» документа «Руководство системного программиста (администратора)» КПДА.10964-01.
Исправление содержимого файла /bin/ls
:
spatch /bin/ls
Исправление содержимого блок-ориентированного специального тома диска /dev/hd0
:
spatch /dev/hd0
Утилиту spatch невозможно использовать для работы с диском, если на нем имеются открытые файлы и не указана опция -b (только просмотр).
Базовые подсистемы ЗОСРВ «Нейтрино»
Предыдущий раздел: Утилиты