Использование
Синтаксис
Для правильного функционирования команд необходимо соблюдать правильный синтаксис при их форматировании, при этом структура команды может включать в себя префикс, контекст, аргументы, параметры и т. д. Ниже приведен общий синтаксис, используемый в интерфейсе eShell.
[<prefix>] [<command path>] <command> [<arguments>]
Пример (команда активирует защиту документов) SET COMPUTER SCANS DOCUMENT REGISTER ENABLED |
SET — префикс
COMPUTER SCANS DOCUMENT — путь к конкретной команде, контекст, к которому данная команда относится.
REGISTER — непосредственно команда
ENABLED — аргумент для команды
Использование ? как аргумента для команды выведет синтаксис непосредственно для этой команды. Например, STATUS ?отображает синтаксис команды STATUS:
СИНТАКСИС
[get] status
ОПЕРАЦИИ
get — показать состояние всех модулей защиты
Видно, что конструкция [get] заключена в скобки. Это указывает на то, что префикс get используется по умолчанию для команды status. Это означает, что при выполнении команды status без указания префикса используется префикс по умолчанию (в данном случае префиксget status). Использование команд без префиксов позволяет сэкономить время на ввод данных. Обычно get является префиксом по умолчанию для большинства команд, но нужно точно знать префикс по умолчанию для конкретной команды и иметь уверенность в том, что он соответствует задаче, которую необходимо выполнить.
В командах не учитывается регистр. Можно использовать как прописные, так и строчные буквы, и это не влияет на их выполнение. |
Префикс/операция
Префикс — это операция. Префикс GET предоставляет сведения о том, как сконфигурирована определенная функция ESET Mail Security, или указывает на состояние (например, GET COMPUTER REAL-TIME STATUS покажет текущее состояние защиты модуля в реальном времени). Префикс SET конфигурирует функциональность или меняет состояние (SET COMPUTER REAL-TIME STATUS ENABLED активирует защиту в реальном времени).
Это префиксы, которые позволяет использовать eShell. Команда может поддерживать или не поддерживать какие-либо из следующих префиксов.
GET |
возвращает текущий параметр или состояние |
---|---|
SET |
задает значение или состояние |
SELECT |
выбирается элемент |
ADD |
добавляется элемент |
REMOVE |
удаляется элемент |
CLEAR |
удаляет все элементы или файлы |
START |
запускается действие |
STOP |
останавливается действие |
PAUSE |
приостанавливается действие. |
RESUME |
возобновляется действие |
RESTORE |
восстанавливает параметры/объект/файл по умолчанию |
SEND |
отправляется объект или файл. |
IMPORT |
выполняется импорт из файла. |
EXPORT |
выполняется экспорт в файл. |
Такие префиксы, как GET и SET, используются со многими командами, но в некоторых командах (например, EXIT) префикс не используется. |
Путь команды/контекст
Команды размещаются в контекстах, которые образуют древовидную структуру. Верхний уровень древовидной структуры является корневым. При запуске eShell открывается именно корневой уровень.
eShell>
Можно либо выполнять команды непосредственно здесь или вводить имя контекста, чтобы перемещаться по древовидной структуре. Например, при вводе контекста TOOLS на экран будут выведены все команды и подчиненные контексты, доступные в данном контексте.
Желтым цветом обозначены команды, которые можно выполнять, а серым — подчиненные контексты, в которые можно войти. В подчиненном контексте содержатся дальнейшие команды.
Если нужно вернуться на более высокий уровень, следует использовать команду .. (две точки).
Допустим, что мы находимся здесь. eShell computer real-time> Введите .. для перехода вверх на один уровень, на этот: eShell computer> |
Если же необходимо вернуться на корневой уровень с уровня eShell computer real-time> (на два уровня ниже корневого уровня), просто введите .. .. (две точки, пробел, еще две точки). Это позволит перейти на два уровня вверх, то есть к корневому уровню в данном случае. Чтобы вернуться прямо на корневой уровень с любого уровня (на любой глубине древовидной структуры контекстов), используйте обратную косую черту \. Если нужно перейти к какому-либо конкретному контексту верхнего уровня, используйте соответствующее число команд .. для перехода на необходимый уровень, а в качестве разделителя используйте пробел. Например, если нужно подняться на три уровня вверх, введите .. .. ..
Путь указывается относительно текущего контекста. Если команда содержится в текущем контексте, путь вводить не нужно. Например, для выполнения команды GET COMPUTER REAL-TIME STATUS введите:
GET COMPUTER STATUS — при нахождении в корневом контексте (командная строка показывает eShell>)
GET STATUS — при нахождении в контексте COMPUTER (командная строка показывает eShell computer>)
.. GET STATUS — при нахождении в контексте COMPUTER REAL-TIME (командная строка показывает eShell computer real-time>)
Можно использовать одну . (точку) вместо двух .., так как одна точка является сокращением для двух.
. GET STATUS — при нахождении в контексте COMPUTER REAL-TIME (командная строка показывает eShell computer real-time>) |
Аргумент
Аргумент — это действие, выполняемое для определенной команды. Например, команду CLEAN-LEVEL (расположена в COMPUTER REAL-TIME ENGINE) можно использовать со следующими аргументами:
rigorous — всегда исправлять обнаружение
safe — исправлять обнаружение, если это безопасно, в ином случае не вмешиваться
normal — исправлять обнаружение, если это безопасно, в ином случае спрашивать
none — всегда спрашивать у конечного пользователя
Другой пример: аргументы ENABLED и DISABLED, которые включают и отключают определенную функцию.
Сокращенная форма/краткие команды
eShell позволяет сокращать контексты, команды и аргументы (при условии, что аргумент является параметром или альтернативным вариантом). Невозможно сократить префикс или аргумент, который является конкретным значением, таким как число, имя или путь. Вы можете использовать цифры1 и 0вместо аргументов включения и выключения.
computer set real-time status enabled => com set real stat 1 computer set real-time status disabled => com set real stat 0 |
Примеры краткой формы
computer set real-time status enabled => com set real stat en computer exclusions add detection-excludes object C:\path\file.ext => com excl add det obj C:\path\file.ext computer exclusions remove detection-excludes 1 => com excl rem det 1 |
Если две команды или контекста начинаются с одних и тех же букв (например, ADVANCED и AUTO-EXCLUSIONS) и вы введете AA в качестве сокращенной команды, eShell не сможет решить, какую из этих двух команд необходимо выполнить. Поэтому на экран будет выведено сообщение об ошибке и список команд, начинающихся на букву A, из которого можно выбрать необходимое:
eShell>a
Не является уникальной следующая команда: a
В контексте COMPUTER доступны следующие подчиненные контексты:
ADVANCED
AUTO-EXCLUSIONS
При добавлении одной или нескольких букв (например, AD вместо просто A) eShell введет подчиненный контекст ADVANCED, так как он теперь является уникальным. То же самое касается сокращенных команд.
Чтобы команда выполнялась надлежащим образом, рекомендуется не сокращать команды, аргументы и т. д., а использовать их полную форму. В этом случае решение eShell будет выполнено именно так, как нужно, и удастся избежать нежелательных ошибок. Это особенно верно для пакетных файлов/сценариев. |
Автозаполнение
Эта новая функция была представлена в eShell 2.0, и она очень похожа на функцию автозаполнения в командной строке Windows. В командной строке Windows заполняются пути к файлам, а в eShell заполняются команды, контекст и имена операций. Заполнение аргументов не поддерживается.
Чтобы при обычном вводе команды выполнить автозаполнение или просмотреть доступные варианты, нажмите клавишу TAB.
Чтобы пролистать варианты назад, нажмите клавиши SHIFT + TAB. Одновременное использование сокращенной формы и автоматического заполнения не поддерживается. Используйте или одно, или другое.
Например, если при вводе computer real-time additional нажать клавишу TAB, ничего не произойдет. Эту команду лучше вводить так: введите com, а затем TAB, чтобы завершить computer, затем введите real и нажмите TAB, а затем введите add и опять нажмите TAB, введите Войти. Введите on и снова нажмите TAB. Вы можете просмотреть все доступные варианты: on-execute-ah, on-execute-ah-removable, on-write-ah, on-write-archive-default и т. д.
Псевдонимы
Псевдоним — это альтернативное название, которое может использоваться для выполнения команды (при условии, что этой команде присвоен псевдоним). Есть несколько псевдонимов по умолчанию:
(global) close — выход
(global) quit — выход
(global) bye — выход
warnlog — события журнала инструментов
virlog — обнаружения журнала инструментов
(global) — команду можно использовать где угодно, независимо от текущего контекста. Одной команде можно назначить несколько псевдонимов. Например, команда EXIT имеет псевдонимы CLOSE, QUIT и BYE. Для выхода из eShell можно использовать непосредственно команду EXIT или любой из ее псевдонимов.
Псевдоним VIRLOG является псевдонимом команды DETECTIONS в контексте TOOLS LOG. Таким образом, команда DETECTIONS доступна из корневого контекста ROOT, что делает ее более доступной (не нужно вводить контекст TOOLS, а затем контекст LOG, и выполнять ее непосредственно в ROOT).
eShell позволяет определять псевдонимы. Команду ALIAS можно найти в контексте UI ESHELL.
Защитить параметры паролем
Параметры ESET Mail Security можно защитить паролем. Пароль можно задать с помощью графического интерфейса или в eShell с помощью команды set ui access lock-password.
Для выполнения некоторых команд (например, тех, что изменяют параметры или данные) этот пароль понадобится вводить в интерактивном режиме. Если вы планируете работать в eShell длительное время и не желаете постоянно вводить пароль, решение eShell может запомнить его. Для этого нужно воспользоваться командой set password (выполняется из root). После этого пароль будет вводиться автоматически при каждом выполнении команды, для которой он требуется. Программа eShell помнит пароль, пока вы не вышли из нее. Это значит, что команду set password при запуске нового сеанса нужно будет выполнить еще раз (если нужно, чтобы решение eShell запомнило пароль).
Руководство и справка
При выполнении команды GUIDE или HELP на экран выводится окно первого запуска, в котором объясняется использование eShell. Эта команда доступна в контексте ROOT (eShell>).
История команд
eShell хранит журнал выполненных ранее команд. Это распространяется только на текущий интерактивный сеанс eShell. После завершения сеанса работы eShell журнал команд удаляется. Для перехода по журналу используйте клавиши со стрелками вверх и вниз. Обнаружив нужную команду, можно выполнить ее повторно или внести в нее изменения, причем не нужно вводить заново всю команду целиком.
CLS/очистка экрана
CLS можно использовать для очистки экрана. Она работает точно так же, как в командной строке Windows и других аналогичных интерфейсах командной строки.
EXIT / CLOSE / QUIT / BYE
Для того чтобы закрыть eShell или выйти из этого интерфейса, можно воспользоваться любой из этих команд (EXIT, CLOSE, QUIT или BYE).