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 будут информировать вас о появлении нового устройства.
Рисунок 7.2. Автоопределение USB устройств в KDE
Несмотря на то, что концепция монтирования и размонтирования может показаться запутанной и утомительной на первый взгляд, она предоставляет большую гибкость: например, вы можешь легко смонтировать каталог находящийся на другой машине через сеть и работать с ним как с каталогом размещенным на вашей машине.
- Чувствительность к регистру
- В противоположность Windows, файлы в Linux могут иметь расширения, такие как .txt, но не нуждаются в них. Когда вы начинаете работать с командной строкой эта особенность, иногда, ставит в затруднение начинающих, отличие файлов от каталогов зависит от команды которую вы используете чтобы вывести список каталогов или файлов. Узнать больше о некоторых основных командах оболочки можно в Глава 8, Основы оболочки. Если вы используете графические файловые менеджеры в KDE или GNOME (см. GNOME User Guide и KDE User Guide), файлы и папки символически отличаются друг от друга различными иконками выбираемыми на ваш вкус.
Рисунок 7.3. Файлы и папки в файловом менджере KDE
- Скрытые файлы
- Подобно 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, «Ключевые особенности».![[Note]]()
Домашний каталог в Сетевом Окружении Если вы работаете в сетевом окружении, ваш домашний каталог может быть отображен в ином каталоге файловой системы чем
/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, «Доступ к файлам из разных ОС на одном компьютере».
![[Note]](/books/opensuse/admon/note.png)