Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции по информатике - файл Файл.doc


Загрузка...
Лекции по информатике
скачать (1321 kb.)

Доступные файлы (15):

Алгоритм.doc77kb.12.11.2009 00:00скачать
Архитектура ПК.doc239kb.11.11.2009 21:44скачать
Информационная глобальная сеть Интернет.doc95kb.11.11.2009 22:16скачать
Информация и данные.doc52kb.11.11.2009 18:33скачать
Классификация и кодирование информации.doc70kb.11.11.2009 19:09скачать
Компьютерные сети.doc110kb.11.11.2009 22:40скачать
Операционные системы.doc101kb.11.11.2009 22:58скачать
Особенности работы со службами Интернета.doc77kb.12.11.2009 12:53скачать
Программное обеспечение.doc69kb.12.11.2009 00:02скачать
Программное обеспечение работы в Интернет.doc116kb.12.11.2009 12:18скачать
Службы Интернета.doc132kb.12.11.2009 12:46скачать
Текстовый процессор.doc571kb.11.11.2009 21:25скачать
Файл.doc535kb.11.11.2009 21:40скачать
Электронная таблица.doc118kb.11.11.2009 20:39скачать
Язык программирования.doc132kb.12.11.2009 11:55скачать

Файл.doc

Реклама MarketGid:
Загрузка...
Файл. Файловая структура дисков. Каталог. Файловые операции в ОС Windows.

Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:

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

  • определённое логическое представление и соответствующие ему операции чтения/записи.

Может быть любой — от последовательности бит до базы данных с произвольной организацией или любым промежуточным вариантом.

Первому случаю соответствуют операции чтения/записи потока и/или массива (то есть последовательные или с доступом по индексу), второму — команды СУБД. Промежуточные варианты — чтение и разбор всевозможных форматов файлов.

В информатике используется следующее определение: файл - поименованная совокупность байтов произвольной длины, находящихся на носителе информации.

В отличие от переменной, файл (в частности, его имя) имеет смысл вне конкретной программы. Работа с файлами — по крайней мере, в «простейшем» представлении — реализуется средствами операционных систем, а до их появления реализовывалась их предшественниками — мониторами и библиотеками подпрограмм.

Ресурсами, доступными через файлы, в принципе, может быть что угодно, представимое в цифровом виде. Чаще всего в их перечень входят:

  • области данных (необязательно на диске);

  • устройства (как физические, так и виртуальные);

  • потоки данных (в частности, вход или выход процесса);

  • сетевые ресурсы;

  • объекты операционной системы.

Файл – поименованная область на диске или другом носителе информации. В файлах могут храниться тексты программ, документы, готовые к выполнению программы и любые другие данные1.
Каталог – это специальное место на диске, в котором хранятся имена файлов, сведения о размерах файлов, времени их последнего обновления, атрибуты (свойства) файлов и т.д. Если в каталоге хранится имя файла, то говорят, что этот файл находится в данном каталоге2.

В операционных системах Windows и MS-DOS папки и файлы образуют на дисках иерархическую файловую структуру. Необходимо знать, что понятия папка и каталог – это одно и тоже. Организация файловой структуры очень проста. Файлы находятся в папках. Папки вложены в другие папки, более высокого уровня. Папка самого высокого уровня называется корневой – она одна на каждом диске. Назначение файловой структуры – обеспечить однозначное отыскание любого файла, если известно его имя и путь поиска. Путь поиска начинается с корневой папки (ее имя совпадает с обозначением диска) и далее ведет через все вложенные папки к той папке, где находится разыскиваемый файл3. Создание и обслуживание файловой структуры – это одна из основных функций операционной системы. Подводя итог, можно сказать, что файловая структура – это расположение файлов на диске в каталогах.

Файловая структура диска.

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

- Каждому дисководу присваивается однобуквенное имя: А, В, С. Часто на персональных компьютерах диск большой ёмкости, встроенный в системный блок, делят на разделы. Каждый из этих разделов называется логическим диском, и ему присваивается имя С, D, Е. Имена А и В относятся к сменным дискам малого объёма - гибким дискам (дискетам).

- Первой «координатой» определяющей место расположения файла, являются имя логического диска, содержащего файл.

^ Файловая структура диска- это совокупность файлов на диске и взаимосвязей между ними.

- Существует две разновидности файловых структур: простая или одноуровневая, и иерархическая - многоуровневая.

^ Одноуровневая файловая структура- это простая последовательность файлов.

Например: список, в котором каждый элемент определяется по его номеру.

- В классном журнале все ученики записаны по алфавиту, в результате чего их можно представить в виде списка:








Фамилия


1


Александров


2


Бородин


3


Воронин


4


Григорьев



^ Многоуровневая файловая структура- древовидный способ организации файлов на диске.

- Каждый элемент определяется путём, который к нему ведёт, начиная от вершины.


Средняя школа №1234






Начальные классы

Основные классы

Старшие классы









7-е классы

8-е классы

9-е классы








7-а

7-б

7- в






Александров

Бородин

Воронин

Григорьев


Понятие «Файл» и «Каталог».

- Следующим по величине элемент файловой структуры называется Каталогом.

- Каталог может иметь имя , может содержать внутри себя множество файлов. Каталог самого верхнего уровня, который не вложен ни в какие другие, называется корневым каталогом.

- Второй «координатой», определяющей место расположение файла, является путь к файлу на диске.

^ Путь к файлу- это последовательность состоящая из имён каталогов, начиная от корневого и заканчивая тем, в котором хранится файл.

- Последовательно записанное имя логического диска, путь к файлу и имя файла составляет полное имя файла.

Операции над файлами. В процессе работы на компьютере над файлами чаще всего производятся следующие операции: копирование (копия файла помещается в другой каталог); перемещение (сам файл перемещается в другой каталог); удаление (запись о файле удаляется из каталога); переименование (изменяется имя файла).

Графическое представление файловой системы. Иерархическая файловая система MS-DOS, содержащая каталоги и файлы, представлена в операционной системе Windows с помощью графического интерфейса в форме иерархической системы папок и документов. Папка в Windows является аналогом каталога MS-DOS.

Однако иерархические структуры этих систем несколько различаются. В иерархической файловой системе MS-DOS вершиной иерархии объектов является корневой каталог диска, который можно сравнить со стволом дерева — на нем растут ветки (подкаталоги), а на ветках располагаются листья (файлы).

В Windows на вершине иерархии папок находится папка Рабочий стол (рис. 10). Следующий уровень
представлен папками Мой компьютер, Корзина и Сетевое окружение (если компьютер подключен к локальной сети).

Файловая система ОС должна предоставлять пользователям набор операций работы с файлами, оформленный в виде системных вызовов Этот набор обычно состоит из таких системных вызовов, как creat (создать файл), read (читать из файла), write (записать в файл) и некоторых других.

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

Какие бы операции не выполнялись над файлом, ОС необходимо выполнить ряд универсальных для всех операций действий:

  •         По символьному имени файла найти его характеристики, которые хранятся в файловой системе на диске.

  •         Скопировать характеристики файла в оперативную память, так как только таким образом программный код может их использовать.

  •         На основании характеристик файла проверить права пользователя на выполнение запрошенной операции (чтение, запись, удаление, просмотр атрибутов файла).

  •         Очистить область памяти, отведенную под временное хранение характеристик файла.

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

Операционная система может выполнять последовательность действий над файлом двумя способами (рис. 7.26):

  •         Для каждой операции выполняются как универсальные, так и уникальные действия. Такая схема иногда называется схемой без запоминания состояния операций (stateless).

  •         Все универсальные действия выполняются в начале и конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия.

Подавляющее большинство файловых систем поддерживает второй способ организации файловых операций как более экономичный и быстрый. Первый способ обладает одним преимуществом — он более устойчив к сбоям в работе системы, так как каждая операция является самодостаточной и не зависит от результата предыдущей. Поэтому первый способ иногда применяется в распределенных сетевых файловых системах (например, в Network File System, NFS компании Sun), когда сбои из-за потерь пакетов или отказов одного из сетевых узлов более вероятны, чем при локальном доступе к файлам.



Рис. 7.26. Два способа выполнения файловых операций

При втором способе в файловой системе вводятся два специальных системных вызова: open — открытие файла, и close — закрытие файла.

Системный вызов открытия файла open выполняется перед началом любой последовательности операций с файлом, а вызов закрытия файла close — после окончания работы с файлом. Основной задачей вызова open является преобразование символьного имени файла в его уникальное числовое имя, копирование характеристик файла из дисковой области в буфер оперативной памяти и проверка прав пользователя на выполнение запрошенной операции. Вызов close освобождает буфер с характеристиками файла и делает невозможным продолжение операций с файлом без его повторного открытия.

Операции открытия и закрытия файла в той или иной форме утвердились в операционных системах очень давно. Даже в такой «старой» операционной системе, как OS/360, существовала макрокоманда OPEN, по которой в специальном буфере, называемом DCB (Data Control Block), собирались из различных источников все нужные характеристики набора данных (понятие, близкое к современному понятию файла), используемые затем при выполнении операций чтения и записи.

Далее основные системные вызовы файловых операций рассматриваются более детально на примере их реализации в ОС UNIX, в которой они приобрели тот вид, который сегодня поддерживается практически всеми операционными системами.

^ Открытие файла

Системный вызов open в ОС UNIX работает с двумя аргументами: символьным именем открываемого файла и режимом открытия файла. Режим открытия говорит системе, какие операции будут выполняться над файлом в последовательности операций до закрытия файла по системному вызову close, например: только чтение, только запись или чтение и запись.

При открытии файла ОС сначала выполняет преобразование первого аргумента системного вызова, то есть символьного имени файла, в его уникальное числовое имя, которым в традиционных файловых системах UNIX является номер индексного дескриптора. Эта процедура была рассмотрена выше при описании файловой системы s5.

По номеру индексного дескриптора inode файловая система находит нужную запись на диске и копирует из нее характеристики файла в оперативную память.

Для хранения копии индексного дескриптора используются буферные области системного виртуального пространства. Характеристики индексного дескриптора, перенесенные в оперативную память, помещаются в структуру так называемого виртуального дескриптора vnode (virtual node). Структура vnode включает поля индексного дескриптора файла inode, а также несколько перечисленных ниже дополнительных полей, полезных при выполнении операций с файлом.

  •         Состояние индексного дескриптора в памяти, отражающее:

- заблокирован ли файл;

- ждет ли снятия блокировки с файла какой-либо процесс;

- отличается ли представление характеристик файла в памяти от своей дисковой копии в результате изменения содержимого индексного дескриптора;

- отличается ли представление файла в памяти от своей дисковой копии в результате изменения содержимого файла;

- является ли файл точкой монтирования.

  •         Логический номер устройства файловой системы, содержащей файл.

  •         Номер индексного дескриптора. В дисковом индексном дескрипторе это поле отсутствует, так как номер определяется положением дескриптора относительно начала области индексных дескрипторов.

  •         Счетчик ссылок на данную структуру vnode.

С одним и тем же файлом в какой-то период времени могут работать различные процессы, но операционная система не создает для каждого процесса отдельную копию структуры vnode, а для каждого файла, с которым в данный момент работает хотя бы один процесс, хранит ровно одну копию виртуального дескриптора. При очередном открытии файла ОС проверяет, имеется ли в системной памяти структура vnode открываемого файла (по номеру логического устройства и номеру индексного дескриптора, которые определяются при преобразовании символьного имени), и если имеется, то счетчик ссылок на нее увеличивается на единицу. При очередном закрытии этого файла счетчик ссылок уменьшается на единицу, и если он становится равным 0, то буфер, хранящий данный vnode, считается свободным.

Использование единственной копии характеристик файла и некоторых характеристик файловых операций (например, признака блокировки), общих для всех работающих с файлом процессов, экономит системную память. Тем не менее существуют характеристики, индивидуальные для каждого процесса, выполняющего некоторую последовательность операций с определенным файлом. Для их хранения в UNIX используется структура типа file, которая так же, как и vnode, хранится в системной области памяти.

При каждом открытии процессом файла ОС проверяет права пользовательского процесса на выполнение запрошенной операции с файлом и, если проверка прошла успешно, создает в системной области памяти новую структуру file, которая описывает как открытый файл, так и операции, которые процесс собирается производить с файлом (например, чтение).

Структура file содержит такие поля, как:

признак режима открытия (только для чтения, для чтения и записи и т. п.);

  •         указатель на структуру vnode;

  •         текущее смещение в файле (переменная offset) при операциях чтения/записи;

  •         счетчик ссылок на данную структуру;

  •         указатель на структуру, содержащую права процесса, открывшего файл (эта структура находится в дескрипторе процесса);

  •         указатели на предыдущую и последующую структуры file, связывающие все такие структуры в двойной список.

Переменная offset, хранящаяся в структуре file, позволяет ОС запоминать текущее положение условного указателя в последовательности байт файла. При открытии файла эта переменная указывает на начальный или конечный байт файла в зависимости от заданного режима открытия. После выполнения операций чтения или записи указатель сдвигается на то количество байт, которое было прочитано или записано в результате операции. Следующая операция застает указатель в том состоянии, в котором его оставила предыдущая операция. Прикладной программист может явно управлять положением указателя с помощью системного вызова 1 seek, который будет рассмотрен ниже.

При каждом новом открытии какого-либо файла ОС создает новую структуру file и помещает ее в дважды связанный список (рис. 7.27). Обычно под хранение структур file в системной области отводится ограниченная область, поэтому общее количество открытых файлов всеми процессами в любой момент ограничено.

После создания структуры file операционная система помещает указатель на нее в таблицу открытых файлов процесса, которая находится в контексте процесса. Если процесс несколько раз открывает один и тот же файл, то структура file создается для каждой операции открытия. Так как контекст процесса-родителя в UNIX наследуется процессом-потомком, то потомок наследует и указатели на все открытые родителем файлы, получая возможность выполнять над ними операции.

Системный вызов open возвращает в пользовательский процесс дескриптор файла, который представляет собой номер записи в таблице открытых файлов процесса. Дескриптор файла имеет локальное значение только для того процесса, который открыл файл, для разных процессов одно и то же значение дескриптора указывает на разные операции, в общем случае над разными файлами.

После открытия файла его дескриптор используется во всех дальнейших операциях с файлом вплоть до явного закрытия файла. Таким образом, дескриптор файла является временным уникальным именем, но не файла, а определенной последовательности операций с этим файлом.

Для открытия файла /bin/prog 1.ехе в режиме «только для чтения» прикладной программист может использовать следующее выражение на языке С:

fd = open("/bin/progl exe". 0_RDONLY):

Здесь fd — это целочисленная переменная, сохраняющая значение дескриптора открытого файла. Ее значение должно использоваться в операциях обмена данными с файлом /bin/progI.exe. При неудачной попытке открытия файла (нет прав для выполнения затребованной операции, неверное имя файла) переменной fd присваивается значение -1, которое является индикатором ошибки для всех системных вызовов UNIX.



Рис. 7.27. Связь процесса с открытыми файлами ,*

Обмен данными с файлом

Для обмена данными с предварительно открытым файлом в ОС UNIX существуют системные вызовы read и write. В том случае, когда необходимо явным образом указать, с какого байта файла необходимо читать или записывать данные, используется также системный вызов Т seek.

Системный вызов чтения данных из файла read имеет три аргумента:

read(fd buffer nbytes):

Первый аргумент fd является целочисленной переменной, имеющей значение дескриптора открытого файла. Второй аргумент buffer является указателем на область пользовательской памяти, в которую система должна поместить считанные данные. Количество байт этой области памяти задается третьим целочисленным аргументом nbytes. Функция read возвращает действительное количество считанных байт (оно может отличаться от заданного, если, например, была задана область чтения, выходящая за пределы файла) или же код ошибки -1. Начало дисковой области, которую нужно прочитать с помощью вызова read, явно в этом системном вызове не указывается. Чтение начинается с того байта, на который указывает смещение offset в структуре file. На это смещение указывает запись с номером fd в таблице открытых файлов процесса. После выполнения вызова read смещение offset наращивается на количество прочитанных байт. Вид системного вызова записи данных write аналогичен вызову read: wnte(fd buffer.nbytes).

Функция write записывает nbytes из буфера оперативной памяти buffer в файл, описываемый дескриптором fd. Функция write, так же как и read, возвращает вызвавшей ее программе значение реально переданных ею байт или код ошибки.

Рассмотрим пример, в котором прикладная программа работает с файлом, состоящем из записей фиксированной длины в 50 байт:

fd = open("/doc/qwery/base12. txt" 0_RDWR).

read(fd bufferl,50):

read(fd.buffer2, 2500):



Iseek(fd, 150, 0):

write (fd, output, 300):

close(fd);

В приведенном фрагменте программы после открытия файла /doc/query/base12.txt для чтения и записи выполняется чтение первой записи файла, а затем читается область файла, включающая еще 50 записей, начиная со 2 по 51. После обработки считанных записей (эти инструкции опущены) производятся перемещение указателя смещения в файле на начало четвертой записи и запись результатов в шесть последовательных записей, начиная с четвертой. Завершается фрагмент закрытием файла с помощью системного вызова close.

Все описанные системные вызовы являются синхронными, то есть пользовательский процесс переводится в состояние ожидания до тех пор, пока операция ввода-вывода не завершится.

Описанный набор системных вызовов, появившийся в ОС UNIX еще в 70-х годах, стал стандартом де-факто для современных операционных систем. Эти традиционные системные вызовы часто в конкретных ОС дополняются оригинальными системными вызовами ввода-вывода, например операциями асинхронного типа. На основе системных вызовов ввода-вывода обычно строятся более мощные библиотечные функции ввода-вывода, составляющие прикладной интерфейс ОС.

^ Блокировки файлов

Блокировки файлов и отдельных записей в файлах являются средством синхронизации между работающими в кооперации процессами, пытающимися использовать один и тот же файл одновременно.

Процессы могут иметь соответствующие права доступа к файлу, но одновременное использование этих прав (в особенности права записи) может привести к некорректным результатам. Примером такой ситуации является одновременное редактирование одного и того же документа несколькими пользователями. Если доступ к файлу не управляется блокировками, то каждый пользователь, который имеет право записи в файл, работает со своей копией данных файла. Результат такого редактирования непредсказуем — он зависит от того, в какой последовательности записывали изменения в файл применяемые пользователями приложения-редакторы.

Многопользовательские операционные системы обычно поддерживают специальный системный вызов, позволяющий программисту установить и проверить блокировки на файл и его отдельные области. В UNIX такой системный вызов называется fcntl. В его аргументах указывается дескриптор файла, для которого нужно установить или проверить блокировки, тип операции (блокирование или проверка, блокирование доступа для чтения или для записи), а также область блокирования — смещение от начала файла и размер в байтах. При проверке наличия блокировок, установленных другими процессами, вызов fcntl немедленно возвращает управление с сообщением результата. При установке блокировки можно задать два режима работы системного вызова: с переходом процесса в состояние ожидания в том случае, если блокировку установить невозможно (синхронный системный вызов), и с немедленным возвратом в такой ситуации с сообщением отрицательного результата (асинхронный вызов). Запрошенная блокировка записи не может быть установлена в том случае, если другой процесс уже установил свою блокировку записи на тот же файл. То есть блокировка записи является исключительной. Блокировки чтения не являются исключительными и могут устанавливаться на файл в том случае, если их области действия не перекрываются. Если на какую-то область файла установлена блокировка чтения, то на эту область нельзя установить блокировку записи. В UNIX существуют два режима действия блокировок — консультативный (advisory) и обязательный (mandatory). Основным рекомендуемым для использования режимом является консультативный. При нем операционная система не занимается блокированием операций с файлом, а только устанавливает признаки блокирования областей в структурах file, поддерживающих операции с файлами. Кооперирующиеся процессы обязательно должны проверять наличие блокировок на файл, чтобы синхронизировать свою работу. Если же блокировки установлены, но процесс не проверяет их, то операционная система не запрещает доступ процесса к файлу, когда процесс делает системные вызовы read или write.

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

^ Стандартные файлы ввода и вывода, перенаправление вывода

В ОС UNIX были введены в свое время такие понятия, как «стандартный файл ввода», «стандартный файл вывода» и «стандартный файл ошибок». Эти три уже открытых файла существуют у любого пользовательского процесса с момента его возникновения. Процесс в любое время может организовать ввод данных из стандартного файла ввода, выполнив следующий системный вызов:

read(stdio. buffer. nbytes).

Здесь stdio — предопределенное имя константы, обозначающей дескриптор стандартного файла ввода.

Аналогично, так как stdout — предопределенное имя дескриптора стандартного файла вывода, процесс может вывести данные в стандартный файл вывода, применив следующий системный вызов:

write(stout, buffer, nbytes):

За стандартным файлом ошибок закреплено имя stderr.

Фактически при создании нового процесса ОС помещает в его таблицу открытых файлов три записи: с номером 0 — для стандартного файла ввода (следовательно, stdin всегда имеет значение 0), с номером 1 — для стандартного файла вывода (stdout=l), и с номером 2 — для стандартного файла ошибок (stderr=2). Соответственно создаются и три структуры типа file, на которые указывают первые три записи таблицы открытых файлов процесса.

В начальный период существования процесса эти три структуры file связываются операционной системой с одним файлом. В качестве этого файла выступает специальный файл — терминал, с которого вошел в систему пользователь. Такое назначение стандартных файлов достаточно естественно. Прикладные программы, запускаемые пользователем в ходе сеанса работы, чаще всего выводят результаты и сообщения об ошибках на экран терминала, за которым работает пользователь, и с клавиатуры этого же терминала считывают команды и другие исходные данные.

Модель стандартных файлов ввода-вывода рассчитана в основном на алфавитно-цифровые терминалы, управление которыми хорошо описывается потоком выводимых байт, который отображается в виде строк символов на экране, а также потоком вводимых байт, порождаемым последовательными нажатиями клавиш.

Наиболее известной программой, широко использующей стандартные файлы ввода-вывода, является интерпретатор команд, называемый также оболочкой (shell) операционной системы. Интерпретатор постоянно читает вводимые пользователем с клавиатуры команды (из стандартного файла ввода) и либо выполняет их самостоятельно, с помощью своих внутренних функций (такие команды называются внутренними), либо интерпретирует команду как имя исполняемого файла на диске, который необходимо запустить на выполнение в качестве отдельного процесса (внешние команды). Сообщения интерпретатор выводит на экран терминала — стандартный файл вывода.

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

Рассмотрим несколько примеров команд UNIX, работающих со стандартными файлами ввода и вывода:

  •         ls dir2 — читает записи каталога dir2 и выводит их в определенном символьном формате в стандартный файл вывода;

  •         wc — фильтр, который читает последовательность байт из стандартного файла ввода, подсчитывает число слов, строк или символов в считанных данных и выводит результат в стандартный файл вывода;

  •         who — выводит в стандартный файл информацию о пользователях, работающих в системе.

Интерпретатор команд выполняет также такую важную функцию, как перенаправление стандартного ввода и вывода. Под этим понимается замена файла-терминала, используемого по умолчанию в качестве стандартных файлов ввода и вывода, на произвольный файл. Механизм перенаправления основан на том, что приложение не знает, какой именно файл является стандартным, а просто использует определенный дескриптор в качестве указателя на этот файл. Поэтому для перенаправления ввода-вывода достаточно создать процесс выполнения команды с нестандартной связью стандартной записи в таблице открытых файлов.

Перенаправление осуществляется с помощью специальных конструкций командного языка. Для указания интерпретатору о необходимости перенаправить стандартный ввод на файл file используется следующая конструкция:

< file

Для перенаправления стандартного вывода требуется следующая конструкция:

> file

Например, показанная ниже командная строка запишет данные о содержимом каталога dir2 в файл a.txt:

Is dir2 > a.txt

Механизм перенаправления ввода-вывода, введенный ОС UNIX, получил широкое распространение в интерпретаторах команд многих операционных систем, например MS-DOS, Windows, OS/2.


Скачать файл (1321 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru