- •2.1. Введение
- •2.2. Вопросы, относящиеся к команде who
- •2.2.1. Программы состоят из команд
- •2.3. Вопрос 1: Что делает команда who?
- •2.3.1. Обращение к справочнику
- •2.4. Вопрос 2: Как работает команда who?
- •2.4.1. Мы теперь знаем, как работает who
- •2.5. Вопрос 3: Могу ли я написать who?
- •2.5.1. Вопрос: Как я буду читать структуры из файла?
- •2.5.2. Ответ: Использование open, read и close
- •2.5.3. Написание программы who 1.С
- •2.5.4. Отображение записей о вхождениях в систему
- •2.5.5. Написание версии who2.С
- •2.6. Проект два: Разработка программы ср (чтение и запись)
- •2.6.1. Вопрос 1: Что делает команда ср?
- •2.6.2. Вопрос 2: Как команда ср создает файл и как пишет в него? Создание/транкатенация файла
- •2.6.3. Вопрос 3: Могу ли я написать программу ср?
- •2.6.4. Программирование в Unix кажется достаточно простым
- •2.7. Увеличение эффективности файловых операций ввода/ вывода: Буферирование
- •2.7.1. Какой размер буфера следует считать лучшим?
- •2.7.2 Почему на системные вызовы требуется тратить время?
- •2.7.3. Означает ли, что наша программа who2.С неэффективна?
- •2.7.4. Добавление буферирования к программе who2.С
- •2.8. Буферизация и ядро
- •2.8.1. Если буферизация столь хороша, то почему ее не использует ядро?
- •2.9. Чтение файла и запись в файл
- •2.9.1. Выход из системы: Что происходит?
- •2.9.2. Выход из системы: Как это происходит
- •2.9.3. Смещение текущего указателя: Iseek
- •2.9.4. Кодирование выхода из системы через терминал
- •2.10. Что делать с ошибками системных вызовов?
- •3.1. Введение
- •3.2. Вопрос 1: Что делает команда is?
- •3.2.1. Команда Is выводит список имен файлов и оповещает об атрибутах файлов
- •3.2.3. Наиболее употребимые опции
- •3.2.4. Первый ответ: Итоговые замечания
- •3.3. Краткий обзор дерева файловой системы
- •3.4. Вопрос 2: Как работает команда Is?
- •3.4.1. Что же такое каталог, в конце концов?
- •3.4.2. Работают ли системные вызовы open, read и close в отношении каталогов?
- •3.4.3. Хорошо, хорошо. Но как же мне прочитать каталог?
- •3.5. Вопрос 3: Могу ли я написать Is?
- •3.5.1. Что еще нужно делать?
- •3.6. Проект 2: Написание версии Is -I
- •3.6.1. Вопрос 1: Что делает Is-I?
- •3.6.2. Вопрос 2: Какработает Is -I?
- •3.6.3. Ответ: Системный вызов stat получает информацию о файле
- •3.6.4. Какую еще информацию можно получить с помощью системного вызова stat?
- •3.6.5. Чего мы достигли?
- •3.6.6. Преобразование числового значения поля mode в символьное значение
- •3.6.7. Преобразования числового представления идентификаторов собственника/группы в строковое представление
- •3.6.8. Объединение всего вместе: Is2.C
- •3.7. Три специальных разряда
- •3.7.1. Разряд Set-User-id
- •3.7.2Разряд Set-Group-id
- •3.7.3 Разряд Sticky Bit
- •3.7.4. Специальные разряды nls-l
- •3.8. Итоги для команды is
- •3.9. Установка и модификация свойств файла
- •3.9.1. Тип файла
- •3.9.2. Разряды прав доступа и специальные разряды
- •3.9.3. Число ссылок на файл
- •3.9.4. Собственник и группа для файла
- •3.9.5. Размер файла
- •3.9.6. Время последней модификации и доступа
- •3.9.7. Имя файла
2.3.1. Обращение к справочнику
При запуске команды who мы получаем определенную информацию о том, что эта команда! делает. Для более подробного изучения вопроса о назначении команды можно обратиться к электронному справочнику. Каждая из систем Unix поступает с документацией обо всем командах. Иногда система Unix поступает с печатным справочником, где для каждой команды представлена документация в одну или две страницы. Чаще всего теперь справочник расположен на диске. Команда для чтения информации из справочника - man . Для получения описания команды who следует выполнить команду:
$ man who |
|
who(1) |
who(1) |
NAME |
|
who - Identifies users currently logged in |
|
SYNOPSIS |
|
who [-a] |[-AbdhHlmMpqrstTu] [file] |
|
who am i |
|
who am I |
|
whoami |
|
The who command displays information about users and processes on the local system.
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
who: XPG4.XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated
tags.
OPTIONS
-a Specifies all options; processes /var/adm/utmp or the named file
with all options on. Equivalent to using the -b, -d, -I, -p, -r,
-t, -T, and -u options.
more (10%)
Все страницы руководства, которые часто называют manpages, имеют одинаковый базовый формат. Заголовок служит для представления имени команды и обозначает раздел справочника, в котором находится данный документ. В данном примере это изображается как who {1), что обозначает команду who и раздел 1. В разделе 1 содержится документация обо всех пользовательских командах. Обратитесь к справочнику на вашей системе и посмотрите, что находится в других разделах справочника.
Секция name на странице документации содержит имя команды и однострочное представление назначения команды.
Секция synopsis представляет, как можно использовать команду. Здесь показано, что следует набирать при вызове команды, список аргументов и опций, которые возможно использовать при вызове команды. Каждая опция обычно начинается со знака дефиса, за которым следуют один или более символов. С помощью опций можно указывать вариант исполнения команды.
В тексте страницы справочника можно использовать квадратные скобки ([-а]), чтобы показать, что данный элемент не является обязательным для команды, но может быть при необходимости включен в текст командной строки при вызове команды. В примере страницы документации для команды who показано, что вы можете обращаться к команде просто набором ее имени who, или можете набрать: who -а (произносится who минус а), или вы можете набрать who с последующим набором знака "минус" и некоторой комбинации символов, затем указать имя файла, которое вам понравится.
На странице документации для команды who представлены еще три формы обращения к команде:
who am i
who am I
whoami
Вы можете прочитать о назначении этих альтернативных форм вызова команды в справочнике или попытаться поработать с ними.
В секции description находится описание того, что делает команда. Эти описания весьма сильно варьируются от команды к команде, от одной версии Unix к другой. Некоторые тексты описаний краткие, но точные. В некоторых описаниях представлено большее число деталей и несколько примеров. В любом случае описания представляют все свойства команды и содержат надлежащие авторитетные ссылки.
В секции options представлен список допустимых опций и описание, для чего предназначена каждая опция. В давние времена каждая команда в Unix была простой. Каждая выполняла некоторое действие и имела одну или две опции. С годами многие команды были усовершенствованы за счет введения в их состав новых возможностей, каждая из которых
может быть активизирована с помощью опций при обращении к команде с уровня командной строки. Некоторые команды, подобные рассматриваемой версии команды who, имеют весьма много опций.
В секции see also представлен список тем в справочнике, связанных с командой. В некоторых страницах справочника есть еще секция bugs.
