Файловая система Линукс В системе UNIX все есть файл; а если что-то не файл, то это процесс [email protected] http://dvoeknet.ucoz.ru Основные понятия Файловая система – способ хранения и организации доступа к данным на информационном носителе или его разделе. Классическая файловая система имеет иерархическую структуру, в которой файл однозначно определяется полным путем к нему. В файловой системе Linux нет папок и документов. Есть каталоги и файлы, возможности которых куда шире. Файл – отдельная область данных на одном из носителей информации, у которой есть собственное имя. Каталог – это список ссылок на файлы или другие каталоги (то есть просто текстовый файл, но специфического назначения). Каталог Подкаталог 1 Файл 1 Файл 2 Подкаталог 2 Файл 3 [email protected] http://dvoeknet.ucoz.ru Допустимые имена файлов В Linux имена файлов и каталогов могут быть длиной не более 256 символов, и могут содержать любые символы, кроме “/”. Причем Linux всегда различает прописные и строчные буквы в именах файлов и каталогов, поэтому “methody”, “Methody” и “METHODY” будут тремя разными именами. Есть несколько символов, допустимых в именах файлов и каталогов, которые нужно использовать с осторожностью. Это так называемые спецсимволы “*”, “\”, “&”, “<”, “>”, “;”, “(”, “)”, “|”, а также символы пробела и табуляции. Рекомендуется использовать в имени символы латинского языка, так как они корректно отображаются в любой системе. [email protected] http://dvoeknet.ucoz.ru Расширения Расширение – часть имени файла после точки, обычно ограничивающаяся несколькими символами и указывающая на тип содержащихся в файле данных. В файловой системе Linux нет никаких предписаний по поводу расширения: в имени файла может быть любое количество точек (в том числе ни одной), а после последней точки может стоять любое количество символов. Хотя расширения не обязательны и не навязываются технологией в Linux, они широко используются: расширение позволяет человеку или программе, не открывая файл, только по его имени определить, какого типа данные в нем содержатся. Однако нужно учитывать, что расширение – это только набор соглашений о наименовании файлов разных типов. Строго говоря, данные в файле могут не соответствовать заявленному расширению по той или иной причине, поэтому всецело полагаться на расширение нельзя. Определить тип содержимого файла можно и на основании самих данных. Многие форматы предусматривают указание в начале файла, как следует интерпретировать дальнейшую информацию: как программу, исходные данные для текстового редактора, страницу HTML, звуковой файл, изображение или что-то другое. В распоряжении пользователя Linux всегда есть утилита file, которая предназначена именно для определения типа содержащихся в файле данных: [email protected] http://dvoeknet.ucoz.ru Виды файлов Обычные файлы: содержат обычные данные, например, текстовые файлы, исполняемые файлы (или программы), файлы ввода или вывода программ и т.д. Каталоги: файлы, которые представляют собой списки других файлов. Специальные файлы: механизм использования ввода-вывода. Большинство специальных файлов находятся в /dev, мы их обсудим позже. Ссылки: механизм обеспечения видимости файла или каталога во множестве частей файлового дерева системы. Мы в деталях поговорим о ссылках. (Домены) сокеты: особый тип файла, подобный сокетам TCP/IP, обеспечивающий взаимодействие в сети процессов, защищенных контролем файловой системы на доступ. Именованные каналы: действуют более или менее похоже на сокеты и обеспечивают способ коммуникации между процессами без использования правил поведения сетевых сокетов. [email protected] http://dvoeknet.ucoz.ru Опция -l команды ls отображает тип файла, на что указывает первый символ в каждой выводимой строке: jaime:~/Documents> ls -l total 80 -rw-rw-r-- 1 jaime jaime 31744 Feb 21 17:56 intro Linux.doc -rw-rw-r-- 1 jaime jaime 41472 Feb 21 17:56 Linux.doc drwxrwxr-x 2 jaime jaime 4096 Feb 25 11:50 course [email protected] http://dvoeknet.ucoz.ru Дерево каталогов в Linux [email protected] http://dvoeknet.ucoz.ru Разделы и точки монтирования корневой раздел, содержащий все данные для старта и запуска системы; раздел с данными: обычные данные системы Linux; раздел подкачки (Swap): расширение физической памяти компьютера, представляет собой дополнительную память на жестком диске [email protected] http://dvoeknet.ucoz.ru Разделы и точки монтирования Все разделы подключаются к системе через точки монтирования. Точка монтирования определяет место расположения конкретных данных в файловой системе. Как правило все разделы связаны через раздел root. В этом разделе, который обозначается косой чертой (/), создаются каталоги. Эти пустые каталоги будут начальной точкой разделов, которые подключаются к нему, то есть тоже будут служить точками монтирования. [email protected] http://dvoeknet.ucoz.ru Разделы и точки монтирования Раздел Точка монтирован ия Тип файловой системы Рекомендуе мый размер Корневой / Ext2/3 7-10 Gb Swap-раздел Не назначается Не указывается Удвоенный размер оперативной памяти Домашний каталог /home Ext2/3 NTFS или другая Чем больше, тем лучше [email protected] http://dvoeknet.ucoz.ru Как узнать о разделах и степени их использования? На работающей системе информацию о разделах и их точках монтирования можно получить с помощью команды df (которая показывает используемое пространство диска). Команда df отображает только информацию об активных разделах (исключая раздел подкачки). Они могут включать разделы других доступных по сети систем, как в примере, приведенном ниже, где домашние каталоги монтируются с файлового сервера по сети, # df -h Filesystem Size Used Avail Use% Mounted on /dev/hda8 496M 183M 288M 39% / /dev/hda1 124M 8.4M 109M 8% /boot /dev/hda5 19G 15G 2.7G 85% /opt /dev/hda6 7.0G 5.4G 1.2G 81% /usr /dev/hda7 3.7G 2.7G 867M 77% /var fs1:/home 8.9G 3.7G 4.7G 44% /.automount/fs1/root/home [email protected] http://dvoeknet.ucoz.ru