Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика_метод_KM_2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
11.91 Mб
Скачать

Внутрішні та зовнішні команди. Структура команд

Деякі команди розпізнаються і виконуються безпосередньо самим командним інтерпретатором - такі команди називаються внутрішніми (наприклад, COPY або DIR). Інші команди операційної системи представляють собою окремі програми, розташовані за замовчуванням в тому ж каталозі, що і Cmd.exe, які Windows завантажує та виконує аналогічно іншим програмам. Такі команди називаються зовнішніми (наприклад, MORE або XCOPY).

Розглянемо структуру самого командного рядка і принцип роботи з ним. Для того, щоб виконати команду, ви після запрошення командного рядка (наприклад, C: \>) вводите ім'я цієї команди (регістр не важливий), її параметри та ключі (якщо вони необхідні) і натискаєте клавішу <Enter>. Наприклад: C: \> COPY C: \ myfile.txt A: \ / V. Ім'я команди тут - COPY, параметри - C: \ myfile.txt і A: \, а ключем є / V. Відзначимо, що в деяких командах ключі можуть починатися не з символу /, а з символу - (мінус), наприклад,-V.

Багато команд Windows мають велику кількість додаткових параметрів і ключів, запам'ятати які часто буває важко. Більшість команд забезпечено вбудованою довідкою, в якій коротко описуються призначення і синтаксис даної команди. Отримати доступ до такої довідки можна шляхом введення команди з ключем /?. Наприклад, якщо виконати команду ATTRIB /?, То у вікні MS-DOS ми побачимо наступний текст:

Відображення та зміна атрибутів файлів.

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][шлях]ім’я_файлу] [/S]

+ Встановлення атрибута.

- Зняття атрибута.

R Атрибут "Только чтение".

A Атрибут "Архивный".

S Атрибут "Системный".

H Атрибут "Скрытый".

/S Обробка файлів у всіх вкладених папках вказаного шляху

Для деяких команд текст вбудованої довідки може бути досить великим і не уміщатися на одному екрані. У цьому випадку можна виводити послідовно по одному екрану за допомогою команди MORE і символу конвеєризації |, наприклад:

XCOPY /? | MORE

У цьому випадку після заповнення чергового екрану висновок допомоги буде перериватися до натискання будь-якої клавіші. Крім того, використовуючи символи перенаправлення виводу > і >>, можна текст, що виводиться на екран, направити в текстовий файл для подальшого перегляду. Наприклад, для виведення тексту довідки до команди XCOPY в текстовий файл xcopy.txt, використовується наступна команда:

XCOPY /? > XCOPY.TXT.

Примітка: Замість імені файлу можна вказувати позначення пристроїв комп'ютера. У Windows підтримуються наступні імена пристроїв: PRN (принтер), LPT1-LPT3 (відповідні паралельні порти), AUX (пристрій, що приєднуються до послідовного порту 1), COM1-COM3 (відповідні послідовні порти), CON (термінал: при введенні це клавіатура, при виводі - монітор), NUL (порожній пристрій, всі операції введення / виводу для нього ігноруються).

Перенаправлення вводу / виводу і конвеєризація (композиція) команд.

Розглянемо більш детально підтримувані в Windows UNIX-подібні концепції перепризначення пристроїв стандартного введення / виводу і конвеєрного виконання команд.

За допомогою перепризначення пристроїв введення / виводу одна програма може направити свій висновок на вхід іншій або перехопити висновок іншої програми, використовуючи його в якості своїх вхідних даних. Таким чином, є можливість передавати інформацію від процесу до процесу при мінімальних програмних затратах. Практично це означає, що для програм, які використовують стандартні вхідні і вихідні пристрої, операційна система дозволяє:

  • виводити повідомлення програм не на екран (стандартний вихідний потік), а у файл або на принтер (перенаправлення виводу);

  • читати вхідні дані не з клавіатури (стандартний вхідний потік), а з заздалегідь підготовленого файлу (перенаправлення вводу);

  • передавати повідомлення, що виводяться однією програмою, в якості вхідних даних для іншої програми (конвеєризація або композиція команд).

З командного рядка ці можливості реалізуються таким чином. Для того, щоб перенаправити текстові повідомлення, що виводяться будь – якою командою, в текстовий файл, потрібно використовувати конструкцію:

команда > ім’я_файлу

Якщо при цьому заданий для виведення файл вже існував, то він перезаписується (старий вміст втрачається), якщо не існував - створюється. Можна також не створювати файл заново, а дописувати інформацію, виведену командою, в кінець існуючого файлу. Для цього команда перенаправлення виводу повинна бути задана так:

команда >> ім'я_файлу

За допомогою символу < можна прочитати вхідні дані для заданої команди не з клавіатури, а з певного (наперед підготовленого) файлу:

команда <ім'я_файлу>

Приклади перенаправлення вводу / виводу: