7.2.1. Ключевые особенности
В Linux все файлы и каталоги размещаются в древовидной структуре. Самый верхний каталог файловой системы именуется как корневой (root) или просто / (не путать с пользователем root). Возможным аналогом / в операционной системе Windows будет C:\. Все прочие каталоги в Linux доступны из корневого и организованы в виде иерархической структуры. Ключевые особенности файловой системы Linux перечислены в следующем списке, в котором также выделены некоторые важные отличия файловых систем Linux и Windows/DOS:- Определение путей
- В противоположность Windows, в Linux не используется обратный слэш \ в качестве разделителя элементов пути, вместо него используется прямой слэш /. Например, личные данные пользователя, такие как письма, в Windows могут быть сохранены в C:\My Documents\Letters, тогда как в Linux это должно было бы быть сохранено в /home/username/Letters.
- Разделы, Диски/Устройства и Каталоги
- Linux не использует буквы для именования дисков, как это делает Windows. Просто имеется путь, в Linux не нельзя сказать обращаетесь ли вы к разделу, диску/устройству, сетевому ресурсу или «обычному» каталогу.
- Монтирование и размонтирование
- Другое важное отличие Windows/DOS от Linux это концепция монтирования и размонтирования разделов, дисков или каталогов. Windows определяет разделы и диски на этапе начальной загрузки и назначает им буквы. Однако в Linux, разделы или устройства обычно не видны в дереве каталогов до тех пор пока они не смонтированы, т.е. не объединены с файловой системой в определенном месте дерева каталогов. Как обычный пользователь вы не можете получить доступ к данным находящимся на разделе или устройстве до тех пор, пока оно не смонтировано. Но не стоит беспокоиться — большую часть времени вы не будете заниматься монтированием разделов или устройств вручную. Во время инсталляции вашей системы, вы можете определить разделы которые должны быть смонтированы автоматически при загрузке системы. Съемные устройства обычно также определяются и монтируются автоматически вашей системой — графические оболочки, такие как KDE или GNOME будут информировать вас о появлении нового устройства.
Несмотря на то, что концепция монтирования и размонтирования может показаться запутанной и утомительной на первый взгляд, она предоставляет большую гибкость: например, вы можешь легко смонтировать каталог находящийся на другой машине через сеть и работать с ним как с каталогом размещенным на вашей машине.
- Чувствительность к регистру
- В противоположность Windows, файлы в Linux могут иметь расширения, такие как .txt, но не нуждаются в них. Когда вы начинаете работать с командной строкой эта особенность, иногда, ставит в затруднение начинающих, отличие файлов от каталогов зависит от команды которую вы используете чтобы вывести список каталогов или файлов. Узнать больше о некоторых основных командах оболочки можно в Глава 8, Основы оболочки. Если вы используете графические файловые менеджеры в KDE или GNOME (см. GNOME User Guide и KDE User Guide), файлы и папки символически отличаются друг от друга различными иконками выбираемыми на ваш вкус.
- Скрытые файлы
- Подобно Windows, Linux так же различает «обычные» файлы и скрытые файлы, которые часто являются конфигурационными и как следствие их нежелательно делать видимыми или доступными для обычного пользователя. В Linux, скрытые файлы помечаются точкой перед именем (например, .hiddenfile). Для того, чтобы получить доступ к скрытым файлам вы можете переключить отображение в файловом менеджере или использовать определенную команду командной строки, как описывает Раздел 8.2.2, «Использование команд с параметрами».
- Права доступа файловой системы
- Так как Linux многопользовательская система, каждый файл в файловой системе Linux принадлежит пользователю и группе пользователей. Только владелец файла или каталога (или, конечно же, root) может предоставить права доступа к нему другим пользователям. Linux в основном различает три типа прав доступа: право на запись, право на чтение и право на исполнение. Вы можете получить доступ к файлу или каталогу если обладаете хотя бы правом на чтение для файла или каталога. Есть несколько способов, чтобы изменить права доступа к файлам и каталогам: традиционным способом, используя командную строку или с помощью файлового менеджера вашего рабочего стола. Если вы обладаете привилегиями пользователя root, вы можете так же изменить владельца или группу файла или каталога. Узнать как это делать с помощью командной строки можно прочитав Раздел 8.5, «Изменение прав доступа к файлу». Для более подробной информации о правах доступа файловой системы можно прочитать в Раздел 8.5, «Изменение прав доступа к файлу». Кроме традиционной концепции прав доступа для объектов файловой системы доступны расширения, которые позволяют манипулировать правами доступа более гибко.
7.2.2. Структура каталогов
Следующая таблица представляет короткий обзор наиболее важных каталогов верхнего уровня, которые вы увидите в файловой системе Linux. Более подробная информация о каталогах и важных подкаталогах помещена в списке после таблицы.Таблица 7.1. Обзор стандартного дерева каталогов
Каталог |
Содержимое |
---|---|
Корневой каталог—отправная точка дерева каталогов (файловой системы). | |
Важные двоичные (бинарные) файлы, такие, как команды, которые необходимы и системному администратору, и обычным пользователям. Обычно также содержат интерпретаторы команд такие как Bash. | |
Файлы загрузчика. | |
Файлы необходимые для доступа к устройствам компьютера. | |
Системные конфигурационные файлы. | |
Содержит домашние каталоги всех пользователей, которые имеют учетные записи в системе. Только домашний каталог пользователя | |
Важные динамические библиотеки (shared libraries) и модули ядра. | |
Точки монтирования съемных носителей. | |
Точка монтирования для временного монтирования файловых систем. | |
Пакеты дополнительных программ. | |
Домашний каталог суперпользователя | |
Важные системные двоичные файлы. | |
Данные для служб предоставляемых системой. | |
Временные файлы. | |
Вторичная иерархия с данными только для чтения. | |
Переменные данные такие как лог-файлы | |
Этот каталог доступен только в том случае, если на компьютере установлены и Microsoft Windows* и Linux. Содержит данные Windows. |
-
/bin
Содержит базовые команды интерпретатора, которые могут использоваться как
root
так и другими пользователями. Эти команды включают ls, mkdir, cp, mv, rm, и rmdir. Каталог/bin
также содержит Bash—командный интерпретатор, по умолчанию, в openSUSE.-
/boot
Содержит данные необходимые для загрузки, такие, как загрузчик, ядро, и другие данные используемые прежде, чем ядро начинает выполнять программы пользовательского режима.
-
/dev
Содержит файлы устройств, которые представляют аппаратные компоненты.
-
/etc
Содержит локальные конфигурационные файлы которые управляют работой программ подобных X Window System. Подкаталог
/etc/init.d
содержит скрипты исполняемые во время загрузки.-
/home/
username
Содержат личные данные каждого пользователя, который имеет учетную запись в системе. Файлы размещенные здесь могут изменяться только их владельцами или системным администратором. По умолчанию, ваш e-mail каталог и персональная конфигурация рабочего стола размещены здесь в виде скрытых файлов и каталогах. Пользователи KDE находят персональные конфигурационные данные для их рабочего стола в
.kde
, пользователи GNOME находят ее в.gconf
. Подробнее о скрытых файлах, читайте Раздел 7.2.1, «Ключевые особенности».Домашний каталог в Сетевом Окружении Если вы работаете в сетевом окружении, ваш домашний каталог может быть отображен в ином каталоге файловой системы чем
/home
.-
/lib
Содержит важные динамические библиотеки, необходимые для загрузки системы и запуска команд в корневой файловой системе. Windows эквивалент динамических библиотек (shared libraries)—файлы с расширением DLL.
-
/media
Содержит точки монтирования для съемных носителей, таких как CD-ROMы, USB память, и цифровые камеры (если они используют USB). Каталог
/media
обычно содержит любые типы устройств, за исключением жестких дисков вашей системы. Как только ваш съемный носитель был вставлен или подключен к системе и был смонтирован, вы можете получить доступ к нему отсюда.-
/mnt
Этот каталог обеспечивает точку монтирования для временно монтируемых файловых систем. Пользователь
root
может здесь монтировать файловые системы.-
/opt
Зарезервировано для инсталляции дополнительных программ. Дополнительные программы и большие пакеты дополнений программ могут быть найдены здесь. KDE3 размещен здесь, а KDE4 и GNOME сейчас перемещены в
/usr
.-
/root
Домашний каталог пользователя
root
. Личные данныеroot
размещены здесь.-
/sbin
Здесь
s
индуцирует то, что этот каталог содержит утилиты для суперпользователя./sbin
содержит бинарные файлы важные для загрузки, отката после изменений, и восстановления системы в дополнении к к бинарным файлам в/bin
.-
/srv
Содержит данные для служб предоставляемых системой, таких, как FTP и HTTP.
-
/tmp
Этот каталог используется программами, которым требуется временное хранение файлов.
-
/usr
/usr
не имеет никакого отношения к пользователям, это акроним для ресурсов UNIX системы. Данные/usr
статические, данные только для чтения, которые могут быть общими среди различных компьютеров соответствующих стандарту на структуру файловой системы "Filesystem Hierarchy Standard" (FHS). Этот каталог содержит все прикладные программы и устанавливает вторичную иерархию в файловой системе. Каталог/usr
содержит множество подкаталогов, таких как/usr/bin
,/usr/sbin
,/usr/local
, и/usr/share/doc
.-
/usr/bin
Содержит общедоступные программы.
-
/usr/sbin
Содержит программы зарезервированные для системного администратора, например функции восстановления.
-
/usr/local
В этом каталоге, системный администратор может установить локальные расширения, которые не зависят от дистрибутива.
-
/usr/share/doc
Содержит различные файлы документации и замечания к релизу для вашей системы. В подкаталоге
manual
, ищите интерактивную версию этого руководства. Если установлено более одного языка, этот каталог может содержать версии руководства для различных языков.В подкаталоге
packages
, ищите документацию включенную в пакеты программ установленных на компьютере. Для каждого пакета создается свой каталог/usr/share/doc/packages/
, который часто содержит файлы README для пакетов и, иногда, примеры конфигурационных файлов или дополнительных скриптов.packagename
Если HOWTO установлены в вашем компьютере, то каталог
/usr/share/doc
также содержит подкаталогhowto
в котором вы найдете дополнительную документацию по множеству задач относительно установки и работы Linux программ.-
/var
Тогда как
/usr
, содержит статические данные только для чтения,/var
предназначен для данных, которые записываются во время работы системы и соответственно это переменные данные, такие как log-файлы или буферные данные. Например, log-файлы вашей системы хранятся в/var/log/messages
(доступны только дляroot
).-
/windows
Этот каталог доступен только в том случае, если на компьютере установлены и Microsoft Windows и Linux. Содержит данные доступные на Windows разделе вашей системы. Можете ли вы редактировать данные в этом каталоге зависит от типа используемой файловой системы вашего Windows раздела. Если это FAT32, вы можете открывать и редактировать файлы в этом каталоге. Однако для файловой системы NTFS, вы можете только читать файлы Windows из Linux, но не изменять их. Можете научиться большему в Раздел 11.3, «Доступ к файлам из разных ОС на одном компьютере».