Лекция №2 по дисциплине «Операционные системы и оболочки» Тема №2 Операционные оболочки и среды для студентов специальности 230400. 62 Информационные системы и технологии


Условное выполнение и группировка команд



Скачать 98.53 Kb.
страница4/4
Дата18.11.2016
Размер98.53 Kb.
Просмотров1181
Скачиваний0
ТипЛекция
1   2   3   4

Условное выполнение и группировка команд


В командной строке Windows NT/2000/XP можно использовать специальные символы, которые позволяют вводить несколько команд одновременно и управлять работой команд в зависимости от результатов их выполнения. С помощью таких символов условной обработки можно содержание небольшого пакетного файла записать в одной строке и выполнить полученную составную команду.

Используя символ амперсанда &, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Например, если набрать команду DIR & PAUSE & COPY /? и нажать клавишу , то вначале на экран будет выведено содержимое текущего каталога, а после нажатия любой клавиши — встроенная справка команды COPY.

Символ ^ позволяет использовать командные символы как текст, то есть при этом происходит игнорирование значения специальных символов. Например, если ввести в командной строке

ECHO Абв & COPY /?

и нажать клавишу , то произойдет выполнение подряд двух команд: ECHO Абв и COPY /? (команда ECHOвыводит на экран символы, указанные в командной строке после нее). Если же выполнить команду

ECHO Абв ^& COPY /?

то на экран будет выведено

Абв & COPY /?

В этом случае просто выполняется одна команда ECHO с соответствующими параметрами.

Условная обработка команд в Windows осуществляется с помощью символов && и || следующим образом. Двойной амперсанд && запускает команду, стоящую за ним в командной строке, только в том случае, если команда, стоящая перед амперсандами была выполнена успешно. Например, если в корневом каталоге диска C: есть файл plan.txt, то выполнение строки TYPE C:\plan.txt && DIR приведет к выводу на экран этого файла и содержимого текущего каталога. Если же файл C:\plan.txt не существует, то команда DIR выполняться не будет.

Два символа || осуществляют в командной строке обратное действие, т.е. запускают команду, стоящую за этими символами, только в том случае, если команда, идущая перед ними, не была успешно выполнена. Таким образом, если в предыдущем примере файл C:\plan.txt будет отсутствовать, то в результате выполнения строки TYPE C:\plan.txt || DIR на экран выведется содержимое текущего каталога.

Отметим, что условная обработка действует только на ближайшую команду, то есть в строке

TYPE C:\plan.txt && DIR & COPY /?

команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt.

Несколько утилит можно сгруппировать в командной строке с помощью скобок. Рассмотрим, например, две строки:

TYPE C:\plan.txt && DIR & COPY /?

TYPE C:\plan.txt && (DIR & COPY /?)

В первой из них символ условной обработки && действует только на команду DIR, во второй — одновременно на две команды: DIR и COPY.


Примеры команд для работы с файловой системой


Рассмотрим некоторые наиболее часто используемые команды для работы с файловой системой. Отметим сначала несколько особенностей определения путей к файлам в Windows.
Пути к объектам файловой системы

Напомним, что файловая система логически имеет древовидную структуру и имена файлов задаются в формате [диск:][путь\]имя_файла, то есть обязательным параметром является только имя файла. При этом, если путь начинается с символа "\", то маршрут вычисляется от корневого каталога, иначе — от текущего каталога. Например, имя C:123.txt задает файл 123.txt в текущем каталоге на диске C:, имя C:\123.txt — файл 123.txt в корневом каталоге на диске C:, имя ABC\123.txt — файл 123.txt в подкаталоге ABC текущего каталога.

Существуют особые обозначения для текущего каталога и родительского каталогов. Текущий каталог обозначается символом . (точка), его родительский каталог — символами .. (две точки). Например, если текущим каталогом является C:\WINDOWS, то путь к файлу autoexec.bat в корневом каталоге диска C: может быть записан в виде ..\autoexec.bat.

В именах файлов (но не дисков или каталогов) можно применять так называемые групповые символы или шаблоны: ? (вопросительный знак) и * (звездочка). Символ * в имени файла означает произвольное количество любых допустимых символов, символ ? — один произвольный символ или его отсутствие. Скажем, под шаблон text??1.txt подходят, например, имена text121.txt и text11.txt, под шаблон text*.txt — имена text.txt, textab12.txt, а под шаблон text.* — все файлы с именем text и произвольным расширением.

Для того, чтобы использовать длинные имена файлов при работе с командной строкой, их нужно заключать в двойные кавычки. Например, чтобы запустить файл с именем 'Мое приложение.exe' из каталога 'Мои документы', нужно в командной строке набрать "C:\Мои документы\Мое приложение.exe" и нажать клавишу .

Перейдем теперь непосредственно к командам для работы с файловой системой.

Команда CD

Текущий каталог можно изменить с помощью команды

CD [диск:][путь\]

Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.

Команда COPY

Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY.

Синтаксис этой команды:

COPY [/A|/B] источник [/A|/B] [+ источник [/A|/B] [+ ...]]

[результат [/A|/B]] [/V][/Y|/–Y]

Краткое описание параметров и ключей команды COPY приведено в табл. 2.1.



Таблица 2.1. Параметры и ключи команды COPY

Параметр

Описание

источник

Имя копируемого файла или файлов

/A

Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (+)

/B

Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла

результат

Каталог для размещения результата копирования и/или имя создаваемого файла

/V

Проверка правильности копирования путем сравнения файлов после копирования

/Y

Отключение режима запроса подтверждения на замену файлов

/-Y

Включение режима запроса подтверждения на замену файлов

Приведем примеры использования команды COPY.


  1. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:

COPY abc.txt D:\PROGRAM

  1. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:

COPY abc.txt D:\PROGRAM\def.txt

  1. Копирование всех файлов с расширением txt с диска A: в каталог 'Мои документы' на диске C:

COPY A:\*.txt "C:\Мои документы"

Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую краткую команду:

COPY A:\*.*

В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN: COPY abc.txt PRN

Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду COPY CON my.txt, которая будет копировать то, что вы набираете на клавиатуре, в файл my.txt (если этот файл существовал, то он перезапишется, иначе — создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши +.

Команда COPY может также объединять (склеивать) несколько файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:

COPY 1.txt+2.txt 3.txt

Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:

COPY /B *.dat all.dat

Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлы текстовыми.

Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и времени без модификации его содержимого. Для этого нужно ввести команду типа

COPY /B 1.txt +,,

Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.

Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.


Команда XCOPY

Указанные при описании команды COPY проблемы можно решить с помощью команды XCOPY, которая предоставляет намного больше возможностей при копировании. Необходимо отметить, правда, что XCOPY может работать только с файлами и каталогами, но не с устройствами.

Синтаксис этой команды:

XCOPY источник [результат] [ключи]

Команда XCOPY имеет множество ключей, мы коснемся лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать только файлы, измененные не ранее указанной даты. Если параметр дата не указан, то копирование будет производиться только если источник новее результата. Например, команда

XCOPY "C:\Мои документы\*.*" "D:\BACKUP\Мои документы" /D

скопирует в каталог 'D:\BACKUP\Мои документы' только те файлы из каталога 'C:\Мои документы', которые были изменены со времени последнего подобного копирования или которых вообще не было в 'D:\BACKUP\Мои документы'.

Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.

Если указан ключ /C, то копирование будет продолжаться даже в случае возникновения ошибок. Это бывает очень полезным при операциях копирования, производимых над группами файлов, например, при резервном копировании данных.

Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT,

XCOPY *.txt TEXT /I

то подкаталог TEXT будет создан без дополнительных запросов.

Ключи /Q, /F и /L отвечают за режим отображения при копировании. При задании ключа /Q имена файлов при копировании не отображаются, ключа/F — отображаются полные пути источника и результата. Ключ /L обозначает, что отображаются только файлы, которые должны быть скопированы (при этом само копирование не производится).

С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R — заменять файлы с атрибутом "Только для чтения". Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести следующую команду:

XCOPY C:\*.* D:\SYS /H

Ключ /T позволяет применять XCOPY для копирования только структуры каталогов источника, без дублирования находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /E.

Используя XCOPY можно при копировании обновлять только уже существующие файлы (новые файлы при этом не записываются). Для этого применяется ключ /U. Например, если в каталоге C:\2 находились файлы a.txt и b.txt, а в каталоге C:\1 — файлы a.txt, b.txt, c.txt и d.txt, то после выполнения команды

XCOPY C:\1 C:\2 /U

в каталоге C:\2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое которых будет заменено содержимым соответствующих файлов из каталога C:\1.Если с помощью XCOPY копировался файл с атрибутом "Только для чтения", то по умолчанию у файла-копии этот атрибут снимется. Для того, чтобы копировать не только данные, но и полностью атрибуты файла, необходимо использовать ключ /K.

Ключи /Y и /-Y определяют, нужно ли запрашивать подтверждение перед заменой файлов при копировании. /Y означает, что такой запрос нужен, /-Y— не нужен.

Четвертый учебный вопрос - Операционные среды.

Под операционной средой (operating environment) понимается комплекс средств, обеспечивающих разработку и выполнение прикладных программ и представляющих собой набор функций и сервисов операционной системы и правил обращения к ним. Это понятие отражает аспект рассмотрения операционной системы как виртуальной машины. В общем случае операционная среда включает операционную систему, программное обеспечение, интерфейсы прикладных программ, сетевые службы, базы данных, языки программирования и другие средства выполнения работы на компьютере – в зависимости от решаемых задач. Очевидно, что операционные оболочки являются компонентами операционной среды.

В такой трактовке примерами операционных сред могут служить следующие:

ОС Windows +Delphi + вспомогательные средства – операционная среда разработчика прикладных приложений;

ОС Windows + Adobe Photoshop + Adobe Illustrator + Macromedia Dreamweaver + Internet Explorer + вспомогательные средства – операционная среда WEB-разработчика;

ОС FreeBSD + WEB-сервер Apache + сервер СУБД MySQL + интерпретатор PHP + программы защиты + вспомогательные средства – операционная среда для создания приложений, работающих на стороне сервера.

Однако использование термина «операционная среда» объясняется прежде всего тем, что одна операционная система может поддерживать несколько операционных сред путем эмуляции функций других операционных систем. Такая поддержка на разных этапах развития ОС в зависимости от целей и класса ОС может быть более или менее целесообразной.

Так, для ОС Unix существует ряд приложений, например, WINE, которые позволяют в некоторой степени эмулировать интерфейс прикладного программирования WIN32API и, таким образом, позволяют запускать некоторые приложения, разработанные для ОС Windows. Однако практическая значимость такой деятельности невелика.

На профессиональных компьютерах и под ОС Unix, и под ОС Windows достаточно успешно эмулируются мобильные ОС, что дает возможность разработки и эксплуатации соответствующих приложений в отсутствие самой мобильной платформы. С усложнением мобильных платформ такая разработка будет все более и более усложняться, и целесообразность ее может снизиться.

Для ОС Windows в период с 1995 года и практически до настоящего времени имела место ситуация, когда 32-разрядные ОС путем эмуляции предшествующих, 16-разрядных, позволяли создать соответствующие операционные среды и, таким образом, работать с приложениями, написанными для старших ОС.

Такая эмуляция более старого программного обеспечения (legacy) обеспечивает совместимость более ранних версий ОС с более поздними. Например, Windows 95/98 позволяли запускать программы для MS DOS.

Для Windows 2000/XP эта возможность тоже есть, но играет весьма незначительную роль, а с выходом обновления и дополнения Service Pack 2 к Windows XP при установке последнего она вообще убирается. Это объясняется появлением летом 2005 г. 64-разрядной ОС WINXP64E, в связи с чем все ныне функционирующее программное обеспечение переводится в статус legacy, а предшествующее legacy должно прекратить свое существование.


Вопросы для самопроверки:

  1. Отличие GUI операционных систем Windows и UNIX

  2. Назовите графические операционные оболочки

  3. Назовите неграфические операционные оболочки

  4. Состав системы X Windows

  5. Встроенные команды cmd.exe

  6. Внешние команды cmd.exe

Список литературы:



  1. Сетевые операционные системы/ В.Г. Олифер, Н.А. Олифер. – СПб.: Питер, 2009. - 672 с.: ил.

  2. Операционные системы: Учебник для вузов. 2-е изд. /А.В. Гордеев. – СПб.: Питер, 2006. - 416 с.: ил.

Лекцию разработал

Доцент кафедры «Информационных систем»

к.т.н., Д. Резеньков


«___»__________________2014 г.


Каталог: company -> personal -> user -> 11576 -> files -> lib -> %20Операционные%20системы%20и%20оболочки -> %203.%20Учебно-методическое%20обеспечение%20дисциплины -> %20лекции%20в%20умк
files -> Лекция №3 по дисциплине«Операционные системы» Тема №3 Архитектура операционной системы для студентов специальности 080500. 62-Бизнес-информатика шифр наименование
%20лекции%20в%20умк -> Лекция №14 Концепции распределенной обработки в сетевых ос по дисциплине«Операционные системы и оболочки» Тема №7 Сетевые операционные системы для студентов специальности 230400. 62-Информационные системы и технологии
files -> Лекция №2 по дисциплине«Операционные системы» Тема №2 Операционные оболочки и среды для студентов специальности 080500. 62 Бизнес-информатика шифр наименование
%20лекции%20в%20умк -> Лекция №10 Реестр операционной системы Windows по дисциплине«Операционные системы и оболочки» Тема №6 Файловая система ос для студентов специальности 230400. 62-Информационные системы и технологии шифр наименование
files -> Лекция №1 по дисциплине «Операционные системы и оболочки» Тема №1 Введение в операционные системы для студентов специальности 230400. 62 -информационные системы и технологии
files -> Лекция №12 Средства защиты информации в сети по дисциплине«Операционные системы и оболочки» Тема №7 Сетевые операционные системы для студентов специальности 230400. 62-Информационные системы и технологии


Поделитесь с Вашими друзьями:
1   2   3   4


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал