Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

О следующем свойстве, количестве ссылок на файл, будет сказано в параграфе о символических ссылках.

Далее указаны имя владельца файла и имя его группы; размер файла в байтах; дата и время последней модификации и имя файла.

Для каталога вывод команды ls выглядит так же, но значение некоторых свойств отличается.

$ls -l -a /home/den

drwx------ 3 den users 4096 Feb 14 19:02 .

drwxr-xr-x 4 root root 4096 Feb 02 11:32 ..

[...]

Ключ -а нужен, чтобы увидеть псевдоподкаталоги «.» и «..» (их имена начинаются с точки, поэтому эти файлы скрыты).

Бит чтения в правах доступа означает право просматривать содержание каталога, записи — право создавать и удалять файлы в каталоге,

исполнения — право переходить в этот каталог (делать его своим текущим каталогом).

Файлы физических устройств

Все подключенные к компьютеру устройства понимаются операционной системой как файлы: вывод информации на терминал, печать на принтере, отправка почты — все это, с точки зрения ОС, есть запись в файл. Технически файл устройства — это коммуникационный интерфейс драйвера, ведающего взаимодействием с этим устройством. Большинство таких файлов располагается в каталоге

/dev
.

Загляните в этот каталог, введя команду

ls -l /dev
. Вывод этой команды займет несколько экранов, что создает повод для знакомства с командой-фильтром more, выводящей поступающие к ней на вход данные по одному экрану за раз:

$ ls -l /dev | more

Чтобы увидеть следующий экран, нажмите пробел; чтобы прервать работу команды — Ctrl+С. О символе вертикальной черты, разделяющей команды ls и more, подробнее сказано в п. 3.3.1.

Об именах устройств, соответствующих разделам жесткого диска, сказано в главе 1. В следующей таблице приведена краткая справка по именам других часто используемых устройств. Символ N означает номер устройства в группе однотипных с ним устройств.

Наиболее часто используемые стандартные имена устройств Таблица 2.2

Файл Устройство
null Пустое устройство. Все данные, выводимые в него, просто исчезают. Удобно использовать его для вывода ненужных сообщений
console Системная консоль, т.е. физически подключенные клавиатура и монитор
ttyN Пользовательская (виртуальная) консоль. Linux поддерживает до 6 таких консолей, для переключения между которыми служит комбинация клавиш Alt+Fn, где n — число от 1 до 6
pts/N Виртуальный терминал. Программа графического режима, в окне которой можно работать как в консоли
mouseN Мышь
audioN Звуковая карта
ttySN Последовательный порт. Файл /dev/ttyS0 соответствует порту COM1 в MS-DOS. /dev/ttyS1 — порту COM2
lpN Параллельный порт
cuaN Специальное устройство для работы с модемом
ethN Сетевая плата
fdN Дисковод для гибких дисков. Первому, то есть А:, соответствует /dev/fd0, для В: используется имя /dev/fd1
hdxN Жесткий диск с интерфейсом IDE, где x — буква, обозначающая номер такого диска (начиная с а), N — номер раздела на диске
sdxN Жесткий диск с интерфейсом SCSI

Вместо размера файла команда ls выдает два числа. Это так называемые старший и младший номера устройства. Старший номер несет информацию о драйвере, к которому относится данный файл, а младший номер указывает, к какому именно из однотипных устройств следует обращаться.

Жесткие и символические ссылки

Жесткая ссылка является просто другим именем для исходного файла. После создания такой ссылки ее невозможно отличить от исходного имени файла. «Настоящего» имени у файла нет, точнее,

все такие имена будут настоящими. Команда ls показывает количество именно таких жестких ссылок. Удаление файла по любому из его имен уменьшает на единицу количество ссылок, и окончательно файл будет удален только тогда, когда это количество станет равным нулю. Поэтому удобно использовать жесткие ссылки для того, чтобы предотвратить случайное удаление важного файла.

Создадим жесткую ссылку на файл README и посмотрим, что изменилось в его свойствах:

$ln /home/den/README /home/den/readme_too

$ls -l /home/den/README

– rwxr-xr-- 2 den users 0 Feb 14 19:08 /home/den/README

Жесткую ссылку можно создавать в любом каталоге, но обязательно на том же физическом носителе (то есть в той же файловой системе), что и исходный файл. О причине этого будет сказано в п. 2.2.1.

Другой тип ссылок представляют собой символические ссылки. По назначению они аналогичны ярлыкам в ОС Windows: указывают на файл, расположенный где угодно (например, на съемном носителе), и после удаления такого файла или размонтирования съемного носителя становятся бесполезны.

Символическая ссылка создается той же командой ln с ключом – s:

$ln -s /home/den/README /home/den/do.not.readme

$ls -l /home/den/do.not.readme

lrwxrwxrwx 1 den users 16 Feb 14 19:17 /home/den/do.not.readme -> /home/den/README

В поле имени файла после стрелки указано его настоящее имя. Права доступа у всех символических ссылок одинаковы и не значат ничего: возможность доступа к файлу определяется правами исходного файла. Заметьте, что в отличие от файла-оригинала файл-ссылка имеет ненулевую длину: в нем хранится абсолютное имя исходного файла. Попытайтесь вывести файл-ссылку на экран с помощью команды

cat
, и вы увидите содержание исходного, пустого, файла:

$ cat /home/den/do.not.readme

$

Значение самой ссылки, то есть имя файла, на который она ссылается, можно узнать с помощью команды readlink.

Символические ссылки на каталог создаются и выглядят точно так же, как символические ссылки на обычный файл. Можно создать и цепочку ссылок на ссылки: ядро ОС проследует по всей цепочке и в итоге подставит вместо ссылки имя исходного файла.

Можно даже закольцевать такую цепочку:

$ touch a1

$ ln -s a1 a2; rm a1

$ ln -s a2 a1

$ ls -l a? # это шаблон имени. Ему соответствуют все имена из двух букв, первая «а»

a1 -> a2

a2 -> a1

$ cat a1

cat: a1: Too many levels of symbolic links

Практический смысл этого упражнения — убедить вас в том, что Linux корректно справляется с разрешением ссылок даже в намеренно некорректной ситуации.

Символическая ссылка на каталог может участвовать в образовании полного имени файла, но есть одна тонкость: по ссылке нельзя проследовать обратно в направлении корня дерева каталогов. Вместо псевдоподкаталога «..» подставляется родительский каталог каталога-оригинала. Так, если в домашнем каталоге пользователя ivan есть ссылка на домашний каталог пользователя den, то путь /home/ivan/link_to_den_home/.. эквивалентен не /home/ivan, a /home/den/.., то есть /home.

Именованные каналы

Этот тип файла еще называется буфером FIFO (First In — First Out). Через файлы такого типа два независимых процесса (две работающих программы) могут обмениваться данными: все, что записано в файл одним процессом, может быть прочитано оттуда другим. Именованный канал создается командой mkfifo.

Гнезда

Механизм гнезд (сокетов, sockets) впервые появился в версии 4.3 BSD UNIX (ветвь UNIX, начавшая развиваться в калифорнийском университете Беркли). Позже он превратился в одну из самых популярных систем сетевого обмена сообщениями, реализованную во многих, не только UNIX-подобных, операционных системах. В честь создателей этот механизм до сих пор называют Berkeley Sockets.

Поделиться:
Популярные книги

Егерь. Столичный гамбит

Скиба Николай
4. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
6.67
рейтинг книги
Егерь. Столичный гамбит

Дьявольские миры (Сборник)

Смит Джордж Генри
4. Фантастический боевик
Фантастика:
ужасы и мистика
6.25
рейтинг книги
Дьявольские миры (Сборник)

Последний реанорец. Том VII

Павлов Вел
6. Высшая Речь
Фантастика:
аниме
попаданцы
фэнтези
5.00
рейтинг книги
Последний реанорец. Том VII

Безвозвратно

Сноу Тиффани А.
1. Кэтлин Тернер
Детективы:
прочие детективы
9.14
рейтинг книги
Безвозвратно

Газлайтер. Том 6

Володин Григорий Григорьевич
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

История всемирной литературы Т.1

Бердников Георгий Петрович
Научно-образовательная:
история
культурология
литературоведение
5.25
рейтинг книги
История всемирной литературы Т.1

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Гарнизон

Николаев Игорь Игоревич
Фантастика:
боевая фантастика
космическая фантастика
6.40
рейтинг книги
Гарнизон

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Поэтика Ф. М. Достоевского: опыт интерпретации

Тяпугина Наталия Ю.
Научно-образовательная:
языкознание
7.00
рейтинг книги
Поэтика Ф. М. Достоевского: опыт интерпретации

Королевский казначей

Костейн Томас
Приключения:
исторические приключения
6.00
рейтинг книги
Королевский казначей

Созвездие Козлотура

Искандер Фазиль Абдулович
Проза:
советская классическая проза
6.33
рейтинг книги
Созвездие Козлотура

Суд времени. Выпуски № 23-34

Млечин Леонид Михайлович
Научно-образовательная:
история
политика
5.00
рейтинг книги
Суд времени. Выпуски № 23-34

Волки на границе

Милан Виктор
26. Боевые роботы — BattleTech
Фантастика:
боевая фантастика
6.40
рейтинг книги
Волки на границе