1.4.1. Корневая файловая система. Стандартные каталоги
При установки Linux в выбранном вами разделе жесткого диска создастся корневая файловая система Linux. Корневая файловая система содержит набор стандартных каталогов и утилит, без которых невозможна работа Linux.
Корневая файловая система обозначается как /. Обратите внимание: в Linux используется прямой слеш, а не обратный (\), как в Windows. Полный путь к файлу обязательно начинается с корневой файловой системы. Вот полный путь к файлу report.doc, который находится в домашнем каталоге пользователя den:
/home/den/report.doc
В табл. 1.1 приведено краткое описание основных каталогов корневой файловой системы.
Таблица 1.1. Основные каталоги корневой файловой системы
Каталог | Описание |
---|---|
/ | Корневой каталог |
/bin | Содержит стандартные утилиты Linux |
/boot | Содержит конфигурационные файлы загрузчика GRUB, образы ядра, файлы initrd |
/dev | Содержит файлы устройств. О том, что это такое, мы поговорим чуть позже |
/etc | Содержит конфигурационные файлы операционной системы и всех сетевых служб. Данный каталог подобен реестру Windows, но в Windows общесистемные настройки хранятся в одном большом бинарном файле, а в Linux настройки хранятся в разных конфигурационных файлах, которые можно редактировать обычным текстовым редактором |
/home | Содержит домашние каталоги пользователей. В домашних каталогах пользователей хранятся пользовательские файлы, а также пользовательские настройки различных программ |
/lib | Здесь находятся различные библиотеки и модули ядра |
/misc | В данном каталоге может быть все, что угодно |
/mnt | Обычно в этом каталоге содержатся точки монтирования. О монтировании файловых систем мы тоже поговорим отдельно |
/proc | Этот каталог не совсем обычный: это каталог псевдофайловой системы procfs, которая используется для предоставлении информации о процессах |
/root | Каталог пользователя root (пользователь с максимальными полномочиями) |
/sbin | Набор утилит для системного администрирования, запускать эти утилиты имеет право только root |
/tmp | "Мусорка", т,е, каталог, в котором хранятся временные файлы. Linux, в отличие от Windows, следит за чистотой и регулярно очищает этот кагапог |
/usr | Содержит пользовательские программы. По размеру - это один из самых больших каталогов файловой системы. В этот каталог устанавливаются практически все программы. Также в этом каталоге находятся вспомогательные файлы, необходимые для работы установленных программ. Грубо, конечно, но данный каталог можно сравнить с каталогом Program Files в Windows |
/var | Здесь хранятся данные системы, которые постоянно изменяются, например очередь печати, почтовые ящики и т.д. |
1.4.2. Файлы устройств
Абстракция - это великая сила. Возьмем, например, DOS (именно DOS, потому что с нее началась история Microsoft). Разные разделы жесткого диска в DOS представляются как отдельные диски (в DOS они называются логическими дисками), В Windows то же самое - открываем окно Мой компьютер и видим несколько пиктограмм жестких дисков (рис. 1.51). Каждый логический диск представляется как отдельный дисковый накопитель. Для пользователя нет разницы, куда он записывает данные - на отдельный физический диск или на раздел физического диска. Посмотрите на рис. 1.51: на самом деле у меня всего два физических диска, а разделов существенно больше.
Рис. 1.51 Окно Мой компьютер ОС Windows ХР
Однако по уровню абстракции система Linux опередила Windows. В Linux каждое отдельное устройство представляется в виде файла файловой системы, и к устройству вы можете обращаться как к обычному файлу! Файлы устройств хранятся в каталоге /dev. В табл. 1.2 приведены некоторые популярные файлы из каталога /dev.
Таблица 1.2. Некоторые файлы устройств
Файл | Описание |
---|---|
/dev/modem | Файл модема, но обычно это ссылка или на устройство ttySn, или нa ttyUSBn |
/dev/ttySn, где n - номер | Файл последовательного порта: ttyS0 = COM1, ttyS1=COM2 |
/dev/ttyUSBn, где n - номер | Обычно используется в случае подключения USB-модема |
/dev/hdX, X - буква | Файл IDE-устройства, например /dev/hda, /dev/hdb |
/dev/hdXn, X - буква, n - номер | Файл раздала жесткого диска (IDE). Подробнее о нумерации разделов мы поговорим в главе 4. |
/dev/sdX, X - буква | Файл SCSI-устройства или SATA-устройства |
/dev/sdXn, X - буква, n - номер | Файл раздела жесткого диска (SCSI) |
/dev/dvd | Привод DVD-ROM, но обычно устройство dvd - это ссылка на одно из устройств /dev/hdX или /dev/sdX" |
/dev/fdn, n - номер | Файл дисковода гибких дисков, /dev/fd0 - А:, /dev/fd1- В: |
1.4.3. Домашний каталог пользователя
В каталоге /home хранятся домашние каталоги пользователей. Домашний каталог пользователя называется так.:
Например:
/home/den
Домашний каталог пользователя также обозначается как ~. Например, если вы хотите перейти в свой домашний каталог, то можно вместо /home/имя_пользователя указать просто ~: cd /home/den
Данные команды равносильны, при условии, что вы являетесь пользователем den.
1.4.4. Работа с файлами и каталогами с помощью оболочки GNOME
На рабочем стаде GNOME сразу после установки системы вы найдете три пиктограммы (рис. 1.52):
• Компьютер - используется для "прогулок" по файловой системе, просмотра содержимого сменных носителей;
• Домашняя папка пользователя имя_пользоватепя - обеспечивает переход непосредственно в домашний каталог пользователя;
• Корзина - содержит удаленные файлы.
Рис. 1.52. Содержимое рабочего стола
Зайдите в ваш домашний каталог. В нем вы найдете следующие стандартные каталоги (рис. 1.53).
• Desktop - рабочий стол пользователя. Bсe файлы и каталоги, созданные на рабочем столе, помещаются в этот каталог.
• Documents - документы пользователя (Приложения пакета ОреnОffiсе сохраняют документы именно в этот каталог.)
• Download - сюда помещаются скачанные из Интернета файлы.
• Music, Pictures, Video - предназначены для хранения, соответственно, музыки, картинок и видео.
• Public- открытый каталог, в него вы должны помещать файлы, которые должны быть доступны другим пользователям. Но одного "помещения" файлов в этот каталог мало, нужно ещё установить, специальные права доступа, но об этом мы поговорим чуть позже,
• Templates - предназначен для хранения различных шаблонов.
Рис. 1.53. Содержимое домашнего каталога (без скрытых файлов)
Но приведенные выше каталоги - это еще не все. В вашем домашнем каталоге содержится много скрытых файлов и каталогов. Обычно в скрытых файлах и каталогах хранятся настройки различных приложений, в том числе и пользовательские настройки оболочки GNOME. Для отображения скрытых файлов и каталогов выберите команду Вид→Показывать скрытые файлы. Скрытым считается файл или каталог, имя которого начинается сточки, например, gimp - это обычный каталог, a .gimp - скрытый каталог. Как видно на рис. 1.54, для каждого установленного приложения создан свой скрытый каталог, в котором хранится конфигурация настроек программы.
Рис. 1.54. Реальное содержимое домашнего каталога - отображаются и скрытые файлы
Работать с файлами и каталогами так же просто, как и с Windows, Щелкните на файле или каталоге, и раскроется контекстное меню, с помощью которого можно выполнить операции над файлом (рис. 1.55). В этом меню также есть команда Архивировать, что очень удобно, В Windows, для того чтобы в меню Пуск, появилась подобная команда, нужно установить программу-архиватор, а в Linux все необходимое есть сразу после установки операционной системы. Штатный архиватор в Linux поддерживает не только сугубо Linux-форматы, но и обычный формат ZIP, который можно распаковать в любой операционной системе.
Рис. 1.55. Операции над файлом
Подробно рассматривать работу с файлами и каталогами в оболочке GNOME мы не будем - уж очень все просто.
1.4.5. Понятие владельца файла, права доступа к файлам и каталогам
Первоначально в DOS, а затем и в Windows не было такого понятия, как "владелец файла" и "права доступа к файлу". Права доступа к файлам и каталогам появились только в файловой системе NTFS, но фактически NTFS "пришла в массы" лишь в 2001-2002 годах. Сейчас поясню, почему так поздно.
Файловая система NTFS поддерживалась только операционной системой Windows NT, которая не была столь распространена, как Windows 95/98. Windows 2000, в которой тоже была поддержка NTFS, также не получила широкого распространения. Достаточной популярностью из ОС, поддерживающих файловую систему NTFS, пользовалась лишь Windows XP. Но многие пользователи просто не использовали всех возможностей NTFS или вообще не использовали згой файловой системы (ведь Windows XP также поддерживала и файловую систему FAT32): кто по привычке к FAT, а кто - по незнанию. Поэтому понятие прав доступа, скорее всего, будет новым для Windows-пользователей.
В Linux всех пользователей можно разделить на три большие группы.
• Владелец - к этой группе принадлежит всего один пользователь, создавший файл или каталог.
• Группа - члены группы, к которой принадлежит владелец. Например, может быть создана группа users, к которой будут принадлежать пользователи ivanov, petrov и sidorov. Подробнее о группах, а также О правах членов группы мы поговорим в следующей главе.
• Прочие - все остальные пользователи, которые не являются владельцем файла и которые не входят в группу, к кото-роб принадлежит владелец файла.
Вот что нужно помнить о правах доступа к файлам в Linux,
• Вы, как владелец файла, можете назначать права доступа к собственным файлам и каталогам для каждой группы пользователей.
• Обычный пользователь может создавать файлы только в пределах своего домашнего каталога. Доступ к остальным каталогам файловой системы ограничен (как правило, только чтением, без возможности создания новых файлов и изменения уже имеющихся).
• Изменить права доступа к файлу может либо его владелец, либо пользователь root.
• Пользователь root обладает максимальными привилегиями, поэтому он может получить полный доступ к любому файлу и каталогу и системе.
Установить права доступа к файлу или каталогу очень просто. Откройте свой домашний каталог, щелкните правок кнопкой мыши на любом файле и выберите в контекстном меню команду Свойства. В раскрывшемся окне перейдите на вкладку Права (рис. 1.56), где можно установить права доступа для владельца, группы владельца (если владелец является членом нескольких групп, тогда можно установить отдельный права доступа для каждой группы) и для остальных пользователей. Права доступа могут быть следующими:
• Чтение и запись - полный доступ к файлу или каталогу;
• Только чтение - файл доступен только для чтения;
• Нет - в доступе к файлу будут отказано (как в случае открытий файла в режиме только чтения, так и в режиме записи).
Puc. 1.56. Установка прав доступа
Право на выполнение означает, что файл можно будет запускать (как программу). Понятно, что право на выполнение нужно устанавливать только для программ или сценариев командного интерпретатора, поскольку система всё равно не сможет выполнить файл другого типа. Ну, как, например, можно запустить на выполнение файл формата МS Word?
Право выполнения для каталога также означает, что можно будет просматривать содержимое этого каталога.
1.4.6. Специальная пиктограмма для каталога
Щелкните правой кнопкой мыши на каталоге, выберите в контекстном команду Свойства и в открывшемся окне свойств перейдите во вкладку Эмблема (рис. 1.57). Здесь вы можете выбрать любой значок для нашего каталога. Выбранный вами значок будет отображаться и верхнем правом углу пиктограммы каталога (рис. 1.58).
Рис. 1.57. Выбор значка для каталога
Рис. 1.58. Значок для каталога установлен
1.4.7. Команды для работы с файлами и каталогами в консоли
Сейчас, когда в Linux есть отличный графический интерфейс, консолью приходится пользоваться всё реже и реже, но в некоторых случаях (сбой Х-сервера, установка программ из исходного кода) без консоли (или терминала) вам не обойтись. А чтобы эффективно работать в консоли, нужно знать команды Linux. Команд очeнь много, поэтому все рассматривать, мы здесь не будем, а ограничимся лишь командами для работы с файлами (табл. 1.3) и каталогами (табл. 1.4).
Таблица 1.3. Команды для работы с файлами
Команда | Описание |
---|---|
cat имя_файла | Просмотр текстового файла. Обычно используется в паре с командой more для организации постраничного вывода: cat имя_файла | more |
tac имя_файла | Вывод файла в обратном порядке. Полезна для просмотра файлов журналов, в которых, самая свежая информация находится в конце файла. Для организации постраничного просмотра нужно использовать программу more или less: tac имя_файла | less |
touch имя_файла | Создает пустой файл |
echo строка | Выводит указанную строку. С помощью этой команды можно добавить строку в имеющийся файл или же создать новый файл с заданной строкой: echo строка ›› существующий_файл В первом случае, если файл существует, то он будет перезаписан (создан заново) |
сp источник назначение | Koпирует файл источник в файл назначение. Если файл назначение существует, то программа спросит вас, нужно ли eго перезаписать или нет |
mv источник назначение | Перемещает файл источникав файл назначение. Если файл назначениесуществует, то программа спросит вас, нужно ли его перезаписать или нет. Данную команду можно использовать также для переименования файла |
less файл | Постраничный вывод файла |
locate файл | Выполняет поиск файла |
In файл ссылка | Используется для создания ссылки на указанный файл. Ссылка - это еще одно имя файла. Файл не может быть удален, если на него указывает хотя бы одна ссылка |
rm файл | Удаляет файл |
which | Используется для поиска программы а каталогах, указанных в переменной окружения PATH |
сhmod режим файл | Изменение прав доступа кфайлу или каталогу. Подробнее см. man chmod |
chown пользователь файл | Изменение владельца файла. Подробнее см. man chown |
Таблица 1.4. Команды для работы с каталогами
Команда | Описание |
---|---|
cd каталог | Изменение каталога |
rmdir каталог | Создание каталога |
rmdir каталог | Удаление пустого каталога |
rm -r каталог | Рекурсивное удаление непустого каталога (будут удалены все подкаталоги заданного каталога и сам каталог) |
ls каталог | Вывод содержимого каталога |
При работе с каталогами вы должны знать три специальных имени каталогов:
• ~ - домашний каталог пользователя;
• . - текущий каталог;
• .. - родительский каталог.
1.4.8. Понятие о монтировании
Особого внимания заслуживает операции монтирования. На вашем жестком диске, кроме Linux-разделов, есть разделы других операционных систем (например, Windows). Для того чтобы получить доступ к файлам, находящимся в этих разделах, вам нужно "примонтировать" данные разделы к корневой файловой системе.
Точкой монтирования называется каталог, к которому "подмонтирована" другая файловая система. Через точку монтирования осуществляется доступ к файлам и каталогам подмонтированного раздела.
Монтирование выполняется с помощью команды mount (се имеет право вводить только пользователь root):
mount раздел точка_монтирования
Например:
mount /dev/hdal /mnt/disk_с
Точка монтирования (в нашем случае каталог /mnt/disk_c) на момент монтирования должна уже существовать.
Приведенная выше команда "монтирует" первый раздел на первом IDE-диске (обычно это диск С:) к каталогу /mnt/ disk_c. Далее вы можете обращаться к файлам и каталогам диска C: через каталог /mnt/disk_c:
ls /mnt/disk_c
Обычно точки монтирования принято создавать в каталоге /mnt, но это не принципиально: при желании вы можете "подмонтировать" раздел к любому другому каталогу. Подробнее о монтировании мы поговорим в главе 4.