Познакомьтесь с другими файлами каталога /dev, прочитав разд. 4 справочного руководства. В чем состоит разница между /dev/mt0 и /dev/rmt0? Прокомментируйте возможную пользу применения вложенных каталогов в /dev для дисков, магнитных лент и т.п.
Магнитные ленты, записанные в других системах, обычно имеют другие размеры блоков, такие, как 800 байт — десятикратный образ перфокарты из 80 символов, но устройство /dev/mt0 предполагает блоки из 512 байт. Обратитесь к команде dd (dd(1)), чтобы узнать, как читать такую ленту.
Почему /dev/tty не является просто связью с терминалом, с которого вы вошли в систему? Что бы произошло, если бы права доступа для него были rw--w--w-, как на вашем терминале?
Как работает write(1)? Подсказка: см. в utmp(5).
Как узнать, использует ли человек терминал в данный момент?
Файловой системе посвящена часть статьи К. Томпсона "UNIX implementation" (BSTJ, July, 1978). Статья Д. Ритчи ""The evolution of the UNIX time-sharing system" (Symposium on Language Design and Programming Methodology", Sydney, Australia, Sept., 1979) содержит завораживающее описание того, как разрабатывалась и была реализована на исходной PDP-7 файловая система UNIX и как она приобрела нынешнюю форму.
При создании файловой системы UNIX были заимствованы некоторые идеи из системы файлов МАЛТИКС. Содержательное описание последней содержится в книге И. Органика "The MULTICS System: An Examination of its Structure" (MIT Press, 1972).
Статья Б. Морриса и К. Томпсона "Password security: a case history" посвящена интересным сравнениям механизмов паролей во многих системах. Ее можно найти в т. 2В справочного руководства программиста системы UNIX. В том же томе есть статья Д. Ритчи "On the security of UNIX", в которой поясняется, что безопасность системы в большей степени зависит от мер, принимаемых администрацией, чем от деталей таких программ, как crypt.
Глава 3
Возможности интерпретатора shell
Интерпретатор shell — это наиболее важная программа для пользователей UNIX, быть может, за исключением вашего любимого текстового редактора. Она исполняет ваши запросы на запуск программ и занимает гораздо больше вашего времени, чем любая другая программа системы. Значительная часть настоящей главы и гл. 5 будут посвящены описанию возможностей интерпретатора. Основная мысль, к которой мы хотим подвести вас, состоит в том, что если вы научитесь работать с интерпретатором, то сможете достичь многого и без особого труда, не прибегая к традиционным языкам программирования типа Си.