spatch

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

Синтаксис:

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

Поддерживаемые платформы:

Neutrino

Опции:

-b

Только просмотр; команда Save не разрешена. Файл или диск доступен в режиме "только для чтения".

-p

Выдержать паузу перед запуском (например, для вставки гибкого диска в дисковод).

файл

Используемый файл или жесткий диск.

смещение

Начальный адрес (в ОЗУ, файле или на диске), используемый утилитой spatch (в шестнадцатеричном формате).

Описание:

Утилита 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. Если файл является стандартным, то смещение указывается в байтах. Если файл является блок-ориентированным специальным файлом, то смещение указывается в форме "блок:байт". Если файл является блок-ориентированным специальным файлом, на котором имеется файловая система QNX, то смещение может быть именем файла или папки (начальный адрес будет первым блоком указанного файла). Если у указанного файла имеются экстенты, то утилита spatch не обрабатывает их, а переходит к следующему блоку в последовательности.

Утилиту spatch можно использовать для восстановления потерянных файлов и каталогов. Для получения дополнительной информации см. разделы Working with Filesystems ("Работа с файловыми системами") и Backing Up and Recovering Data ("Резервное копирование и восстановление данных") "Руководства системного программиста (администратора)" КПДА.10964-01 32.

Примеры:

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

spatch /bin/ls

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

spatch /dev/hd0

Переменные среды:

TERM

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


Статус завершения:

0

Успешно.

> 0

Возникла ошибка.

Предупреждения:

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