spatch

Утилита внесения изменений в файлы с полноэкранным режимом

Синтаксис:

spatch [-bp] файл [смещение]

Опции:

-b
Только просмотр; команда Save не разрешена. Файл или диск доступен в режиме "только для чтения".
-p
Выдержать паузу перед запуском (например, для вставки гибкого диска в дисковод).
файл
Используемый файл или жесткий диск.
смещение
Начальный адрес (в ОЗУ, файле или на диске), используемый утилитой spatch (в шестнадцатеричном формате).

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

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.

Возможны следующие команды:

Edit (Правка)
Редактирование данных. Нажатием клавиши Tab можно переключаться между режимами ввода данных в шестнадцатеричном формате и в формате ASCII. Для возврата в меню следует нажать клавишу Esc. При этом измененные данные не записываются на жесткий диск или в память.
Next (Далее)
Переместиться вперед на 256 байт. Также можно нажать клавишу Pg Dn.
Prev (Назад)
Переместиться назад на 256 байт. Также можно нажать клавишу Pg Up.
Home (В начало)
Перейти к началу файла, диска или памяти. Также можно нажать клавишу Home.
Lastblk (Последний блок)
Перейти к последнему блоку файла или диска. Также можно нажать клавишу End.
Goto (Перейти к)
Перейти к указанному адресу. Вид адреса зависит от источника данных (файл или диск) и типа адреса.
Find (Найти)
Поиск данных по шаблону, который может состоять из отдельных символов или пар шестнадцатеричных чисел, разделенных пробелами. Например, шаблоны "61 62 63 d e" и "a b c d e" соответствуют одной и той же строке из пяти символов "abcde". Для прекращения поиска следует нажать любую клавишу.
Continue (Продолжить)
Найти следующее вхождение последних найденных данных. Обычно эта команда используется при поиске после выполнения команды Find (Найти).
Save (Сохранить)
Сохранить изменения на текущем экране в источнике данных. Если эта команда не будет выполнена, все изменения, внесенные по команде Edit (Правка), будут потеряны при переходе с текущего экрана. Если указана опция -b (только просмотр), то опция Save (Сохранить) будет неактивна.
Addr (Адрес)
Переключение между типами адресов:
Quit (Выйти)
Завершить работу утилиты spatch.

Если в аргументе файл указан какой-либо каталог, то правка данных на диске выполняется, но утилита spatch позволяет перемещаться только по блокам, из которых состоит каталог. Это аналогично использованию утилиты spatch для файла, но при необходимости внесения изменений необходимо открыть диск в режиме для исключительного использования, как и любой блок-ориентированный специальный файл.

При запуске утилиты spatch для работы с каталогом или блок-ориентированным специальным файлом необходимо войти в систему под учетной записью root или иметь полномочия на запись в данный блок-ориентированный специальный файл.

В аргументе смещение можно указать адрес, с которого должна начинать обработку утилита spatch. Если файл является стандартным, то смещение указывается в байтах. Если файл является блок-ориентированным специальным файлом, то смещение указывается в форме "блок:байт". Если файл является блок-ориентированным специальным файлом, на котором имеется поддерживаемая файловая система, то смещение может быть именем файла или папки (начальный адрес будет первым блоком указанного файла). Если у указанного файла имеются экстенты, то утилита spatch не обрабатывает их, а переходит к следующему блоку в последовательности.

Утилиту spatch можно использовать для восстановления потерянных файлов и каталогов. Для получения дополнительной информации см. разделы «Работа с файловыми системами» и «Резервное копирование и восстановление данных» документа «Руководство системного программиста (администратора)» КПДА.10964-01.

Примеры:

Исправление содержимого файла /bin/ls:

spatch /bin/ls

Исправление содержимого блок-ориентированного специального тома диска /dev/hd0:

spatch /dev/hd0

Переменные окружения:

TERM
Используется как имя типа терминала.

Возвращаемое значение:

0
Успешно.
>0
Возникла ошибка.

Предостережения:

Утилиту spatch невозможно использовать для работы с диском, если на нем имеются открытые файлы и не указана опция -b (только просмотр).

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

hd




Предыдущий раздел: Утилиты