- •Оглавление
- •От редактора перевода
- •Введение
- •Использовать
- •Аргументировано обсуждать
- •IV. Применять знания
- •Модуль 1. Компьютерные системы
- •Обзор компьютерных систем
- •1.1.1. Компоненты компьютерных систем
- •Эволюция компьютерных систем
- •1.2.1. Краткая историческая справка
- •Закон Мура
- •1.2.2. Применение компьютерных систем
- •Представление данных в компьютерных системах
- •1.3.1. Биты и байты
- •1.3.2. Системы счисления
- •Модуль 2. Системы аппаратного обеспечения
- •2.1 Процессор и память
- •2.1.1 Процессор. Основы.
- •2.1.2 Типы памяти
- •2.1.3 Лабораторная работа: Эталонное тестирование (необязательная)
- •2.2 Внешние устройства
- •2.2.1 Присоединяемые внешние устройства
- •2.2.2 Шины
- •2.2.3 Входные/выходные устройства
- •2.3 Запоминающие устройства
- •2.3.1 Интерфейсы дисковых контроллеров
- •2.3.2 Накопитель (запоминающее устройство большой ёмкости)
- •2.4 Соединение компонентов аппаратного обеспечения
- •2.4.1 Как компоненты компьютера работают вместе
- •2.4.2 Лабораторная работа: Изучение компьютерных систем
- •2.4.3 Лабораторная работа: Конфигурация online
- •2.5 Повышение производительности компьютера
- •2.5.1 Закон Мура
- •2.5.2 “Узкие” места (Bottlenecks)
- •2.5.3 Производительность и время ожидания
- •Модуль 1 и Модуль 2 Обзорные материалы
- •Закон Мура
- •Модуль 3. Программное обеспечение операционных систем
- •Структура
- •3.1.1 Уровни программного обеспечения
- •3.1.2 Bios: Жизнь снизу
- •3.1.3 Управление процессами
- •3.1.4 Лабораторная работа: диспетчер задач (Task Manager)
- •3.2 Управление устройствами и конфигурация
- •3.2.1 Управление прерываниями
- •3.2.2 Характеристики аппаратного обеспечения
- •3.2.3 Конфигурация
- •3.2.4 Лабораторная работа: Управление устройствами
- •3.3. Распределение ресурсов
- •3.3.1 Виртуальная память
- •3.3.2 Совместное использование файлов и принтеров
- •3.4. Файловые системы
- •3.4.1 Организация файлов
- •3.4.2 Таблица размещения файлов (File Allocation Table) и файловая система nt
- •Модуль 4. Прикладное программное обеспечение
- •4.1 Основы программного обеспечения
- •4.2 Использование систем программного обеспечения
- •4.2.1 Лабораторная работа: Команды dos
- •4.2.2 Лабораторная работа: Макросы
- •4.2.3 Лабораторная работа: Встроенные объект-приложения
- •4.3 Пакетные файлы сценариев
- •4.3.1 Расширенные функции командной строки
- •4.3.2 Команды пакетного файла
- •4.3.3 Лабораторная работа: Создание пакетного файла
- •4.4 Базы данных
- •4.4.1 Лабораторная работа: Поиск в библиотеке Конгресса
- •4.5 Проектирование программного обеспечения
- •4.5.1 Введение в разработку крупномасштабных программных систем (Large-Scale Software).
- •4.5.2 Модель открытого кода
- •4.5.3 Средства для создания и управления программным обеспечением
- •Модуль 3 и Модуль 4 - Материалы для проверки
- •Базы данных
- •Виртуальная память
- •Модуль 5. Сетевые системы
- •5.1 Основы Интернета
- •5.1.1 Типы mime
- •5.1.2 Языки Интернет
- •5.2 Локальные и глобальные сети
- •5.3 Стратегии коммуникации
- •5.3.1 Структура клиент-сервер (Client-Server Framework)
- •5.3.2 Равноправное соединение
- •5.4 Технологии передачи данных
- •5.5 Архитектура Интернет
- •5.5.1 Роутеры и tcp/ip
- •5.5.2 Сервис доменных имен (Domain Name Service)
- •5.5.3 Способность к подключению
- •5.5.4 Провайдеры Интернет-сервиса (Internet Service Providers)
- •Модуль 6. Безопасность компьютера
- •6.1 Угрозы безопасности
- •6.1.1 Злоумышленники: кто, зачем и как?
- •6.1.2 Кража личности и нарушение конфиденциальности (Identity Theft and Privacy Violation)
- •6.1.3 Вредоносные программные средства
- •6.1.4 Отказ от обслуживания
- •6.2 Технологии безопасности
- •6.2.1 Шифрование
- •6.2.2 Применение шифрования
- •6.2.3 Идентификация
- •6.3 Предотвращение, определение и восстановление
- •6.3.1 Система сетевой защиты (Firewall)
- •6.3.2 Средства определения вторжения
- •6.3.3 Восстановление данных
- •6.3.4 Обзор типов безопасности
- •Модуль 5 и Модуль 6 Обзорный материал
- •Шифрование
- •Приложение а. Выполнение файла Visual Basic
- •Приложение в. Загрузка приложения WinZip
- •Рекомендации по чтению ssd2
4.3 Пакетные файлы сценариев
В разделе 4.2.2 Лабораторная работа: Макросы, мы обсуждали макросредство, которое существует во многих приложениях, обеспечивая возможность пользователю возможности назначения комбинаций клавиш или ярлыков (shortcut) для выполнения часто повторяющихся действий. Такое же средство часто требуется при взаимодействии с интерфейсом пользователя операционной системы (часто называемым "Командный интерпретатор" (command interpreter) или "оболочка"(shell)). Например, вы хотите установить ежедневную подпрограмму, которая копирует все файлы подготовки текстов на съемный диск и удаляет все файлы в папке "Temp" на жестком диске. Кроме того, возможно вы хотите, чтобы эти действия выполнялись ночью, когда нет никого, кому они могли бы потребоваться.
Если вы используете операционную систему с интерфейсом GUI, как например Windows, в ней нет средств для записи последовательности действий, которые вы выполняете неоднократно. Решение – создать текстовый файл (под названием "командный файл" ("batch file") – под DOS и Windows, и "сценарий" ("script") – под UNIX), который для этого использует интерфейс командной строки операционной системы.
Последовательность чтения:
Кроме того: Изучите Rob van der Woude's Scripting Page. Эта страница содержит общую информацию относительно языков сценариев и конкретно командные файлы.
|
4.3.1 Расширенные функции командной строки
-
Синтаксис команд DOS
-
Обзор команд файловой системы
-
Символы шаблонов
-
Переназначение и конвейеризация
Мы уже рассматривали командную строку DOS в 4.2.1 Лабораторная работа: Команды DOS. Более правильно назвать ее "Командная строка Microsoft (Microsoft command line)", так как она не ограничена DOS. Фактически тот же интерфейс командной строки используется во всех версиях операционной системы Windows.
С сегодняшней средой GUI большинству пользователей компьютера командная строка нужна довольно редко. Начальная инсталляция Windows и восстановление после проблем, которые препятствуют выполнению Windows GUI, – две ситуации, где пользователь зависит от командной строки, но такое случается редко. Однако, одна общая задача, где командная строка является предпочтительным решением – создание сценариев под названием "Пакетные файлы". Пакетные файлы – текстовые файлы, содержащие команды DOS, используемые для выполнения программ и управления файлами.
В конце этой страницы мы рассмотрим некоторые расширенные особенности командной строки. Затем, на следующих двух страницах, мы рассмотрим, как построены командные файлы.
Синтаксис команд DOS
Команды DOS имеют специфический синтаксис, о котором упоминалось ранее в этом курсе. Каждая строка начинается с имени команды или имени программы. (Большинство команд DOS – фактически программы). После имени команды может идти один или более переключателей или ключей (switches). Ключ записывается как слеш, за которым следует буква. Например, dir /w указывает команде работы с каталогами использовать "широкий" (расширенный) формат списка. Ключи могут также содержать параметры, которые отделяются двоеточием. Например, dir /o:s указывает команде dir упорядочить файлы по размеру, а dir /o:-g напечатать список имен каталогов в обратном порядке.
У команды могут также быть параметры, такие как имя файла или путь. Возможны и другие виды параметров. Точная форма определяется синтаксисом команды. Команда dir /w c:\ имеет путь c:\ как параметр; Эта команда печатает расширенный список файлов на диске c:\.
Ключ /? указывает команде показать справку, описывающую синтаксис команд, возможные ключи и действия команды. Если вы знаете имя команды, которую хотите использовать, но не помните ее синтаксис или ключи, вы можете использовать ключ /? для получения справки. Набирая del /? в командной строке Windows Me получим следующее:
C:\> del/? Deletes one or more files. (Удаление одного или более файлов) DEL [drive:][path]filename [/P] ERASE [drive:][path]filename [/P] [drive:][path]filename Specifies the file(s) to delete. Specify multiple files by using wildcards. (Указать файл(ы) для удаления. Указать множество файлов, используя символы обобщения имен) /P Prompts for confirmation before deleting each file. (Запрос на подтверждение удаления перед удалением каждого файла.)
Пример сверху иллюстрирует некоторые из специальных соглашений, используемых средствами DOS справки (DOS Help) для точного описания синтаксиса команд:
-
Слова, набранные в верхнем регистре, такие как "DEL" и "ERASE", должны быть набраны точно также, как они показываются в справке (Help).
-
Слова, набранные в нижнем регистре, означают переменную информацию, которую задает пользователь. Например, "drive:" указывает, какое имя используется для диска (например: A: или C:), "path" указывает на "путь" (например \Windows\bin), и "filename" указывает имя файла (например program.exe).
-
Все что заключено в квадратные скобки ("[" и "]" ) является необязательным. Если пользователь не назначил значение для необязательного элемента, командный процессор использует значение по умолчанию. Например, если нет имени диска или пути, то командный процессор предполагает, что файл расположен в текущем рабочем каталоге, как указано в справке. Команда dir использует *.* в качестве имени файла по умолчанию, то есть будет показан список всех файлов в текущем каталоге. Но, если для команды del устройство и путь необязательны, то имя файла пользователь обязательно должен выбрать.
-
Многоточие ( ...) указывает, что предыдущий элемент можно повторять любое число раз. Этого нет в примере с del, но если установить filename ..., то любое число файлов может быть удалено сразу. (В некоторых версиях Windows, команда del не принимает параметры с множеством имен файлов).
-
За исключением использования разнообразных параметров в командной строке, все компоненты должны быть набраны в определенном порядке, в котором они появляются в описании синтаксиса в справке (Help) . Параметры могут стоять в любом порядке, в том числе и между другими аргументами.
Командный процессор приглашает пользователя вводить данные с клавиатуры, когда ожидает новой команды. Подсказка часто появляется как буква дисковода, путь и правая угловая скобка ( > ). Например, подсказка может быть "C:\Windows>". Устройство и путь обращаются к "Рабочему каталогу". Если вы указываете путь файла, который не начинается с индикатора корневой папки ( \ ), командный процессор предполагает, что путь начинается в текущем рабочем каталоге. Лучше указать полный путь к файлу, во избежание непредусмотренных последствий. Все что вы набираете, может быть как в верхнем регистре, так и нижнем, так как процессор командной строки не различает регистр.
Обзор команд файловой системы
Далее – список команд DOS, обычно используемых для управления файлами. "Directory" ("Каталог") – старый термин который пользователи Windows сейчас называют "папками" (folders). Если вы хотите узнать больше об этих командах, их синтаксисе и дополнительных опциях, наберите имя команды после параметра /?.
cd |
Смена рабочего каталога. |
md |
Сделать новый католог. |
rd |
Переместить существующий пустой каталог |
deltree |
Переместить существующий каталог и его компоненты. (В Windows NT/2000 используется rd /s) |
attrib |
Смена атрибутов файла (например, файл только для чтения, системный файл, скрытый файл) |
copy |
Сделать копию файла. |
xcopy |
Сделать копию файлов и подкаталогов. |
ren |
Переименовать файл в каталоге. |
move |
Переместить файл с одного диска/каталога на другой |
del |
Удалить файлы Предупреждение: Файлы, удаленные из DOS или из командной строки Windows не могут быть восстановлены. |
dir |
Просмотр файлов в каталоге. |
type |
Просмотр содержимого текстового файла. |
Таблица 1 Команды DOS
Символы обобщения имени
Определенные команды воспринимают список имен файлов. Вместо печати списка проще использовать звездочку ( * ) в спецификации имени файла, чтобы командный процессор сгенерировал для нас список имен файлов. Звездочка ( * ) служит символом шаблона, который может соответствовать любому числу символов в имени файла. Ниже - некоторые примеры звездочки, используемой в качестве символа шаблона с командой dir:
-
Вывести только те файлы и папки из корневой папки, чьи имена начинаются с "n": dir c:\n*
-
Вывести только те файлы и папки из корневой папки, чьи имена заканчиваются на "n": dir c:\*n
-
Вывести только те файлы и папки из корневой папки, чьи имена содержат "n": dir c:\*n *
-
Вывести только те файлы из корневой папки, которые имеют расширение DOC: dir c:\*.doc
-
Вывести все файлы и папки из корневого каталога. dir c:\* В этом последнем примере символ шаблона можно опустить dir c:\ работает точно так же.
Вы должны быть очень осторожны, используя символы шаблона в интерфейсе командной строки. Когда вы вводите команду с правильным синтаксисом, процессор командной строки попытается осуществить действие, даже если вы этого и не хотели. Интервалы очень важны, так как они отделяют различные объекты в пределах команды точно так же, как отделяют слова в предложении. Рассмотрим следующие две команды:
del c:\w*
и
del c:\w *
Первая команда удаляет все файлы в корневом каталоге, чьи имена начинаются с "w". Во второй команде, обратите внимание на пробел между "w" и "*". Вторая команда удаляет не только файл называющийся C:\w, но и все файлы в текущей директории – все это только потому, что "*" стоит отдельно!
Есть другой, специфический символ шаблона - знака вопроса ( ? ) (question mark). Шаблон знака вопроса представляет один любой символ. Это означает, что символ должен находиться в ячейке, указанной знаком вопроса. Рассмотрим следующие две команды:
del c:\*.* del c:\????????.???
Первая команда удаляет все файлы в корневом каталоге диска c:. Вторая команда, которая использует знак вопроса, удаляет только файлы с именами, состоящими из восьми символов и расширениями из трех символов. Шаблон знака вопроса особенно полезен, когда имя файла известно, но точного написания имени нет, оно является обобщенным. Посмотрите, как шаблон знака вопроса может использоваться там, где точное название не известно.
Первый вариант |
Второй вариант |
Третий вариант |
Andersen |
Anderson |
Anders?n |
Tim |
Tom |
T?m |
Таблица 2 Использование шаблонов
Использование шаблона звездочки дает больше несвязанных результатов, чем вопросительный знак в этих ситуациях. "?" чаще всего используется для ссылки на группу файлов с похожими именами – file1, file2, file3, file4, и так далее:
dir file?
Переназначение и конвейеризация
Процессор командной строки обеспечивает некоторый дополнительный синтаксис, который может использоваться для управления вводом данных программой (если это не клавиатура) и направлением вывода (если не на монитор). Это средство называется перенаправлением (redirection). Большинство команд и программ написаны для ссылки на виртуальные устройства, известные как Стандартный Ввод (Standard Input) и Стандартный Вывод (Standard Output) для целей ввода/вывода I/O. На ПК, командный процессор координируется с операционной системой, чтобы перенаправить все данные от драйвера клавиатуры к виртуальному устройству стандартного ввода, а все данные от виртуального устройства стандартного вывода к драйверу дисплея. Переназначение позволяет пользователю изменить этот порядок, связывая виртуальные устройства с другими данными, расположенными, например, на диске. Левая скобка ( < ) используется для перенаправления стандартного ввода, а правая угловая скобка ( > ) используется для перенаправления стандартного вывода. Например, команда dir >files.txt вызывает запись командой dir списка файлов каталога в файл FILES.TXT текущего каталога.
: Ниже несколько примеров использования перенаправления.
-
Вывести список файлов текущего каталога на принтер. dir c:\*.* >lpt:
-
Создать новый текстовый файл с именем "temp.txt", содержащий список файлов из корневого каталога. (Примечание: На дисплее ничего не появится): dir c:\*.* >c:\temp.txt
-
Запустить "program.exe" и указать ему взять данные из текстового файла INPUT.DAT, а не с клавиатуры: c:\program.exe <c:\input.dat
-
Запустить "program.exe", указать ему взять данные из текстового файла "input.dat", а не с клавиатуры и отобразить вывод на принтере: c:\program.exe <c:\input.dat >lpt:
Другая часть синтаксиса позволяет назначить вывод в конец файла – или создать файл, если он еще не существует. Это делается, используя >> для переназначения записи. Например, чтобы добавить список файлов корневого каталога в конец файла TEMP.TXT, сделайте следующее dir c:\*.* >>c:\temp.txt. Если вы сделаете это дважды, у вас в файле будет две копии списка, потому что >> означает присоединение к файлу вместо его перезаписи.
Конвейеризация функция командного процессора, которая связывает две команды вместе через переназначение: вывод первой команды становится вводом для второй. Для того чтобы обеспечить это, Стандартный Вывод (Standard Output) первой команды переназначается во временный файл, созданный командным процессором. Вторая команда в командной строке затем вызывается командным процессором, который перенаправляет стандартный Ввод во временный, только что созданный файл. После того, как вторая команда завершается, временный файл удаляется командным процессором.
Для передачи данных из одной команды в другую, как описано выше, пользователь отделяет две команды в командной строке символом вертикальной черты ( | ). (Символ вертикальной черты иногда произносится " трубка"(pipe)) Мы уже видели пример pipe в других командах:
Показать все параметры команды dir: dir /? | more
Другая команда, обычно использующая конвейеризацию команда findstr, которая находит строки в файле, согласующиеся с определенной строкой, или шаблоном.
Чтобы отобразить текущие переменные среды, чьи имена содержат строку "HOME", сделайте следующее:
set | findstr /i home
Ключ /i говорит findstr, что она должна принимать буквы как верхнего, так и нижнего регистра.