5. Программы-оболочки

Программы-оболочки – весьма популярный класс системных программ. Они обеспечивают более удобный и наглядный способ общения с ПК, чем с помощью командной строки DOS. Это как бы промежуточное звено между DOS и пользователем. В основном весь набор действий, осуществляемый программой-оболочкой, можно реализовать и средствами самой ОС. Тем не менее, многие пользователи предпочитают использовать оболочки. Основная причина состоит в следующем. Взаимодействие пользователя с ОС DOS осуществляется по принципу диалога: пользователь набирает команду, нажимает клавишу [Enter], и ОС выполняет эту команду. Такой способ не нагляден и недостаточно удобен. Например, если надо скопировать какой-либо файл, нужно правильно набрать имя команды, имя файла, имя каталога. Нужно все это помнить и не ошибиться при наборе. Гораздо проще «ткнуть» мышью (или курсором) в определенное место экрана, чтобы указать нужный файл, каталог и требуемое действие. Оболочка позволяет работать с ПК как раз на таком наглядном уровне.

Можно сказать, что оболочка выполняет тройную функцию, обеспечивая:

  1. наглядное отображение файловой системы на экране и удобные средства для перемещений по этой системе;
  2. простой и гибкий механизм диалога с MS DOS;
  3. всевозможные служебные функции (манипуляции с файлами и др.).

Примеры программ-оболочек: Norton Commander, Volkov Commander, FAR, Windows Commander и др. В верхней части экрана размещаются две синих панели, каждая из которых содержит оглавление одного из каталогов файловой системы. Ниже располагается командная строка с обычным приглашением MS DOS и мерцающим курсором, в которой можно набирать обычные команды DOS. В последней строке экрана находится список функциональных клавиш [F1]-[F10] с кратким обозначением их функций.

NC одновременно на двух панелях демонстрирует оглавление двух неких каталогов файловой системы (в частном случае на обеих панелях может демонстрироваться один и тот же каталог). Имя логического диска и имя каталога указаны в заголовке каждой панели.

Заголовок одной из панелей выделен серо-зеленым цветом. Это означает, что именно этот диск и этот каталог являются текущими для MS DOS (т.е. рабочими).

Оглавление каждой панели содержит строки трех типов:

  1. строку “..”, обозначающую выход в “родительский ” каталог данного каталога;
  2. строки с именами подкаталогов данного каталога (высвечены прописными буквами);
  3. строки с именами отдельных файлов данного каталога (высвечены строчными буквами).

Строки любого типа могут отсутствовать в оглавлении данной панели: строка 1 отсутствует, если на панели представлен корневой каталог (выходить некуда); строки 2 отсутствуют, если в данном каталоге нет подкаталогов; строки 3 отсутствуют, если в данном каталоге не зарегистрированы отдельные файлы.

Одна из строк рабочей панели (т.е. панели с выделенным заголовком) выделена рамкой серо-зеленого цвета (как и заголовок). Можно перемещать курсорную рамку по строкам панели, как в обычном меню: стрелками курсора – вниз, вверх, влево, вправо; клавишами [End] и [Home] – на последнюю строку и на первую строку оглавления; клавишами [PgDn] и [PgUp]- на страницу вверх или вниз.

В последней строке панели – строке состояния, как правило, указано имя выделенного файла, его размер в байтах, дата и время создания или последнего обновления.

Перемещение между левой и правой панелями осуществляется нажатием клавиши [Tab].

Для возврата в «родительский» каталог необходимо переместить курсорную рамку панели на верхнюю строку (..) и нажать клавишу [Enter]. Для входа в каталог следующего уровня (т.е. в каталог, для которого текущий каталог является «родительским») необходимо переместить курсорную рамку на имя каталога и нажать [Enter].

Если необходимо переместиться в каталог, который находится на другом логическом диске (не показанном на панелях NC), то для смены логического диска левой панели надо нажать клавиши [Alt]-[F1], а для смены диска правой панели – клавиши [Alt]-[F2]. Появится диалоговое окно – меню из имен логических дисков, которые доступны компьютеру. Курсорную рамку следует переместить на нужное имя и нажать [Enter] или просто нажать клавишу с изображением соответствующей буквы. Если вы передумали менять диск, надо нажать [Esc]. Менять диск можно в любой панели – в рабочей и нерабочей.

  1. Создание каталога. Прежде всего, необходимо перейти в ту среду, где надо создать каталог. Например, для создания подкаталога в каталоге PACK диска C: надо войти в каталог PACK и нажать клавишу [F7]. На экране появится диалоговое окно с приглашением набрать имя нового каталога. Оно не должно совпадать с именами каталогов, уже зарегистрированных в PACK (например, MY_DIR). Новое имя надо набрать на клавиатуре и нажать [Enter]. В рабочей панели появится имя нового каталога (прописными буквами), а курсорная рамка укажет на это имя. Нажав затем [Enter], можно войти в новый каталог. В нем будет только одна строка — “..”. Это означает, что новый каталог пока пуст и располагает только строкой для выхода в “родительский“ каталог. Теперь в этот каталог можно помещать и отдельные файлы, и подкаталоги.
  2. Копирование файла. При копировании файла создается точная копия исходного файла – с тем же именем (только в другом каталоге!) или с другим именем (в любом, в том числе, и в текущем каталоге). Исходный файл остается в неприкосновенности. В файловой системе возникают два совершенно одинаковых файла. Общая свободная память на дисках уменьшается на величину, равную размеру файла. Для копирования файла следует нажать клавишу [F5]. На экране появится диалоговое окно с сообщением, что NC готов скопировать файл в каталог, открытый в соседней панели. По нажатию клавиши [Enter] файл будет скопирован с тем же именем в соседний каталог. Если надо скопировать файл в другой каталог, то имя этого каталога и путь к нему нужно ввести с клавиатуры в соответствующую строку диалогового окна.

    Обычно среду, куда будет происходить копирование, устанавливают заранее. Например, если надо начать заполнение файлами нового каталога, созданного выше (MY_DIR), нужно войти в этот каталог, а затем переключиться клавишей [Tab] на панель со средой, откуда будет копироваться файл. Затем надо нажать [F5] и [Enter].

    Если надо скопировать файл в текущем каталоге, то после нажатия [F5] следует набрать в диалоговом окне имя файла-копии (не совпадающее с исходным) и нажать [Enter]. Файл будет скопирован с другим именем в том же каталоге.

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

  3. Пересылка (перемещение) файла. Исходный файл пересылается в другой каталог. Нового файла в системе не возникает, просто файл меняет свой адрес. Если файл пересылается в другой каталог на том же логическом диске, физического перемещения не происходит (файл просто меняет адрес), и общий объем занятой памяти на этом диске не меняется. Если файл перемещается на другой логический диск, он переписывается заново. Однако и в этом случае общая свободная память на дисках не изменяется.

    Все действия пользователя такие же, как и при копировании, но нажимать надо клавишу [F6].

  4. Переименование файла. Эта операция заменяет старое имя файла на новое. Нельзя присваивать файлу имя, уже принадлежащее другому файлу в том же каталоге. Для переименования файла надо нажать клавишу [F6] и в диалоговом окне набрать новое имя файла. Затем нажать [Enter]. Файлу будет присвоено новое имя.
  5. Удаление файла. Это одна из самых опасных операций на ПК. Получив сигнал на уничтожение файла, система объявляет занятое им на диске место свободным, и любая операция записи, которая последует за этим сигналом, может безвозвратно погубить файл. После удаления файла свободная память на дисках увеличивается на величину, равную размеру удаленного файла.
    Для уничтожения файла надо нажать [F8]. На экране появится диалоговое окно с предупреждением: «Вы действительно хотите удалить файл?». Для подтверждения надо нажать [Enter], и файл будет уничтожен. Для отмены нажать [Esc].
  6. Просмотр файла (выведение содержимого файла на экран). Курсорную рамку надо установить на интересующий вас файл и нажать [F3]. Содержимое файла будет выводиться на экран постранично. «Листать» страницы можно клавишами [PgUp], [PgDn]. В режиме просмотра можно найти нужную информацию по ключевому слову. После нажатия клавиши [F3] нижняя строка (подсказок) заменяется на новую. В данном режиме у клавиши [F7] функция – Поиск (Search). Надо нажать [F7], в появившемся приглашении набрать ключевое слово, затем нажать [Enter]. В тексте файла это слово будет выделено курсорной рамкой. Выход из режима просмотра осуществляется клавишами [Esc] или [F10].
  7. Редактирование файла. По нажатию клавиши [F4] содержимое файла, на котором стояла курсорная рамка, выводится на экран. В первой позиции верхней строки текста – мерцающий курсор. Это режим для небольших правок. Для серьезных корректировок лучше использовать более мощные редакторы. Первая строка редактора – информационная. В ней выводится имя файла, номера строки, столбца, код символа над курсором, количество свободной памяти. Курсор можно перемещать курсорными клавишами, клавишами [PgUp], [PgDn] – на страницу вверх или вниз, [Ctrl]-[←] или [Ctrl]-[→] – на слово назад или вперед, [Ctrl]-[Home] или [Ctrl]-[End] – в начало файла или в конец, [Alt]-[F8] – на строку с заданным номером (номер запрашивается). Клавиша [Del] – удаляет символ в позиции курсора, [BackSpace] – слева от курсора. Комбинации клавиш [Ctrl]-[Y] – удаляет строку, в которой установлен курсор; [Ctrl]-[K] – удаляет текст от курсора до конца строки.
    Строка функциональных клавиш после нажатия [F4] меняется. Клавишей [F7] можно осуществить поиск строк символов. В ответ на запрос надо ввести искомую строку и нажать [Enter]. Для повторения поиска той же строки надо нажать [Alt]-[F7]. Нажатие клавиши [F8] позволит заменить некоторое слово в тексте на другое (исходное и заменяющее слова запрашиваются). Выход из редактора – [Esc] или [F10].
  8. Работа с группой файлов. Многие из рассмотренных операций можно выполнять сразу с группой файлов из текущего каталога. Для этого файлы, входящие в группу, должны быть выделены. Выделить группу файлов можно двумя способами – вручную и автоматически.
    Можно установить курсорную рамку на имя нужного файла и нажать клавишу [Ins]. Имя файла будет высвечено желтым цветом — файл включен в группу. Подобным же образом можно выделить любое число файлов в каталоге. Для исключения файла из группы нужно подвести к нему курсорную рамку и снова нажать [Ins].
    Чтобы включить в группу все файлы текущего каталога или файлы с определенным расширением, проще воспользоваться автоматическим способом создания группы. Нажатие клавиши [+] на цифровой клавиатуре («серый» плюс) выведет на экран диалоговое окно с предложением набрать маску выбора, т.е. указать, какую группу файлов нужно выделить. Например, если в группу должны быть включены все файлы с расширением .doc, то надо набрать маску *.doc и нажать [Enter]. Все файлы с расширением .doc будут высвечены желтым цветом. Символ «*» заменяет собой любое количество символов в имени или расширении файла. Если нужно выделить все файлы текущего каталога, маска должна иметь вид *.*. Для отказа от выделения группы следует нажать [Esc].
    После выделения группы в нижней строке панели выводится информация об общем числе выделенных файлов и их суммарном объеме (в байтах).
    Из выбранной группы можно исключить часть файлов, подводя к их именам курсорную рамку и нажимая [Ins]. Если надо исключить часть файлов по маске или вообще отменить выбор группы, следует нажать клавишу [-] («серый» минус) на цифровой клавиатуре, набрать в диалоговом окне маску (если предложенная маска не устраивает) и нажать [Enter].
    Выделенную группу файлов можно копировать или перемещать в другой каталог. Эти операции выполняются так же, как копирование или пересылка отдельного файла: надо нажать клавишу [F5] или [F6], а затем, после появления предложения NC, клавишу [Enter]. Удаление группы файлов выполняется так же, как и удаление отдельного файла (клавиша [F8]). Однако в данном случае NC дважды спросит, действительно ли следует уничтожить эти файлы. Сначала будет задан общий вопрос. Далее вопрос будет задаваться по каждому удаляемому файлу.

Управляющее меню вызывается нажатием клавиши [F9]. Вверху экрана появляется строка, содержащая 5 пунктов:

Left Files Commands Options Right

С помощью команд этого меню можно управлять почти всеми функциями NC: можно установить наиболее удобный вид представления информации на экране; изменить режимы работы NC; а также выполнить некоторые другие действия.

Для перемещения по пунктам меню надо использовать клавиши [®] и []. Выбрав нужный пункт меню, нужно нажать [Enter]. Под пунктом откроется соответствующее ему подменю, перемещаться по которому надо клавишами [­] и [Ї]. Для выбора конкретной команды следует нажать [Enter] (или использовать горячие клавиши). Для выхода из меню или подменю используется клавиша [Esc]. Для получения справки о пункте меню надо выделить этот пункт и нажать [F1].

Выбрав пункт Left или Right (Левая или Правая), можно управлять отображением информации на левой и правой панелях NC. Действующие режимы отмечены галочкой слева от названия. Чтобы установить/отключить режим нужно выделить его клавишами перемещения курсора и нажать [Enter].

    1-я группа опций определяет тип панелей:

  • Brief – краткий формат. В панели отображаются только имена файлов.
  • Full – полный формат. Рядом с именем каждого файла указываются его основные характеристики: размер в байтах, дата и время его создания или последней модификации.
  • Info – сводная информация о диске и каталоге, открытом на другой панели.
  • Tree – изображает дерево каталогов на диске.
  • quickView – выводится содержимое файла, выделенного на другой панели.
  • Compressed file – выводится оглавление архивного файла.
  • link – устанавливает/отменяет режим связи между ПК.
  • On/off – определяет, выводить или нет на экран данную панель. Горячие клавиши: [Ctrl]-[F1] – левая панель, [Ctrl]-[F2] – правая панель.
    2-я группа определяет порядок отображения файлов в панели:

  • Name ([Ctrl]-[F3]) – в алфавитном порядке имен.
  • Extention ([Ctrl]-[F4]) – в алфавитном порядке расширений.
  • Time ([Ctrl]-[F5]) – в порядке убывания даты последней модификации.
  • Size ([Ctrl]-[F6]) – в порядке убывания размера.
  • unsorted ([Ctrl]-[F7]) – файлы не сортируются, т.е. в каком порядке были записаны на диск, в таком и выводятся.
    3-я группа:

  • Re-read – повторное чтение оглавления каталога.
  • Filter … – выводятся только те файлы, которые определены в этой опции.
  • Drive ([Alt]-[F1], [Alt]-[F2]) – выбор диска.

В пункте Files (Файлы) собраны команды, дублирующие функции клавиш [F1] — [F8], а также команды управления группой файлов:

  • file Atributes – установка атрибутов файла.
  • Select group ([Gray +]) – выделение группы файлов по маске.
  • Deselect group ([Gray -]) – отмена выделения группы файлов по маске.
  • invert selection ([Gray *]) – обращение выделения файлов.
  • Restore selection – восстановление выделения, снятого NC. Может быть полезно для повторного выполнения действий над той же группой файлов.
  • Quit ([F10]) – выход из NC.

Пункт Commands (Команды) позволяет выдавать программе различные команды. Например:

  • NCD tree ([Alt]-[F10]) – вывод на экран дерева каталогов на диске для быстрого перехода в другой каталог.
  • Find file ([Alt]-[F7]) – поиск файла на диске.
  • Swap panels ([Ctrl]-[U]) – панели меняются местами.
  • Panels on/off ([Ctrl]-[O]) – убрать/вернуть панели с экрана.

Меню Options (Параметры) задает конфигурацию и устанавливает режимы работы NC. Например:

  • Configuration … – установка конфигурации NC.
  • Path prompt – если этот режим включен, то приглашение внизу экрана содержит информацию о текущем диске и текущем каталоге; если выключен – только о текущем диске.
  • Key bar – при включенном режиме выводятся внизу значения функциональных клавиш.
  • Mini status – если режим включен, то в нижней части каждой панели выводится строка с информацией о текущем файле (имя, размер, дата и время) или о группе помеченных файлов.

Пользователь имеет возможность создать свое индивидуальное меню, в которое включаются команды, наиболее часто им выполняемые.
Вызов пользовательского меню осуществляется нажатием клавиши [F2]. Клавишами перемещения курсора выделяют нужный пункт меню и нажимают [Enter] для его выполнения. Начиная с версии 4.0, NC позволяет использовать вложенные меню. Такие пункты меню выделяются символом «4» в правой колонке меню. При выборе такого пункта меню на экран выводится соответствующее ему подменю. Выбор команд из подменю осуществляется аналогично.

Список команд, входящих в меню, задается пользователем в файле nc.mnu. Этот файл может находиться в текущем каталоге – это локальное меню, либо в каталоге, где находятся файлы программного пакета NC – это главное меню. Если такой файл есть и в текущем каталоге, и в каталоге NC, то используется файл из текущего каталога, т.е. локальное меню.

Файл nc.mnu имеет следующую структуру. Каждому элементу пользовательского меню соответствуют две или более строки в файле nc.mnu. В первой строке, начиная с 1-й позиции, указывается сообщение, которое будет выводиться в меню. Перед сообщением можно задать имя «горячей» клавиши с двоеточием. Тогда она будет использоваться для быстрого выбора данного пункта меню.

Например:

PR – печать файла
или 1: PR – печать файла

Во второй строке и всех последующих указываются команды, которые должны выполниться при выборе этого пункта меню.

Например:
cd \
Md COPY_DIR
Copy *.* COPY_DIR

(копирование всех файлов текущего каталога в каталог, который создается в корне текущего диска).

Файл nc.mnu можно редактировать любым текстовым редактором, в т.ч. редактором, встроенным в NC. Последовательность действий при этом должна быть следующая. Вызвать управляющее меню клавишей [F9], выбрать пункт Commands, подпункт Menu file edit. NC выдаст запрос: какое меню редактировать – главное или локальное? Курсорными клавишами выбрать Main или Local и нажать [Enter]. Меню выведется в середине экрана.

[F4] – редактирование пункта меню. На экран выводится бланк с полями:

  • Hot key (Назначенная клавиша) – клавиша для быстрого выбора пункта
  • Label (Название пункта меню) – описание пункта меню
  • Commands (Команды DOS)– команды, выполняемые при выборе данного пункта

Нужно заполнить поля запроса, нажать [Ctrl]-[Enter] для запоминания изменений или [Esc] для их отмены.

[F6] – вставка нового пункта меню. NC выдаст запрос: какой пункт хотите вставить – обычный (command) или вызывающий подменю ( menu)? Выбрать клавишей [ Пробел] нужный тип пункта и нажать [Enter]. На экран будет выведен пустой бланк для определения данного пункта меню.
Клавишей [F2] можно сохранить состояние меню.
[F8] – удаление текущего пункта меню.
Для выхода из пользовательского меню надо нажать [F10] или [Esc].