Файловая система операционной системы обеспечивает основные операции над файлами: их открытие (что сопровождается копированием учетной информации о файле, обеспечивающей быстрый доступ к нему, в некоторую структуру данных, расположенную в оперативной памяти, подготовкой буферов и каналов для передачи информации), копирование, перемещение, объединение, удаление, закрытие. Вторую группу представляют операции чтения и записи составных элементов файла. Особая группа операций обеспечивает печать содержимого каталога или файлов, управление правами доступа к файлам, поиска файлов и т.д.
Развитые многопользовательские файловые системы обеспечивают также защиту и разделение данных, хранящихся в файлах, при работе с ними разных пользователей. Так, например, после входа в систему UNIX (который производится по паролю) пользователь получает доступ к ряду системных, групповых и личных каталогов и файлов. Каждый файл и каталог имеет владельца. Обычно это пользователь, создавших их. Владелец может затем назначить тип защиты файла от трех категорий пользователей:
владельца (самого себя);
представителей той же группы пользователей, и что владелец (понятие группы полезно при совместной работе над какими-либо проектами);
всех остальных пользователей системы.
Каждый файл (каталог) имеет три вида разрешения на доступ:
чтение (r – read) – можно просматривать содержимое файла (каталога);
запись (w – write) – можно менять содержимое файла (создавать или удалять файлы в каталоге);
выполнение (x – execute) – можно использовать файл как команду UNIX.
Комбинация видов доступа к файлу записывается последовательностью 9 символов:
Отсутствие права доступа обозначается минусом. Например, rwxr-x--x – файл может быть просмотрен, изменен и запущен на выполнение владельцем, просмотрен и выполнен членами группы, к которой относится владелец, и выполнен всеми остальными пользователями системы.
2. Описание полученных для реализации команд и сравнение их с
родственными командами Windows 9х
2.1 Описание команд операционной системы UNIX
CAT
сat параметры файла(ы)
Вывод содержимого файлов.
> - объединить несколько файлов в один,
>> - присоединить файл к существующему,
-s – запрет вывода пустых строк.
COMM
сomm параметры файл_1 параметры файл_2
Построчное сравнение содержимого 2-х текстовых файлов. Вывод производится в три столбца: строки, содержащиеся в первом файле; строки, содержащиеся во втором файле, строки, содержащиеся в обоих файлах.
-1 – запрет вывода 1-ого столбца,
-2 – запрет вывода 2-ого столбца,
-3 – запрет вывода 3-его столбца,
-12 – вывод только 3-его столбца,
-13 – вывод только 2-ого столбца,
-23 – вывод только 1-ого столбца.
DIRCMP
dircmp каталог_1 каталог_2
Сравнение содержимого двух каталогов и вывод информации об отличиях. Последовательно выводятся имена файлов, найденных только в первом каталоге, имена файлов, найденных только во втором каталоге, и имена файлов, присутствующих в обоих каталогах.
RMDIR
rmdir параметры каталог
Удаление каталога. Удаляемый каталог не должен содержать файлов или подкаталогов.
-р – удалить указанный каталог и его родительский каталог, если он окажется после этого пустым,
-s – запрет вывода сообщений об ошибках.
LS
ls параметры каталог
Вывод списка файлов в каталоге. Если каталог не указан, использовать текущий каталог.
-1 – вывод информации о каждом файле или каталоге с новой строки,
-a – вывод информации о всех файлах и каталогах,
-R – рекурсивный просмотр,
-l – расширенная информация о файлах,
-p –вывод наклонной черты в конце имени каталога.
MV
mv параметры исходный_файл конечный_файл
Переименование файла или перемещение одного или нескольких файлов в другой каталог.
-f – запрет запроса подтверждений при перезаписи уже существующих файлов,
-i – требование запроса подтверждения при перезаписи существующих файлов.
TR
tr строка_1 строка_2
Выполнение процедуры поиска и замены.
2.2 Описание команд MS-DOS
Общие команды MS-DOS распознаются и выполняются командным процессором command.com. Команды вводятся с клавиатуры, их ввод завершается нажатием клавиши <ENTER>.
Общие команды DOS делятся на три группы:
команды работы с дисками;
команды работы с файлами;
команды работы с каталогами;
команды управления системой;
Типовая структура команды выглядит следующим образом:
<имя_команды>[<список_параметров>][<список_ключей>]
Параметры (аргументы) указывают на те объекты, над которыми совершаются операции, ключи уточняют действие команды. Признак ключа (переключателя) – наличие косой линии ‘/’. Квадратные скобки указывают на возможность отсутствия фрагмента.
DIR
Команда работы с каталогами; выводит на экран список директориев и файлов, находящихся внутри текущего директория. Если использовать команду DIR без параметров и переключателя, она выводит имена файлов (директориев), их расширения, размеры (в байтах), дату и время создания, их число, общий размер и размер свободного дискового пространства.
Полный синтаксис таков:
DIR [диск:] [путь] [имя_файла] [/P] [/W] [/A[[:атрибуты]]]
[/O[[:]порядок_сортировки]] […]
Параметры
[диск:][путь] | указываю дисковод и каталог, оглавление которого нужно просмотреть; |
[имя_файла] | указывают файл или группу файлов, список которых необходимо получить. |
В имени файла могут быть использованы символы заместители:
? | заменяет один произвольный символ в имени файла; |
* | заменяет произвольное число произвольных символов. |
Ключи:
/Р | выводит информацию, пока экран не заполнится, для получения следующих экранов надо нажимать любую клавишу; |
/W | выводит информацию в сокращенном виде, только имена файлов и директориев (в 5 столбцов); |
/A[[:]атрибуты] | выводит информацию тех директориев и файлов, атрибуты которых указаны. |
Некоторые атрибуты:
H | скрытые файлы; |
-H | все файла, кроме скрытых; |
S | системные файлы; |
-S | все файлы, кроме системных; |
D | директории; |
-D | только файлы; |
R | файлы только для чтения. |
Параметр
/Q[[:]порядок_сортировки]
управляет порядком сортировки файлов в выдаваемом на экран списке. Без этого параметра имена файлов и директориев выдаются в алфавитном порядке. Задавая его соответствующим образом, можно организовать вывод файлов и директориев в порядке, обратном алфавитному, в алфавитном или обратном порядке по именам расширений, в порядке возрастания или убывания даты и времени последнего изменения содержимого файла или директория, в порядке возрастания или убывание их размеров.
DEL (ERASE)
Команда работы с файлами; удаляет файлы.
Синтаксис:
DEL[диск:][путь]<имя_файла>[/P]
Параметр
[диск:][путь]<имя_файла>
указывает местонахождения и имя удаляемого файла или группы файлов, если в имени используются символы-заместители.
Ключ /Р вызывает запрос подтверждения для каждого удаляемого файла.
COPY
Команда работы с файлами; копирует один или более файлов в указанное место, а также может использоваться для слияния файлов.
Синтаксис:
COPY [/Y|/-Y] [/A|/B] <файл_источник> [/A|/B] [+ файл-источник [/A|/B] [+ …]] [файл_результат [/A|/B]] [/V]
Параметры состоят из обозначения дисковода, директория и имени файла.
<файл-источник> | указывает местоположение и имя файла, содержимое которого необходимо копировать; |
<файл-результат> | указывает местоположение и имя файла, в который нужно поместить скопированную информацию. |
Ключи:
/Y | указывает, что команда не должна запрашивать подтверждения при замене существующих файлов; |
/V | проверка того, что новые файлы записаны правильно. |
Еще команда той же группы:
RENAME (REN) – переименование файла или группы файлов;
Примерами команд управления системой служат:
COMMAND – запуск командного процессора;
EXIT – выход из командного процессора.
3. Программная реализация
3.1 Выбор языка программирования
Для разработки эмуляции командного процессора ОС UNIX в среде Windows9x была разработана программа на языке Borland Pascal 7.0.
Язык Pascal, начиная с момента своего создания Н. Виртом в 1971 году, играет особую роль и в практическом программировании, и в его изучении. С непревзойденной четкостью в нем реализованы принципы структурного программирования. Pascal стал первым языком программирования, с которым знакомится большинство будущих программистов.
Среда Borland Pascal 7.0 обладает мощными и удобными средствами для написания и отладки кода программы. Также он поддерживает концепции объектно-ориентированного проектирования, хорошо структурирован и удобен в обращении.
3.2 Инструкция пользователю
Запуск программы в ОС Windows 95/98/Me/2000/XP:
Кнопка “Пуск” – “Выполнить” – “Обзор”, найти и выделить файл с именем Unix_com.exe, - нажать “OK”. После запуска на экране монитора появится следующее сообщение: - >Эмулятор команд ОС UNIX<-.
Символ $ - приглашение к вводу команд. При вводе команды exit происходит выход в систему. При неправильном вводе команды или при любой другой ошибке появляется сообщение: “Команда введена неправильно!”.