Символические ссылки выполняют ту же функцию, что и жесткие, но несколько иначе. Они не ссылаются на индекс файла. Символическая ссылка представляет собой специальный файл, при обращении к которому система понимает, что на самом деле нужно обратиться к другому файлу и обеспечивает прозрачность операции. Отсюда следует, что операции с символическими ссылками выполняются медленнее, чем с жесткими. Создать символическую ссылку можно командой ln –s, например:
ln –s text words
Теперь, введя команду Is –i, вы увидите, что файлы text и words имеют разные индексы. Посмотрим, какую информацию выведет команда ls –l text words:
ls –l text words
lrwxrwxrwx 1 den group 3 Dec 5 12:11 words –> text
-rw-r--r-- 1 den group 12 Dec 5 12:50 words
Обратите внимание на первый символ строки lrwxrwxrwx — символ «l». Это означает, что данный файл является символической ссылкой на файл text, о чем свидетельствует информация в последней колонке words->text.
Символическая ссылка не имеет прав доступа — для нее всегда используется набор rwxrwxrwx. Подробнее о наборах прав доступа будет сказано ниже. А на данном этапе хочется отметить следующее: символические ссылки очень полезны, так как они позволяют идентифицировать файл, на который они ссылаются, тогда как для жестких ссылок нет простого способа определить, какие файлы привязаны к одному и тому же индексу. Однако, если вы удалите файл, на который ссылаются символические ссылки, то получите паутину бесполезных ссылок, которые ни на что не ссылаются. При использовании жестких ссылок вы не сможете удалить файл до тех пор, пока на него ссылается хоть одна жесткая ссылка.
Переменная окружения $cwd содержит имя символической ссылки каталога, если такая существует. Просмотреть ее значение можно с помощью команды:
echo $cwd
4.4. Стандартные имена устройств в Linux
Как уже отмечалось раньше, все устройства в Linux являются файлами. Файлы устройств находятся в специальном каталоге /dev. Для просмотра данного каталога удобнее всего использовать команду mc. Запустите mc и перейдите в каталог /dev. Если возле файла слева вы видите +, то данное устройство подключено и функционирует.
В этом пункте я вкратце постараюсь объяснить, какие файлы ассоциируются с какими устройствами. Договоримся, что символ N обозначает номер устройства, например, ttyN обозначает устройства /dev/tty1…/dev/ttyN, а x — символ. Наиболее используемые стандартные имена устройств (в соответствии с принятыми обозначениями) приведены в табл. 4.2.
Наиболее используемые стандартные имена устройств Таблица 4.2
Файл | Устройство |
---|---|
TtyN | Консоль |
mouse | Мышь |
audio | Звуковая карта |
modem Модем. | Обычно файл /dev/modem является ссылкой на один из файлов /dev/ttyS0 |
ttySN | Последовательный порт. Файл /dev/ttyS0 аналогичен файлу COM1 в DOS |
IpN | Параллельный порт |
cuaN | Могут обозначать последовательные порты. Используются немного в другом контексте, чем ttySN |
hdxN | IDE жесткий диск |
sdxN | SCSI жесткий диск |
fd0 | Первый дисковод для гибких дисков, то есть А:, для В: используется имя /dev/fd1 |
stN | Стример с интерфейсом SCSI |
nrtfN | Стример с интерфейсом FDC |
mdN | Массив RAID |
ethN | Сетевая плата |
null | Пустое устройство |
На устройствах hdxN и sdxN необходимо остановиться подробнее. Известно, что к (E)IDE (ATA) контроллеру можно подключить четыре IDE-устройства: Primary Master, Primary Slave, Secondary Master, Secondary Slave.
Этим устройствам соответствуют символы: а, b, с, d. Например, /dev/hda — Primary Master, a /dev/hdd — Secondary Slave. Номер N в обозначении устройства обозначает номер раздела на жестком диске. Первичный раздел DOS на первом жестком диске обозначается так: /dev/hda1.
4.5. Стандартные каталоги
В ОС Linux есть каталоги, которые называются стандартными. Иногда их еще называют системными. Эти каталоги присутствуют практически в каждой ОС Linux. В них находятся файлы, необходимые для управления и сопровождения системы, а также стандартные программы. Описание стандартных каталогов сведено в табл. 4.3.
Стандартные каталоги Таблица 4.3
Каталог | Назначение |
---|---|
/ | Корневой каталог |
/bin | Содержит стандартные программы |
/home | Содержит домашние каталоги пользователей |
/usr | Содержит все программы, используемые системой |
/sbin | Команды для системного администрирования |
/var | Содержит файлы, которые постоянно изменяются, например, спулы для принтеров, а также файлы почтовых ящиков |
/etc | Содержит файл настройки системы |
/dev | Здесь находятся файлы устройств |
/tmp | Каталог для временных файлов |
/mnt | Обычно здесь создаются точки монтирования. Тем не менее, подмонтировать файловую систему можно к любому другому каталогу, а использование каталога /mnt не является обязательным |