На жёстких дисках современного компьютера, а также на других накопителях и носителях информации обычно хранится одновременно много различных данных, и эти данные представлены в двоичном коде. Для того чтобы получить доступ к той или иной информации (например, чтобы прочитать текст, записанный в электронном виде, или запустить программу, которая записана на носителе), требуется указать, с какого конкретного места на диске следует считывать данные. Другими словами, для того чтобы компьютер «знал», где расположена нужная в данный момент информация на диске, ему требуется указать точный её «адрес» — для дискового накопителя, например, это номер сектора диска, номер дорожки и т. п.
Согласитесь, что запоминать местоположение данных в таком виде, особенно, когда данных много, весьма неудобно. Поэтому данные при записи на диск объединяют в поименованные последовательности. Эти последовательности и называются файлами. Файлом может являться и программа, которую можно запустить, и текст, набранный пользователем, и оцифрованный звуковой фрагмент, и любая другая последовательность данных. При этом в первых секторах каждого диска хранится информация о соответствии имени файла адресу его физического расположения на диске.
Теперь вместо того чтобы запоминать, например, что программа-редактор текстов записана на дорожке 10, сектора 12 и 13 и для её запуска нам нужно обратиться к этим секторам, мы присваиваем файлу этой программы имя kwriter. Этому имени ставятся в соответствие данные сектора на диске, о чём делается запись в начале диска. Теперь при обращении к этому файлу по имени компьютер будет искать это имя в своём списке. Найдя его, он автоматически обратится к нужным секторам, чтобы считать с них данные. Для удобства желательно, чтобы имя файла отражало его содержимое. Например, файл стандартной программы-редактора текстов «Блокнот» из операционных систем семейства Windows носит имя notepad (блокнот). Таким образом, пользователю становится легко ориентироваться в записанных на диске данных. Итак, пользователь указывает только имя файла, а конкретное место его расположения на диске определяет операционная система (об операционных системах см. в гл. 5). В некоторых старых операционных системах, например DOS, имя файла ограничивалось восемью символам и могло состоять только из латинских букв и некоторых специальных символов (например, подчёркивание или восклицательный знак).
В современных системах имя файла может быть очень длинным — например, до 255 символов в современных версиях Windows. При этом в имени файла могут использоваться самые разные символы, в том числе пробелы и даже русские буквы. Однако мы не рекомендуем злоупотреблять русскими буквами в названиях файлов. Дело в том, что, во-первых, такие «русские» файлы могут не читаться в некоторых системах (а мало ли, что может понадобиться!), а во-вторых, в некоторых аварийных ситуациях извлечь или спасти такие файлы бывает значительно труднее, чем файлы, в именах которых использованы только латинские буквы. Иногда это и вовсе невозможно.
Ну вот, скажете вы, только начался рассказ о хранении данных в файлах, как автор уже пугает аварийными ситуациями... Автору, конечно, никого пугать не хочется. Од нако непредвиденные аварийные ситуации могут возникнуть в любой области, в том числе и в компьютерной системе. Поэтому всегда лучше заранее принять меры предосторожности, тем более, что в данном случае это совсем нетрудно. Считается, что в полное имя файла ещё входят путь к нему (path) и расширение (extension). Речь об этом и пойдёт далее Какие бывают файлы
Когда пользователь начинает работу с каким-либо файлом, системе необходимо «знать», с помощью какой программы этот файл можно открыть и в каком формате он записан. Например, если файл содержит обычный текст, то он может быть прочитан в любой текстовой программе («Блокнот», WordPad, kwriter и т. п.). Если файл является звуковым фрагментом, то его можно открыть в программе-проигрывателе (Winamp, XMMS и пр.) или в каком-нибудь звуковом редакторе (Sound Forge, Adobe Audition, Samplitude и т. п.).
Таким образом, программа, которая открывает файл, должна «понимать» формат, в котором этот файл записан. Если же, например, попробовать открыть текстовый файл в звуковом редакторе, то последний, скорее всего, выдаст сообщение об ошибке («неверный формат файла»), а если вы откроете звуковой файл в виде текста, то увидите на экране полную бессмыслицу.
Расширение в имени файла. Чтобы программы и операционные системы могли «с первого взгляда» определять тип файла, к имени файла добавляют так называемое расширение. Оно обычно состоит из небольшого количества символов. В старых системах вроде DOS оно ограничивалось тремя символами. В современных системах, в том числе в Windows XP или Linux, такого ограничения нет, однако большинство файлов всё равно оканчивается трёхбуквенными расширениями. От собственного имени файла расширение отделяется точкой.
Во многих современных системах и в Интернете принят ряд стандартных расширений имён файлов. Некоторые из них приведены в табл. 3.1.
Таблица 3.1 Стандартные расширения имён файлов
Расширение Значение
.аас Сжатый музыкальный файл формата mp4 audio
.асе Файл архива
.ai Векторный рисунок формата популярной программы Adobe Illustrator
.aiff Звуковой файл (как правило, на Macintosh)
.ani Анимированный указатель мыши
.arj Файл архива
.asf Потоковый звуковой или видеофайл
.asx Потоковый звуковой или видеофайл
.au Звуковой файл (формат Sun Audio)
.avi Видеофайл стандартного для Windows формата
.bak Старая (предыдущая) копия какого-либо файла
.bat «Командный файл» — содержит ряд команд операционных систем DOS или Windows, которые будут выполняться пос-
ледовательно
.bin Двоичный файл
.bmp Растровый рисунок
.bz Файл архива
.bz2 Файл архива
.c Код программы на языке С или С++
.cab Файл, содержащий в себе несколько сжатых файлов
.cfg Установки для какой-либо программы
.class Программа (апплет), написанная на языке Java
.com Исполняемый файл (программа, которую можно непосредственно запустить)
.conf Файл конфигурации какой-либо программы (обычно в Linux)
.cpr Музыкальный проект популярной программы Cubase .ess Файл стиля для веб-страниц
.cur Указатель мыши
.dat Видеоклип
.db Файл базы данных
.dll Динамическая библиотека связей (обычно компонент какой- либо программы)
.doc Документ, как правило, формата Microsoft Word
.eps Графический файл полиграфического формата PostScript
.ехе Исполняемый файл (программа, которую можно непосредс твенно запустить)
.gif Рисунок (сжатый файл)
.Ыр Файл справки
.htm Гипертекстовый файл, обычно для веб-страниц
.html Гипертекстовый файл, обычно для веб-страниц
Лео Значок
.inf Сведения для установки какой-либо программы
.ini Файл настроек программы (обычно в Windows или DOS)
.iso Файл образа компакт-диска
.fon Файл шрифта
.gz Файл архива
.gzip Файл архива
.jar Исполняемая программа на языке Java
.jpeg Рисунок (сжатый файл)
jpg Рисунок (сжатый файл)
.js Скрипт на языке JavaScrpipt
.kar Музыкальный файл с текстом (для караоке)
.Ша Файл архива
.log «Протокол» действий, совершённых какой-либо программой
(обычно при установке)
.1st Листинг
.m3u Стандартный список воспроизведения
.mid MIDI-файл (музыкальный файл, который исполняется через
синтезатор звуковой карты)
.mov Видео или звуковой файл формата Apple Quick Time
.трЗ Сжатый музыкальный файл формата трЗ
.mpg Сжатый видеофайл формата mpeg
.msi Файл установки программы для Windows
.mus Нотный файл формата популярной программы Finale
.осх Системный файл ActiveX
.ogg Сжатый музыкальный файл формата Ogg Vorbis .old Старая копия какого-либо файла
.pdf Документ формата Adobe Acrobat
.php Скрипт на языке РНР
.phtml Скрипт на языке РНР
.pi Скрипт на языке PERL
.pis Стандартный список воспроизведения
.pmd Файл вёрстки в формате Adobe Pagemaker
•png Рисунок сжатого формата
.ps Графический файл полиграфического формата PostScript
.psd Рисунок формата популярной растровой программы Adobe Photoshop
.pwl Зашифрованный пароль и другие сведения о пользователе
•qt Видео или звуковой файл формата Apple Quick Time
.ra Файл Real Audio
.rar Файл архива
.reg Сведения для внесения в системный реестр Windows
.rpm Файл установки программы для Linux
.rtf Текстовый файл со шрифтовой разметкой
.sib Нотный файл формата популярной программы Sibelius
.sis Файл установки программы для мобильного телефона
.swf Файл фильма популярного формата Shokwave Flash
.sxw Документ в формате OpenOffice.org
•sys Системный файл
.tar Файл архива
.tif Рисунок
.ttf Файл шрифта TrueType
.txt Текстовый файл
.vxd Драйвер виртуального устройства — один из системных компонентов Windows
.wav Стандартный звуковой файл в Windows
.wma Сжатый музыкальный файл формата Windows Media
.wmf Рисунок (стандартный Windows-формат)
.wmv Сжатый видеофайл формата Windows Media
.wri Текстовый документ в формате Write или WordPad
.xml Документ, размеченный в соответствии со стандартом XML
.zip Файл архива
Конечно, здесь перечислены далеко не все расширения и типы файлов, их слишком много Дело в том, что каждая вновь создаваемая программа может использовать уже имеющийся стандартный тип для своих рабочих файлов, а может иметь и свой собственный. Так, например, графический редактор Adobe Photoshop может работать со стандартными форматами рисунков (bmp, jpg, tif и пр.), но в то же время имеет свой собственный файловый формат (psd). Музыкальная программа Cubase может работать со стандартными MIDI-файлами (mid) или звуковыми файлами (wav), однако при работе чаще используется оригинальный формат (срг).
Более того, поскольку программ существует очень много, то легко может случиться так, что две или более программы будут «стараться» использовать одинаковое расширение для файлов своего формата. Например, расширение mus традиционно используется для нотных файлов формата Finale, однако это же расширение mus имеют и нотные файлы совершенно другого формата MusicTime.
Вообще говоря, в некоторых системах тип файла определяется не только по расширению, и в этом случае файлы могут вообще не иметь расширений. Например, исполняемые файлы в Linux определяются не по расширению (ехе или com), а по специальному файловому атрибуту. Однако для совместимости с традиционно сложившейся ситуацией большинство программ в этих системах сегодня также оперирует файлами с расширениями.
Открытие файлов. В современных системах, таких как Windows XP или Linux с графической оболочкой это обычно осуществляется с помощью двойного щелчка мыши на имени или значке файла. Получив команду «Открыть файл», система прежде всего определяет тип файла по его расширению. Если файл окажется исполняемым (программа), то его содержимое загружается в память и передаётся процессору для исполнения. Если же файл имеет другой известный тип, то система сначала открывает ту программу, которая работает с этим типом файлов, и затем файл будет открыт уже из этой программы. Если тип файла системе неизвестен, то пользователю будет предложено выбрать рабочую программу самому. Эта ситуация в операционных системах Windows показана на рис. 3.1.
Каталоги
Итак, теперь вы знаете, что такое файл. Если бы файлов на диске было не больше одного-двух десятков, запомнить, что означают их имена, и разобраться в них не предоставляло бы труда. Однако их уже очень много на новом диске, и в дальнейшем их количество растет с ураганной скоростью. Например, на жёстких дисках моего компьютера расположено около тридцати тысяч различных файлов. Откуда они вообще берутся и как в них разобраться? Рис. 3.1 Выбор программы для открытия файла (в Windows и Linux)
Во-первых, в состав современных программ (за редким исключением) входят от нескольких десятков до сотен вспомогательных файлов. К примеру, система Windows XP состоит из почти 10 000 файлов. Чтобы облегчить жизнь, решили все файлы, относящиеся к одной программе, объединять в группу. В результате на диске будет несколько таких групп.
Полезно также разделить файлы по типам и назначению (для работы, для развлечения, для детей и др.). Если компьютером пользуется несколько человек, следует объединить в одну группу файлы одного пользователя.
Такие группы файлов принято называть каталогами, директориями или, в новой терминологии, папками (folders). Все каталоги, как и файлы, имеют свои имена. Внешне имена каталогов ничем не отличаются от имён файлов, но обычно не имеют расширений (хотя и могут иметь их).
Итак, файлы (все или часть) распределили по каталогам (папкам). Но процесс продолжается, и вот уже внутри одного каталога может располагаться другой каталог, в нём ещё один и так далее, как в русской матрёшке.
Теперь, чтобы указать точное местоположение файла, кроме имени файла и расширения, необходимо указать ещё и путь к файлу. Путь (path) состоит из имён всех каталогов, внутри которых файл расположен. В системах DOS и Windows это выглядит так: в начале пути к файлу ставится буквенное имя диска (логического раздела), после которого всегда ставится двоеточие, и далее следует перечисление имён каталогов, в которых расположен данный файл. При этом имена каталогов разделяются обратной косой чертой (\). Например, если вы записали звуковой файл и назвали его MySound.wav, а затем поместили его в каталог Sounds, который, в свою очередь, вложен в каталог MyFiles на жёстком диске D:, то полное имя файла (включающее путь) будет выглядеть так:
D:\MyFiles\Sounds\MySound.wav
В системе Linux и других с подобной организацией имён файлов, имена каталогов разделяются обычной косой чертой (/). Ею же обозначается корневой раздел. Например, если вы поместили звуковой файл MySound.wav в свой домашний каталог под названием Ivanov, который находится в каталоге home, то полный путь к файлу будет выглядеть так:
/home/Ivanov/MySound.wav
Файловые системы. Иногда возникает ситуация, когда файлы (а точнее — целые логические диски), которые прекрасно «видны» из-под одной операционной системы, бесследно исчезают в другой. Как правило, это бывает, когда операционные системы используют разные файловые системы. Файловая система — это формат, в котором записана информация о расположении файлов на диске. Существует универсальная файловая система на PC, которая называется FAT или FAT16. С ней могут работать DOS, Windows, OS/2, Linux, BeOS и т. п. Универсальной является и файловая система FAT32, но она к тому же разрешает использование больших жёстких дисков. При файловой системе FAT16 размер раздела не должен превышать 2 Гбайт. С FAT32 могут работать практически все операционные системы, кроме DOS.
Существует и другие же файловые системы, но они не столь универсальны. Например, систему HPFS могли понимать только OS/2 и Windows NT ранних версий. Файловую систему NTFS, которая используется в Windows NT/2000/XP, не «понимают» Windows 95/98/ME, а в Linux её лучше использовать только для чтения, но не для записи. Характерная для Linux файловая система ext3 обычно не читается из Windows.Если по разным причинам на компьютере работает несколько операционных систем, то автор рекомендует пользоваться наиболее универсальной файловой системой FAT32.
Программные пакеты
Современные программы, как правило, состоят не из одного исполняемого файла, а из множества, или компонентов пакета. Для работы программ бывает необходимо подготовить систему, т. е. произвести определённые настройки и дать знать системе о существовании программ. С этой целью программные пакеты поставляют в «запакованном» виде, и к ним прилагают небольшую программку, обычно именуемую Setup или Instal. Эта программка распаковывает файлы-компоненты программы, помещает их в нужные каталоги, записывает или изменяет системные установки и т. д. Этот процесс называется установкой программы, а запакованный программный пакет с программой установки называется дистрибутивом.
Например, дистрибутив нотно-графической программы Finale 2004 содержит файл Setup.exe. При запуске он создаёт специальный каталог для программы Finale 2004, помещает туда десять необходимых файлов, создаёт внутри него ещё десять каталогов (для библиотек установок, шаблонов, учебных файлов, подключаемых модулей и пр.) и наполняет их содержимым. Кроме того, устанавливает в системе «нотные» шрифты (Maestro, Petrucci и пр.) и несколько PostScript-шрифтов (специальных шрифтов для полиграфических работ).
Иногда вместо установочного файла или сценария, который совершает подобную работу, дистрибутив программы содержит несколько команд для стандартного инсталлятора системы. Эти указания могут быть запакованы вместе с необходимыми для работы программы данными в один файл со стандартным расширением msi (для Windows) или rpm (для Linux). Для установки такой программы достаточно открыть этот файл, а всё остальное система сделает сама.
Если прочитаная статья из нашей обширной энциклопедия компьютера - "Что такое файл и какие бывают файлы", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по статье через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!