МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет
“ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КОМАНДНІ ФАЙЛИ ОПЕРАЦІЙНОЇ СИСТЕМИ
МЕТОДИЧНІ ВКАЗІВКИ ДО КОНТРОЛЬНИХ РОБІТ
З ДИСЦИПЛІНИ “ОПЕРАЦІЙНІ СИСТЕМИ”
для студентів спеціальності 6.0914
“Комп’ютеризовані системи, автоматика і управління”
Затверджено
на засіданні кафедри
"Автоматика та телемеханіка"
Протокол № 11 від “01”лютого 2005 р.
Львів 2005
Командні файли операційної системи: Методичні вказівки до контрольних робіт з дисципліни “Операційні системи” для студентів спеціальності 6.0914 “Комп’ютеризовані системи, автоматика і управління” / Укл.: Р.А.Гордійчук, А.Е.Лагун, В.І.Отенко – Львів: НУЛП, 2005 - 13 с.
Укладачі:Р.А.Гордійчук, ст. викладач
А.Е.Лагун, к.т.н., доцент
В.І.Отенко, к.т.н., доцент
Відповідальний за випуск:І.М.Ковела, к.т.н., доцент
Рецензенти: В.В.Самотий, д.т.н., професор
1. КОРОТКІ ТЕОРЕТИЧНІ ДАНІ
Основні команди ОС для управління
файловою системою
Файл – це найменша пойменована логічно впорядкована структурно нероздільна сукупність даних на диску. В залежності від типу інформації, яка зберігається у файлі розрізняють текстові, графічні, програми в машинних кодах тощо. Для файлів одного типу існує декілька форматів запису даних.
Каталог – це пойменована сукупність файлів та вкладених каталогів на диску, логічно об’єднаних за функціональним призначенням (пакет прикладних програм, СУБД, текстові файли по одній тематиці тощо). З точки зору структури даних каталог – це файл, записаний в особливому форматі файлової системи, що містить список вкладених в нього файлів і каталогів.
Безпосередньо імена файлів і каталогів, як логічної одиниці даних на диску складаються з двох частин :
Ім’я[.розширення],
де ім’я – основний ідентифікатор файлу (каталогу), який може складатися з 1 – 8 дозволених символів;
розширення – додатковий ідентифікатор, який визначає тип (формат) файлу або додаткову специфікацію каталогу, і може складатися з 1 – 3 дозволених символів.
В іменах (розширеннях) файлів та каталогів можуть використовуватися в довільній послідовності літери латинського алфавіту, цифри та символи - , _ , $ , @ , #, & , ! , % , ( , ) , [, ] , { , } , ‘ , ~ , ^ .
В операційній системі MS DOS (Windows) використовуються наступні стандартні розширення файлів:
.com, .exe – програми в машинних кодах;
.bat – командні файли;
.txt, .doc – текстові документи;
.bas, .pas, .c, .cpp, .asm – тексти програм на алгоритмічних мовах;
.bat – копії текстових файлів.
Наступні послідовності символів заборонено використовувати в якості імен файлів, можуть бути використані в якості розширень:
AUX – зовнішній пристрій;
COM1…COM3 – пристрої (порти) послідовного вводу-виводу;
LPT1…LPT4 – пристрої (порти) паралельного вводу-виводу;
CON – консоль, стандартний пристрій вводу або виводу;
PRN – друкуючий пристрій;
NUL – “порожній” пристрій.
При необхідності точно вказати місце знаходження файлу в системі каталогів перед іменем файлу вказують шлях до нього:
[Диск:][\каталог1\каталог2\...\]ім’я[.розширення]
При виконанні команд ОС можна використовувати шаблони імен файлів, для визначення групи файлів, що будуть оброблятися однією командою. В шаблонах використовують наступні символи:
* – довільна послідовність символів в імені;
? – довільний символ.
Наприклад: *.* , *.txt , pr?*.doc , ???.*.
Командна мова – це підсистема ОС, яка реалізує взаємодію користувача з усіма ресурсами ПК (апаратними і програмними) шляхом виконання окремих команд або їх послідовності в командному рядку або через командний файл. Інструментом підтримки командної мови MS DOS є командний процесор command.com.
Командний рядок починається із заданої командою PROMT послідовності, яка за замовчуванням має наступний вигляд:
диск:\[шлях]>_ ,
де диск: – поточний логічний диск;
шлях – поточний каталог.
Всі команди MS DOS за типом їх реалізації можна розділити на дві групи:
внутрішні, які вбудовані безпосередньо в командний процесор і не вимагають на диску додаткових файлів програм для їх виконання;
зовнішні, так звані утиліти, які реалізуються окремими файлами машинних кодів, що постачаються в комплекті ОС (в каталозі DOS).
Виходячи з цього виконання будь-якої прикладної програми можна розглядати як виконання зовнішньої команди ОС.
За призначенням команди поділяють на:
загального призначення, що можуть виконуватися в командному рядку або через командні файли;
управління виконанням командних файлів.
Загальний формат команд загального призначення можна представити у вигляді:
команда[параметри][опції],
де параметри – імена файлів, каталогів, пристроїв, спеціальна послідовність символів тощо, які визначають об’єкти дії та основні режими (тип дії) команди;
опції – один або послідовність символів, які визначають додаткові умови (режими) виконання команди; кожна опція починається символом /; опції розділяються між собою пробілами.
При виконанні команд (командних файлів, прикладних програм) за замовчуванням вхідні параметри вводяться з клавіатури (стандартного пристрою вводу) в командний рядок, а повідомлення і результати виконання команд виводяться на дисплей (стандартний пристрій виводу).
При необхідності ввід і вивід для команд і прикладних програм можна перенаправити з допомогою наступних символів:
< - перенаправлення вводу даних (джерело < команда);
> - перенаправлення виводу даних (команда > приймач);
>> - перенаправлення вводу даних в файл з доповненням в кінець файлу (команда >> файл );
| - перенаправлення результату виводу попередньої команди на вхід наступної (конвеєризація команд – команда1 | команда2 | команда3).
Основні команди управління файловою системою операційної системи MS DOS наведені в таблиці 1.
Таблиця 1
Загальний формат
Команди
Призначення
Тип
Основні опції
Управління дисками
Fdisk
Створення розділів і логічних дисків
Зовн.
Format диск:
Форматування логічного диску
Зовн.
/b, /s, /v, /u, /q
Chkdsk [диск:][[шлях\]файл]
Перевіряє правильність зберігання даних у файлах та фізичний стан логічного диску
Зовн.
/f, /v
Diskcopy [диск1:][диск2:]
Посекторне копіювання дискет
Зовн.
Disccomp [диск1:[диск2:]]
Порівнює вміст двох дискет
Зовн.
диск:
Зміна поточного диску
Внутр.
Управління каталогами
Tree [диск:][шлях]
Вивід структури каталогу
Зовн.
Dir [диск:][шлях][файли]
Вивід вмісту каталогів
Внутр.
Mkdir (md) [диск:] шлях
Створення каталогу
Внутр.
Rmdir (rd) [диск:] шлях
Вилучення порожнього каталогу
Внутр.
Chdir (cd) [диск:] шлях(..)
Зміна поточного каталогу
Внутр.
Comp [диск1:][шлях1]
[диск2:][шлях2]
Порівняння вмісту каталогів
Зовн.
Xcopy [диск1:][шлях1]
[диск2:][шлях2]
Копіює вміст каталогу
Зовн.
Управління файлами
Type [диск:][шлях] файл
Вивід вмісту файлу
Внутр.
del | erease [диск:][шлях] файл
Вилучення файлу на диску
Внутр.
Ren [диск:][шлях] файл1 файл2
Змінює ім’я файлу
Внутр.
Copy [диск1:][шлях1] файл1
[диск2:][шлях2] [файл2]
Копіює файл(и) з одного каталогу в інший
Внутр.
Attrib [r][a][s][h]
[диск:][шлях][файл]
Встановлює нові атрибути
Зовн.
Print [диск:][шлях] файл
Виводить на друк вміст текстових файлів в фоновому режимі
Зовн.
Path [[диск:][шлях]
[;[диск:][шлях]...]]
Визначає послідовність пошуку файлів командним процесором і прикладними програмами, якщо їх місцезнаходження точно не вказане
Внутр.
Для отримання довідки про формат, призначення та опції будь-якої команди необхідно в командному рядку набрати ім’я команди і задати опцію /?:
команда /?
1.2. Створення командних файлів
Якщо для виконання поставленої задачі необхідно виконати деяку послідовність команд ОС і/або прикладних програм, при цьому таку послідовність необхідно часто повторювати, то це можна реалізувати з допомогою командних файлів.
Командний файл – це текстовий файл з розширенням .bat, що містить задану послідовність виконання команд ОС та прикладних програм, яка може супроводжуватися перевіркою значень вхідних (фактичних) параметрів та результатів виконання попередніх команд і програм, вказаних в послідовності, та організацію повторень (циклів) виконання окремих команд і програм.
Для управління виконанням команд (програм), вказаних в тексті командного файлу, використовуються спеціальні команди (таблиця 2).
Командним файлам можна передавати параметри, звернення до яких всередині командного файлу відбувається за їх порядковими номерами в командному рядку за наступним форматом:
%n,
де n – число в діапазоні 0...9; 0 – означає ім’я командного файлу.
В командних файлах можна використовувати значення змінних середовища, помістивши ім’я змінної між двома символами %:
%змінна%
Розглянемо декілька прикладів використання команди for:
for %%v in (a, c, d) do dir %%v: - вивід на екран вмісту кореневого каталогу вказаних дисків;
for %%p in (%path%) do if exist %%p\*.bat copy %%p\*.bat c:\batch – копіює всі командні файли з каталогів, вказаних у змінній середовища path, в каталог c:\batch.
Таблиця 2
Загальний формат
команди
Призначення
Echo [on|off] | [повідомлення]
Контроль за виводом повідомлень на екран.
Call [диск:][шлях] файл[.bat] [параметри]
Виклик іншого командного файлу.
Pause [рядок]
Призупиняє виконання командного файлу і виводить рядок та Strike a key when ready…, якщо встановлено echo on. Якщо встановлено echo off, команда ігнорується.
Rem [рядок]
Виводить рядок, якщо встановлено echo on. Якщо встановлено echo off, рядок сприймається як коментар.
Shift
Зсуває вліво (зменшує на 1) номер кожного параметра даного командного файлу. Це дозволяє початково вказувати більше 9-ти параметрів.
Goto [:] мітка
Безумовний перехід на рядок командного файлу, після рядку з :міткою.
If [not] errorlevel n команда
Виконується команда, якщо остання виконана програма (команда) повертає значення рівне або більше (not - менше) значення n.
If [not] рядок1==рядок2 команда
Виконується команда, якщо рядок1==рядок2 (not – не співпадають).
If [not] exist файл команда
Виконується команда, якщо файл існує (not – не існує) на диску.
For %[%]змінна in (список) do команда [параметри]
Виконує команду для кожного файлу або диску, вказаного в списку, почергово присвоюючи змінній імена файлів зі списку. Два символи % використовуються в командних файлах. Змінна – одна з літер латинського алфавіту a…z.
@
Використання символу на початку командного рядка (перед командою), забороняє вивід самої команди на екран (принтер, файл), якщо встановлено echo on, зокрема echo off.
Приклад командного файлу:
Створити командний файл для встановлення заданого атрибуту у файлів із заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH, і в їх вкладених підкаталогах. Забезпечити блокування виводу команд командного файлу, максимальне блокування повідомлень ОС, контроль наявності вхідних параметрів і значення змінної середовища PATH, вивід інформації про успішність виконання операції.
@echo off
if "%2"=="" goto Unsuccessful
if "%PATH%"=="" goto Unsuccessful
for %%p in (%PATH%) do if exist %%p\*.%2 attrib %1 %%p\*.%2 /S >nul
echo Успішне виконання
goto End
:Unsuccessful
echo Неуспішне виконання
:End
Виклик такого командного файлу через командний рядок операційної системи має наступний формат:
C:\MYDIR\>myfile.bat +r com
Створити командний файл (текстовий файл) з командного рядка можна з допомогою наступної команди:
copy con myfile.bat
Після цього необхідно ввести з клавіатури рядки командного файлу. Після вводу останнього рядка необхідно ввести комбінацію клавіш Ctrl+Z і натиснути клавішу Enter для запису введених рядків в файл.
2. ЗАВДАННЯ
Ознайомитися з основами організації файлової системи операційної системи MS DOS (Windows).
Ознайомитися із синтаксисом та використанням основних команд управління файловою системою.
Ознайомитися із синтаксисом та використанням команд управління для командних файлів.
Написати командний файл для виконання визначеного завдання. Варіанти завдань вказані в таблиці 3.
Відлагодити і виконати на комп’ютері створений командний файл. Результати виконання занести в звіт.
Таблиця 3
№ варіанту
Завдання
1
2
1
Створити командний файл для копіювання файлів із заданим розширенням з довільного каталогу на диску С: в заданий каталог на диску G: та виводу результату копіювання на стандартний пристрій виводу. При необхідності заданий каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і існування файлу, що копіюється, та вивід повідомлення про успішність виконання операції.
2
Створити командний файл для переміщення файлів із заданим розширенням з заданого каталогу на заданому диску в каталог G:\шлях\NEW (шлях вказується користувачем) та виводу повідомлень про переміщення і результату в заданий файл. При необхідності каталог G:\шлях\NEW повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та існування файлів, що переміщуються, та вивід повідомлення про успішність виконання операції.
3
Створити командний файл для зміни заданого розширення файлів у заданому каталозі на диску G: на нове задане розширення та виводу результату на стандартний пристрій виводу. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і існування файлів, що перейменовуються, та вивід повідомлення про успішність виконання операції.
4
Створити командний файл для копіювання у заданий файл усіх текстових файлів з заданим розширенням, які знаходяться в заданому каталозі і наступного їх видалення. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і вивід повідомлення про успішність виконання операцій.
Таблиця 3(продовження)
1
2
5
Створити командний файл для виводу на стандартний пристрій виводу списку файлів з заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH і наступного їх копіювання у вказаний каталог на диску G:. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідного параметру і значення змінної середовища PATH, вивід повідомлення про успішність виконання операцій.
6
Створити командний файл для копіювання в каталог G:\шлях\TEXT (шлях вказується користувачем) файлів з розширенням exe, які знаходяться в каталогах, вказаних у змінній середовища PATH. При необхідності вказаний каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності значення змінної середовища PATH, вивід інформації про успішність виконання операції.
7
Створити командний файл для встановлення заданого атрибуту у файлів із заданим розширенням, які знаходяться у всіх підкаталогах заданого каталогу на диску G: і наступного їх копіювання в заданий каталог. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів, існування заданого каталогу, вивід інформації про успішність виконання операцій.
8
Створити командний файл для виводу у заданий файл в широкому форматі з сортуванням за іменем в алфавітному порядку списку файлів із заданим розширенням, які знаходяться в заданому каталозі і переміщення їх в каталог G:\шлях\NEXT (шлях вказується користувачем). Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідних параметрів та вивід повідомлення про успішність виконання операції.
9
Створити командний файл для виводу на стандартний пристрій виводу з сортуванням за розміром в порядку зменшення списку файлів з заданим розширенням, які знаходяться в заданому каталозі на заданому диску. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідних параметрів та вивід повідомлення про успішність виконання операції.
10
Створити командний файл для виводу в заданий файл списку файлів із заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH і встановлення для них заданого атрибуту. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідного параметру і значення змінної середовища PATH, вивід повідомлення про успішність виконання операцій.
Таблиця 3(продовження)
1
2
11
Створити командний файл для копіювання у заданий каталог на диску G: усіх файлів з заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH та виводу результату копіювання на стандартний пристрій виводу. При необхідності заданий каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та значення змінної середовища PATH, вивід повідомлення про успішність виконання операцій.
12
Створити командний файл для копіювання файлів із заданим розширенням з каталогів на заданому диску в заданий каталог на диску G: із заданим новим розширенням файлів та виводу результату копіювання в заданий текстовий файл. При необхідності заданий каталог повинен бути створений. Забезпечити блокування виводу команд командного файлу, максимальне блокування повідомлень ОС, контроль наявності вхідних параметрів і існування файлу, що копіюється, та вивід інформації про успішність виконання операції.
13
Створити командний файл для перейменування файлів із заданим розширенням із одного заданого каталогу на диску G: в другий заданий каталог на диску G: та виводу результату на стандартний пристрій виводу. При необхідності другий каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і існування файлу, що копіюється, та вивід повідомлення про успішність виконання операції.
14
Створити командний файл для переміщення файлів з заданим розширенням із заданого каталогу на заданому диску в каталог G:\шлях\TTT (шлях вказується користувачем) та виводу повідомлень про переміщення і результату на стандартний пристрій виводу. При необхідності каталог G:\шлях\TTT повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та існування файлів, що переміщуються, та вивід повідомлення про успішність виконання операції.
15
Створити командний файл для зміни заданого розширення файлів у заданому каталозі на диску G: на нове задане розширення та виводу результату в заданий файл. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і існування файлів, що перейменовуються, та вивід повідомлення про успішність виконання операції.
Таблиця 3(продовження)
1
2
16
Створити командний файл для копіювання у заданий файл усіх текстових файлів з заданим розширенням, які знаходяться в каталогах, визначених змінною середовища PATH. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів і вивід повідомлення про успішність виконання операції.
17
Створити командний файл для виводу на стандартний пристрій виводу списку файлів з заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH, і копіювання їх у вказаний каталог на диску G:. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідного параметру і значення змінної середовища PATH, вивід повідомлення про успішність виконання операції.
18
Створити командний файл для копіювання в підкаталог TEXT заданого каталогу файлів з розширенням dll, які знаходяться в каталогах, вказаних у змінній середовища PATH. При необхідності вказаний каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності значення змінної середовища PATH, вивід інформації про успішність виконання операції.
19
Створити командний файл для встановлення заданого атрибуту у файлів із заданим розширенням, які знаходяться у всіх підкаталогах заданого каталогу на диску G:. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів, існування заданого каталогу, вивід інформації про успішність виконання операції.
20
Створити командний файл для копіювання вмістимого заданого каталогу в заданий каталог на диску G: і виводу у заданий файл в широкому форматі з сортуванням за іменем в алфавітному порядку списку файлів із заданим розширенням, які знаходяться в скопійованому каталозі. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідних параметрів та вивід повідомлення про успішність виконання операції.
21
Створити командний файл для виводу на стандартний пристрій виводу з сортуванням за розміром в порядку зменшення списку файлів з заданим розширенням, які знаходяться в заданому каталозі на заданому диску і переміщення їх в каталог COPY на диску G:. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідних параметрів та вивід повідомлення про успішність виконання операції.
Таблиця 3(закінчення)
1
2
22
Створити командний файл для виводу в заданий файл списку файлів із заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH і копіювання всіх знайдених файлів у вказаний каталог на диску G:. Забезпечити блокування виводу на екран команд командного файлу, контроль наявності вхідного параметру і значення змінної середовища PATH, вивід повідомлення про успішність виконання операції.
23
Створити командний файл для копіювання у заданий каталог на диску G: усіх файлів з заданим розширенням, які знаходяться в каталогах, вказаних у змінній середовища PATH та виводу результату копіювання на стандартний пристрій виводу. При необхідності заданий каталог повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та значення змінної середовища PATH, вивід повідомлення про успішність виконання операції.
24
Створити командний файл для копіювання файлів із заданим розширенням з заданого каталогу на заданому диску в заданий каталог на диску G: із заданим новим розширенням файлів та виводу результату копіювання в заданий текстовий файл. При необхідності заданий каталог повинен бути створений. Забезпечити блокування виводу команд командного файлу, максимальне блокування повідомлень ОС, контроль наявності вхідних параметрів і існування файлу, що копіюється, та вивід інформації про успішність виконання операції.
25
Створити командний файл для копіювання в каталог G:\шлях\TEMP (шлях вказується користувачем) і наступного видалення файлів з розширенням tmp, які знаходяться в каталогах, вказаних у змінній середовища PATH. При необхідності каталог TEMP повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності значення змінної середовища PATH, вивід інформації про успішність виконання операції.
3. ЗМІСТ ЗВІТУ
Завдання на лабораторну роботу.
Короткі теоретичні відомості про використані команди управління файловою системою та виконання м командних файлів.
Блок-схему виконання командного файлу.
Текст командного файлу.
Результати виконання лабораторної роботи.
Висновки про результати виконання роботи в цілому.
4. КОНТРОЛЬНІ ЗАПИТАННЯ
Поясніть структуру файлової системи в операційній системі MS DOS (Windows).
Поясніть основні правила побудови імен для файлів і каталогів.
Поясніть правила перенаправлення вводу-виводу для команд операційної системи.
Наведіть команди управління логічними дисками.
Наведіть команди управління каталогами.
Наведіть команди управління файлами.
Поясніть призначення командних файлів операційної системи.
Як здійснюється блокування виводу команд і повідомлень при виконанні командного файлу?
Які умови перевіряються командою if…?
Поясніть організацію циклів в командних файлах?
СПИСОК ЛІТЕРАТУРИ
Фодор Ж. и др. Операционные системы - от РС до OS/2: Пер. с франц. - М.:Мир, 1990.
Фролов А.В., Фролов Г.В. Операционная система MS-DOS- М.: Диалог-МИФИ, 1991/Б-ка системного программиста, Т.1, кн.3.
NT Workstation. Справочное руководство для специалистов MCSE: Пер. с англ. – М.: Издательство "Лори", 1997.