Файл

Поделись знанием:
Перейти к: навигация, поиск

Файл (англ. file) — именованная область данных на носителе информации.

Работа с файлами реализуется средствами операционных систем. Многие операционные системы приравнивают к файлам и обрабатывают сходным образом и другие ресурсы:





История

Слово file впервые применено к компьютерному хранилищу в 1950 году. Реклама памяти на запоминающих ЭЛТ фирмы RCA в журнале «Popular Science»[1] гласила:

…результаты бесчисленных вычислений можно держать «в картотеке» (on file) и получать снова. Эта «картотека» теперь существует в запоминающей трубке, разработанной в лабораториях RCA. Она электрически сохраняет цифры, отправленные в вычислительную машину, и держит их в хранилище, заодно запоминая новые — ускоряя интеллектуальные решения в лабиринтах математики.

В 1952 году слово file отнесли к колоде перфокарт.[2] Поначалу словом file называли само устройство памяти, а не его содержимое (см. Регистровый файл). Например, диски IBM 350, использовавшиеся, например, в машине IBM 305, назывались disk files.[3] Системы наподобие Compatible Time-Sharing System ввели концепцию файловой системы, когда на одном запоминающем устройстве существует несколько виртуальных «устройств памяти», что и дало слову «файл» современное значение. Имена файлов в CTTS состояли из двух частей, «основного имени» и «дополнительного имени» (последнее существует и поныне как расширение имени файла).[4][5]

Файловая система

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

Файл как объект API операционной системы

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

Свойства файла

В зависимости от файловой системы, файл может обладать различным набором свойств.

Имя файла

В большинстве файловых систем имя файла используется для указания, к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются: в FAT16 и FAT12 размер имени файла ограничен 8.3 знаками (8 на имя и 3 на расширение); в других системах имя файла ограничено обычно в 255 байт; в NTFS имя ограничено в некоторых ОС 256 символами Unicode (по спецификации — 32 768 символов).

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

  • Для MS-DOS в имени файла допустимы только заглавные латинские буквы, цифры. Недопустимы пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты.[6] При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.
  • Для Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы >, <, |, ?, *, /, \, :, ".
  • Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и байта, значение которого равно нулю, то есть 0x00.

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

Расширение имени файла

Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользователя.

В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.

Основные атрибуты

В некоторых файловых системах, таких как NTFS, предусмотрены атрибуты (обычно это бинарное значение «да»/«нет», кодируемое одним битом). Во многих современных операционных системах атрибуты практически не влияют на возможность доступа к файлам, для этого в некоторых операционных и файловых системах существуют права доступа.

Название атрибута перевод значение файловые системы операционные системы
READ ONLY только для чтения в файл запрещено писать FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
SYSTEM системный критический для работы операционной системы файл FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
HIDDEN скрытый файл скрывается от показа, пока явно не указано обратное FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
ARCHIVE архивный (требующий архивации) файл изменён после резервного копирования или не был скопирован программами резервного копирования; при изменении файла ОС автоматически устанавливает этот атрибут FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
SUID Установка пользовательского ID выполнение программы от имени владельца ext2 Unix-like
SGID Установка группового ID выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца) ext2 Unix-like
Sticky Bit липкий бит изначально предписывал ядру не выгружать завершившуюся программу из памяти сразу, а лишь спустя некоторое время, чтобы избежать постоянной загрузки с диска наиболее часто используемых программ, в настоящее время в разных ОС используется по-разному ext2 Unix-like

Время

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

Владелец и группа файла

В некоторых файловых системах предусмотрено указание на владельца файла и группу-владельца.

Права доступа

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

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

Каждое право задаётся раздельно для владельца, для группы и для всех остальных. ACL позволяют расширить этот список.

В операционных системах Windows NT при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп (или наследуются от вышестоящих объектов). Права в себя включают право на чтение, запись исполнение, удаление, смену атрибутов и владельца, создание и удаление подпапок (для папок) и чтение прав доступа.

Каждое право может быть задано как разрешением, так и запретом, запрет имеет больший приоритет, чем разрешение.

Операции с файлом

Условно можно выделить два типа операций с файлом — связанные с его открытием и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с «объектом» файловой системы, в котором файл является мельчайшей единицей структурирования.

Операции, связанные с открытием файла

В зависимости от операционной системы те или иные операции могут отсутствовать.

Обычно выделяют дополнительные сущности, связанные с работой с файлом:

  • хэндлер файла, или дескриптор (описатель). При открытии файла (в случае, если это возможно), операционная система возвращает число (или указатель на структуру), с помощью которого выполняются все остальные файловые операции. По их завершении файл закрывается, а хэндлер теряет смысл.
  • файловый указатель. Число, являющееся смещением относительно нулевого байта в файле. Обычно по этому адресу осуществляется чтение/запись, в случае, если вызов операции чтения/записи не предусматривает указание адреса. При выполнении операций чтения/записи файловый указатель смещается на число прочитанных (записанных) байт. Последовательный вызов операций чтения таким образом позволяет прочитать весь файл, не заботясь о его размере.
  • файловый буфер. Операционная система (и/или библиотека языка программирования) осуществляет кэширование файловых операций в специальном буфере (участке памяти). При закрытии файла буфер сбрасывается.
  • режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение и/или запись. Кроме того, некоторые операционные системы (и/или библиотеки) предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.
  • режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на запись и/или чтение. Для регулирования этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл, в который производится запись, может быть открыт для чтения другими программами — это стандартный режим работы log-файлов).
Операции
  • Открытие файла (обычно в качестве параметров передается имя файла, режим доступа и режим совместного доступа, а в качестве значения выступает файловый хэндлер или дескриптор), кроме того обычно имеется возможность в случае открытия на запись указать на то, должен ли размер файла изменяться на нулевой.
  • Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буферы сбрасываются.
  • Запись — в файл помещаются данные.
  • Чтение — данные из файла помещаются в область памяти.
  • Перемещение указателя — указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).
  • Сброс буферов — содержимое файловых буферов с не записанной в файл информацией записывается. Используется обычно для указания на завершение записи логического блока (для сохранения данных в файле на случай сбоя).
  • Получение текущего значения файлового указателя.

Операции, не связанные с открытием файла

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

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

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

Типы файлов

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

В различных операционных и/или файловых системах могут быть реализованы различные типы файлов; кроме того, реализация различных типов может различаться.

  • «Обыкновенный файл» — файл, позволяющий операции чтения, записи, перемещения внутри файла
  • Каталог (англ. directory — алфавитный справочник) или директория — файл, содержащий записи о входящих в него файлах. Каталоги могут содержать записи о других каталогах, образуя древовидную структуру.
  • Жёсткая ссылка (англ. hardlink, часто используется калька «хардлинк») — в общем случае, одна и та же область информации может иметь несколько имён. Такие имена называют жёсткими ссылками (хардлинками). После создания хардлинка сказать где «настоящий» файл, а где хардлинк невозможно, так как имена равноправны. Сама область данных существует до тех пор, пока существует хотя бы одно из имён. Хардлинки возможны только на одном физическом носителе.
  • Символьная ссылка (симлинк, софтлинк) — файл, содержащий в себе ссылку на другой файл или директорию. Может ссылаться на любой элемент файловой системы, в том числе, и расположенный на другом физическом носителе.

Особенности реализации

В операционной системе UNIX процессы (обычно находятся в каталоге /proc) и устройства (/dev) представляются в виде файлов особого рода, что позволяет использовать некоторые файловые операции для манипуляции этими объектами.

В некоторых файловых системах (например, в файловой системе OS VAX VMS) файлы имеют версию, что позволяет открывать более старые варианты данного файла. В файловой системе Mac OS (HFS) у файлов есть два «потока»: поток данных (где хранится содержимое файла) и поток ресурсов, хранящий информацию о программе, предназначенной для открывания данного файла и, возможно, некоторую информацию для этой программы. В NTFS файл может содержать, кроме основного, сколько угодно именованных потоков.

Проблема точного определения понятия «файл»

Так как файл в разных операционных системах обладает различным набором атрибутов, свойств и методов доступа, универсального определения, которое бы учитывало все особенности, сформулировано не былоК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3089 дней].

См. также

Напишите отзыв о статье "Файл"

Примечания

В Викисловаре есть статья «файл»
  1. Bonnier Corporation. [books.google.com/books?id=9SwDAAAAMBAJ&pg=PA96 Popular Science]. — Bonnier Corporation. — P. 96–. — ISBN ISSN [www.sigla.ru/table.jsp?f=8&t=3&v0=01617370&f=1003&t=1&v1=&f=4&t=2&v2=&f=21&t=3&v3=&f=1016&t=3&v4=&f=1016&t=3&v5=&bf=4&b=&d=0&ys=&ye=&lng=&ft=&mt=&dt=&vol=&pt=&iss=&ps=&pe=&tr=&tro=&cc=UNION&i=1&v=tagged&s=0&ss=0&st=0&i18n=ru&rlf=&psz=20&bs=20&ce=hJfuypee8JzzufeGmImYYIpZKRJeeOeeWGJIZRrRRrdmtdeee88NJJJJpeeefTJ3peKJJ3UWWPtzzzzzzzzzzzzzzzzzbzzvzzpy5zzjzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzztzzzzzzzbzzzzzzzzzzzzzzzzzzzzzzzzzzzvzzzzzzyeyTjkDnyHzTuueKZePz9decyzzLzzzL*.c8.NzrGJJvufeeeeeJheeyzjeeeeJh*peeeeKJJJJJJJJJJmjHvOJJJJJJJJJfeeeieeeeSJJJJJSJJJ3TeIJJJJ3..E.UEAcyhxD.eeeeeuzzzLJJJJ5.e8JJJheeeeeeeeeeeeyeeK3JJJJJJJJ*s7defeeeeeeeeeeeeeeeeeeeeeeeeeSJJJJJJJJZIJJzzz1..6LJJJJJJtJJZ4....EK*&debug=false 01617370].
  2. Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry, 1952.
  3. Martin H. Weik. Ballistic Research Laboratories Report #1115. March 1961. [ed-thelen.org/comp-hist/BRL61-ibm03.html#IBM-305-RAMAC pp. 314—331].
  4. Fernando J. Corbató et al. «[larch-www.lcs.mit.edu:8001/~corbato/sjcc62/ An Experimental Time-Sharing System].» May 3, 1962.
  5. Jerome H. Saltzer [www.lcs.mit.edu/publications/pubs/pdf/MIT-LCS-TR-016.pdf CTSS Technical Notes]. Project MIT-LCS-TR016
  6. [support.microsoft.com/kb/100108/ru/ Обзор файловых систем FAT, HPFS и NTFS]


Отрывок, характеризующий Файл

Князь Андрей с презрением смотрел на эти бесконечные, мешавшиеся команды, повозки, парки, артиллерию и опять повозки, повозки и повозки всех возможных видов, обгонявшие одна другую и в три, в четыре ряда запружавшие грязную дорогу. Со всех сторон, назади и впереди, покуда хватал слух, слышались звуки колес, громыхание кузовов, телег и лафетов, лошадиный топот, удары кнутом, крики понуканий, ругательства солдат, денщиков и офицеров. По краям дороги видны были беспрестанно то павшие ободранные и неободранные лошади, то сломанные повозки, у которых, дожидаясь чего то, сидели одинокие солдаты, то отделившиеся от команд солдаты, которые толпами направлялись в соседние деревни или тащили из деревень кур, баранов, сено или мешки, чем то наполненные.
На спусках и подъемах толпы делались гуще, и стоял непрерывный стон криков. Солдаты, утопая по колена в грязи, на руках подхватывали орудия и фуры; бились кнуты, скользили копыта, лопались постромки и надрывались криками груди. Офицеры, заведывавшие движением, то вперед, то назад проезжали между обозами. Голоса их были слабо слышны посреди общего гула, и по лицам их видно было, что они отчаивались в возможности остановить этот беспорядок. «Voila le cher [„Вот дорогое] православное воинство“, подумал Болконский, вспоминая слова Билибина.
Желая спросить у кого нибудь из этих людей, где главнокомандующий, он подъехал к обозу. Прямо против него ехал странный, в одну лошадь, экипаж, видимо, устроенный домашними солдатскими средствами, представлявший середину между телегой, кабриолетом и коляской. В экипаже правил солдат и сидела под кожаным верхом за фартуком женщина, вся обвязанная платками. Князь Андрей подъехал и уже обратился с вопросом к солдату, когда его внимание обратили отчаянные крики женщины, сидевшей в кибиточке. Офицер, заведывавший обозом, бил солдата, сидевшего кучером в этой колясочке, за то, что он хотел объехать других, и плеть попадала по фартуку экипажа. Женщина пронзительно кричала. Увидав князя Андрея, она высунулась из под фартука и, махая худыми руками, выскочившими из под коврового платка, кричала:
– Адъютант! Господин адъютант!… Ради Бога… защитите… Что ж это будет?… Я лекарская жена 7 го егерского… не пускают; мы отстали, своих потеряли…
– В лепешку расшибу, заворачивай! – кричал озлобленный офицер на солдата, – заворачивай назад со шлюхой своею.
– Господин адъютант, защитите. Что ж это? – кричала лекарша.
– Извольте пропустить эту повозку. Разве вы не видите, что это женщина? – сказал князь Андрей, подъезжая к офицеру.
Офицер взглянул на него и, не отвечая, поворотился опять к солдату: – Я те объеду… Назад!…
– Пропустите, я вам говорю, – опять повторил, поджимая губы, князь Андрей.
– А ты кто такой? – вдруг с пьяным бешенством обратился к нему офицер. – Ты кто такой? Ты (он особенно упирал на ты ) начальник, что ль? Здесь я начальник, а не ты. Ты, назад, – повторил он, – в лепешку расшибу.
Это выражение, видимо, понравилось офицеру.
– Важно отбрил адъютантика, – послышался голос сзади.
Князь Андрей видел, что офицер находился в том пьяном припадке беспричинного бешенства, в котором люди не помнят, что говорят. Он видел, что его заступничество за лекарскую жену в кибиточке исполнено того, чего он боялся больше всего в мире, того, что называется ridicule [смешное], но инстинкт его говорил другое. Не успел офицер договорить последних слов, как князь Андрей с изуродованным от бешенства лицом подъехал к нему и поднял нагайку:
– Из воль те про пус тить!
Офицер махнул рукой и торопливо отъехал прочь.
– Всё от этих, от штабных, беспорядок весь, – проворчал он. – Делайте ж, как знаете.
Князь Андрей торопливо, не поднимая глаз, отъехал от лекарской жены, называвшей его спасителем, и, с отвращением вспоминая мельчайшие подробности этой унизи тельной сцены, поскакал дальше к той деревне, где, как ему сказали, находился главнокомандующий.
Въехав в деревню, он слез с лошади и пошел к первому дому с намерением отдохнуть хоть на минуту, съесть что нибудь и привесть в ясность все эти оскорбительные, мучившие его мысли. «Это толпа мерзавцев, а не войско», думал он, подходя к окну первого дома, когда знакомый ему голос назвал его по имени.
Он оглянулся. Из маленького окна высовывалось красивое лицо Несвицкого. Несвицкий, пережевывая что то сочным ртом и махая руками, звал его к себе.
– Болконский, Болконский! Не слышишь, что ли? Иди скорее, – кричал он.
Войдя в дом, князь Андрей увидал Несвицкого и еще другого адъютанта, закусывавших что то. Они поспешно обратились к Болконскому с вопросом, не знает ли он чего нового. На их столь знакомых ему лицах князь Андрей прочел выражение тревоги и беспокойства. Выражение это особенно заметно было на всегда смеющемся лице Несвицкого.
– Где главнокомандующий? – спросил Болконский.
– Здесь, в том доме, – отвечал адъютант.
– Ну, что ж, правда, что мир и капитуляция? – спрашивал Несвицкий.
– Я у вас спрашиваю. Я ничего не знаю, кроме того, что я насилу добрался до вас.
– А у нас, брат, что! Ужас! Винюсь, брат, над Маком смеялись, а самим еще хуже приходится, – сказал Несвицкий. – Да садись же, поешь чего нибудь.
– Теперь, князь, ни повозок, ничего не найдете, и ваш Петр Бог его знает где, – сказал другой адъютант.
– Где ж главная квартира?
– В Цнайме ночуем.
– А я так перевьючил себе всё, что мне нужно, на двух лошадей, – сказал Несвицкий, – и вьюки отличные мне сделали. Хоть через Богемские горы удирать. Плохо, брат. Да что ты, верно нездоров, что так вздрагиваешь? – спросил Несвицкий, заметив, как князя Андрея дернуло, будто от прикосновения к лейденской банке.
– Ничего, – отвечал князь Андрей.
Он вспомнил в эту минуту о недавнем столкновении с лекарскою женой и фурштатским офицером.
– Что главнокомандующий здесь делает? – спросил он.
– Ничего не понимаю, – сказал Несвицкий.
– Я одно понимаю, что всё мерзко, мерзко и мерзко, – сказал князь Андрей и пошел в дом, где стоял главнокомандующий.
Пройдя мимо экипажа Кутузова, верховых замученных лошадей свиты и казаков, громко говоривших между собою, князь Андрей вошел в сени. Сам Кутузов, как сказали князю Андрею, находился в избе с князем Багратионом и Вейротером. Вейротер был австрийский генерал, заменивший убитого Шмита. В сенях маленький Козловский сидел на корточках перед писарем. Писарь на перевернутой кадушке, заворотив обшлага мундира, поспешно писал. Лицо Козловского было измученное – он, видно, тоже не спал ночь. Он взглянул на князя Андрея и даже не кивнул ему головой.
– Вторая линия… Написал? – продолжал он, диктуя писарю, – Киевский гренадерский, Подольский…
– Не поспеешь, ваше высокоблагородие, – отвечал писарь непочтительно и сердито, оглядываясь на Козловского.
Из за двери слышен был в это время оживленно недовольный голос Кутузова, перебиваемый другим, незнакомым голосом. По звуку этих голосов, по невниманию, с которым взглянул на него Козловский, по непочтительности измученного писаря, по тому, что писарь и Козловский сидели так близко от главнокомандующего на полу около кадушки,и по тому, что казаки, державшие лошадей, смеялись громко под окном дома, – по всему этому князь Андрей чувствовал, что должно было случиться что нибудь важное и несчастливое.
Князь Андрей настоятельно обратился к Козловскому с вопросами.
– Сейчас, князь, – сказал Козловский. – Диспозиция Багратиону.
– А капитуляция?
– Никакой нет; сделаны распоряжения к сражению.
Князь Андрей направился к двери, из за которой слышны были голоса. Но в то время, как он хотел отворить дверь, голоса в комнате замолкли, дверь сама отворилась, и Кутузов, с своим орлиным носом на пухлом лице, показался на пороге.
Князь Андрей стоял прямо против Кутузова; но по выражению единственного зрячего глаза главнокомандующего видно было, что мысль и забота так сильно занимали его, что как будто застилали ему зрение. Он прямо смотрел на лицо своего адъютанта и не узнавал его.
– Ну, что, кончил? – обратился он к Козловскому.
– Сию секунду, ваше высокопревосходительство.
Багратион, невысокий, с восточным типом твердого и неподвижного лица, сухой, еще не старый человек, вышел за главнокомандующим.
– Честь имею явиться, – повторил довольно громко князь Андрей, подавая конверт.
– А, из Вены? Хорошо. После, после!
Кутузов вышел с Багратионом на крыльцо.
– Ну, князь, прощай, – сказал он Багратиону. – Христос с тобой. Благословляю тебя на великий подвиг.
Лицо Кутузова неожиданно смягчилось, и слезы показались в его глазах. Он притянул к себе левою рукой Багратиона, а правой, на которой было кольцо, видимо привычным жестом перекрестил его и подставил ему пухлую щеку, вместо которой Багратион поцеловал его в шею.
– Христос с тобой! – повторил Кутузов и подошел к коляске. – Садись со мной, – сказал он Болконскому.
– Ваше высокопревосходительство, я желал бы быть полезен здесь. Позвольте мне остаться в отряде князя Багратиона.
– Садись, – сказал Кутузов и, заметив, что Болконский медлит, – мне хорошие офицеры самому нужны, самому нужны.
Они сели в коляску и молча проехали несколько минут.
– Еще впереди много, много всего будет, – сказал он со старческим выражением проницательности, как будто поняв всё, что делалось в душе Болконского. – Ежели из отряда его придет завтра одна десятая часть, я буду Бога благодарить, – прибавил Кутузов, как бы говоря сам с собой.
Князь Андрей взглянул на Кутузова, и ему невольно бросились в глаза, в полуаршине от него, чисто промытые сборки шрама на виске Кутузова, где измаильская пуля пронизала ему голову, и его вытекший глаз. «Да, он имеет право так спокойно говорить о погибели этих людей!» подумал Болконский.
– От этого я и прошу отправить меня в этот отряд, – сказал он.
Кутузов не ответил. Он, казалось, уж забыл о том, что было сказано им, и сидел задумавшись. Через пять минут, плавно раскачиваясь на мягких рессорах коляски, Кутузов обратился к князю Андрею. На лице его не было и следа волнения. Он с тонкою насмешливостью расспрашивал князя Андрея о подробностях его свидания с императором, об отзывах, слышанных при дворе о кремском деле, и о некоторых общих знакомых женщинах.


Кутузов чрез своего лазутчика получил 1 го ноября известие, ставившее командуемую им армию почти в безвыходное положение. Лазутчик доносил, что французы в огромных силах, перейдя венский мост, направились на путь сообщения Кутузова с войсками, шедшими из России. Ежели бы Кутузов решился оставаться в Кремсе, то полуторастатысячная армия Наполеона отрезала бы его от всех сообщений, окружила бы его сорокатысячную изнуренную армию, и он находился бы в положении Мака под Ульмом. Ежели бы Кутузов решился оставить дорогу, ведшую на сообщения с войсками из России, то он должен был вступить без дороги в неизвестные края Богемских
гор, защищаясь от превосходного силами неприятеля, и оставить всякую надежду на сообщение с Буксгевденом. Ежели бы Кутузов решился отступать по дороге из Кремса в Ольмюц на соединение с войсками из России, то он рисковал быть предупрежденным на этой дороге французами, перешедшими мост в Вене, и таким образом быть принужденным принять сражение на походе, со всеми тяжестями и обозами, и имея дело с неприятелем, втрое превосходившим его и окружавшим его с двух сторон.
Кутузов избрал этот последний выход.
Французы, как доносил лазутчик, перейдя мост в Вене, усиленным маршем шли на Цнайм, лежавший на пути отступления Кутузова, впереди его более чем на сто верст. Достигнуть Цнайма прежде французов – значило получить большую надежду на спасение армии; дать французам предупредить себя в Цнайме – значило наверное подвергнуть всю армию позору, подобному ульмскому, или общей гибели. Но предупредить французов со всею армией было невозможно. Дорога французов от Вены до Цнайма была короче и лучше, чем дорога русских от Кремса до Цнайма.
В ночь получения известия Кутузов послал четырехтысячный авангард Багратиона направо горами с кремско цнаймской дороги на венско цнаймскую. Багратион должен был пройти без отдыха этот переход, остановиться лицом к Вене и задом к Цнайму, и ежели бы ему удалось предупредить французов, то он должен был задерживать их, сколько мог. Сам же Кутузов со всеми тяжестями тронулся к Цнайму.
Пройдя с голодными, разутыми солдатами, без дороги, по горам, в бурную ночь сорок пять верст, растеряв третью часть отсталыми, Багратион вышел в Голлабрун на венско цнаймскую дорогу несколькими часами прежде французов, подходивших к Голлабруну из Вены. Кутузову надо было итти еще целые сутки с своими обозами, чтобы достигнуть Цнайма, и потому, чтобы спасти армию, Багратион должен был с четырьмя тысячами голодных, измученных солдат удерживать в продолжение суток всю неприятельскую армию, встретившуюся с ним в Голлабруне, что было, очевидно, невозможно. Но странная судьба сделала невозможное возможным. Успех того обмана, который без боя отдал венский мост в руки французов, побудил Мюрата пытаться обмануть так же и Кутузова. Мюрат, встретив слабый отряд Багратиона на цнаймской дороге, подумал, что это была вся армия Кутузова. Чтобы несомненно раздавить эту армию, он поджидал отставшие по дороге из Вены войска и с этою целью предложил перемирие на три дня, с условием, чтобы те и другие войска не изменяли своих положений и не трогались с места. Мюрат уверял, что уже идут переговоры о мире и что потому, избегая бесполезного пролития крови, он предлагает перемирие. Австрийский генерал граф Ностиц, стоявший на аванпостах, поверил словам парламентера Мюрата и отступил, открыв отряд Багратиона. Другой парламентер поехал в русскую цепь объявить то же известие о мирных переговорах и предложить перемирие русским войскам на три дня. Багратион отвечал, что он не может принимать или не принимать перемирия, и с донесением о сделанном ему предложении послал к Кутузову своего адъютанта.
Перемирие для Кутузова было единственным средством выиграть время, дать отдохнуть измученному отряду Багратиона и пропустить обозы и тяжести (движение которых было скрыто от французов), хотя один лишний переход до Цнайма. Предложение перемирия давало единственную и неожиданную возможность спасти армию. Получив это известие, Кутузов немедленно послал состоявшего при нем генерал адъютанта Винценгероде в неприятельский лагерь. Винценгероде должен был не только принять перемирие, но и предложить условия капитуляции, а между тем Кутузов послал своих адъютантов назад торопить сколь возможно движение обозов всей армии по кремско цнаймской дороге. Измученный, голодный отряд Багратиона один должен был, прикрывая собой это движение обозов и всей армии, неподвижно оставаться перед неприятелем в восемь раз сильнейшим.