Раздел 1

ВВЕДЕНИЕ

Обзор

Первый раздел курса знакомит вас с операционной системой UNIX и Справочником пользователя UNIX System V (UNIX System V User Reference Manual). Он начинается с назначения и функциональных возможностей Операционной Системы UNIX (ОС UNIX), далее идет справочная информация, а в конце раздела - основные команды ОС UNIX.

К концу этого раздела вы уже станете пользователем системы UNIX!

ЦЕЛИ

  1. Описать назначение операционной системы UNIX.
  2. Определить составляющие части ОС UNIX.
  3. Указать доступные справочные материалы по системе UNIX.
  4. Описать структуру Справочника пользователя UNIX System V.
  5. Начать и завершить сеанс в ОС UNIX.
  6. Определить сообщения, появляющиеся при входе в систему.
  7. Читать новости системы с помощью команды news
  8. Выводить на экран календарь с помощью команды cal
  9. Отправлять почту другим пользователям ОС UNIX командой mailx
  10. Получать электронную почту командой mailx
  11. Описать синтаксис команд языка shell.
  12. Получать текущее время и дату командой date.
  13. Приостанавливать и продолжать вывод на экран нажатием ^s и ^q.
  14. Прекращать выполнение команд shell нажатием клавиши <DEL>.
  15. Получать список файлов с помощью команды ls.
  16. Выводить на экран содержимое файлов командами cat, pg и pr.
  17. Получать список всех активных пользователей системы командой who.
  18. Выполнять команду wc подсчета количества строк, слов и символов в файле.
  19. Создавать сообщение-заголовок с помощью команды banner.
  20. Записывать все, что пишется на экране, командой script.
  21. Выполнять команду grep для поиска строк в данном файле путем сопоставления с образцом.
  22. Сортировать файлы в алфавитном порядке командой sort.
  23. Перенаправлять вывод.
  24. Соединять несколько команд в конвейер.

Начало сеанса

ЦЕЛИ

  1. Описать назначение операционной системы UNIX.
  2. Определить составляющие части ОС UNIX.
  3. Указать доступные справочные материалы по системе UNIX.
  4. Описать структуру Справочника пользователя UNIX System V.
  5. Начать и завершить сеанс в ОС UNIX.
  6. Определить сообщения, появляющиеся при входе в систему.

Операционная система UNIX

Операционная система - это набор программ, которые управляют ресурсами компьютера и координируют его операции.

Операционная Система (ОС) UNIX - это многопользовательская диалоговая операционная система общего назначения, совместимая с рядом компьютерных систем. Диапазон этих компьютерных систем простирается от микрокомпьютеров до больших ЭВМ и суперкомпьютеров. ОС UNIX System V Release 4.0 сейчас совместима с ОС Sun, Berkely Software Distribution (BSD) и XENIX. Она также удовлетворяет международным стандартам POSIX.

Достоинства ОС UNIX:

Интерактивность (Interactive) - Когда вы просите ОС UNIX сделать что-либо (выполнить команду), система отвечает, давая знать, что команда выполнена.

Многопользовательность (Multiuser) - Вы можете войти в ОС UNIX одновременно с другими пользователями, и в то же время вам будет казаться, что вы единственный пользователь системы. Это становится возможным, потому что ЦП "разделен во времени" между пользователями. ОС UNIX обеспечивает вам безопасность и защиту от действий других пользователей, но легко позволяет вам общаться и обмениваться информацией, software и hardware ресурсами.

Многозадачность (Multitasking) - Многозадачность означает, что ОС UNIX может выполнять более одной задачи, именуемой процессом, одновременно. Один из способов выполнения нескольких процессов одновременно - перевести некоторые из них в фоновой режим. Например, ОС UNIX может вести поиск в большой базе данных в фоновом режиме в то время, как вы создаете документ. Выполнение процессов в фоновом режиме сильно экономит время, поскольку вы можете решать несколько задач одновременно.

Переносимость (Portable) - Одна из причин популярности ОС UNIX - возможность ее использования на компьютерах разного типа. ОС UNIX устанавливается на многие компьютеры с минимальными модификациями. Это означает, что вы можете расширить свои технические средства без необходимости изучения новой операционной системы или приобретения заново всего программного обеспечения. ОС UNIX переносима, потому что большая ее часть написана на языке высокого уровня Си.

Гибкость (Flexible) - Вы легко можете создать нужные вам прикладные программы с помощью подхода "строительных блоков", который соединяет утилиты в конвейер. Перенаправление ввода/вывода записывает выходную информацию из команд в файлы и/или использует сохраненную информацию как входные данные. В этом курсе обсуждается и конвейеры, и перенаправление ввода/вывода.

ОПЕРАЦИОННАЯ СИСТЕМА UNIX

  • ИНТЕРАКТИВНАЯ -- ОТВЕЧАЕТ НА ВАШИ КОМАНДЫ
  • МНОГОПОЛЬЗОВАТЕЛЬСКАЯ -- РАЗДЕЛЯЕТ РЕСУРСЫ МЕЖДУ МНОГИМИ ПОЛЬЗОВАТЕЛЯМИ
  • МНОГОЗАДАЧНАЯ -- ВЫПОЛНЯЕТ БОЛЕЕ ОДНОЙ КОМАНДЫ ИЛИ ПРОЦЕССА ОДНОВРЕМЕННО
  • ПЕРЕНОСИМАЯ -- УСТАНАВЛИВАЕТСЯ НА МНОГИЕ КОМПЬЮТЕРЫ (РАЗЛИЧНОГО ТИПА)
  • ГИБКАЯ -- ИСПОЛЬЗУЕТ ПОДХОД "СТРОИТЕЛЬНЫХ БЛОКОВ"
  • Компоненты ОС UNIX

    ОС UNIX состоит из трех основных частей: kernel (ядро), shell (оболочка), утилиты и прикладные программы.

    1. Программа kernel - сердце ОС UNIX. Kernel управляет системой, планирует задания и управляет хранением и доступом к информации. Так как kernel выполняется непрерывно, она всегда находится в оперативной памяти.

    2. Вы общаетесь с ОС UNIX посредством shell. Shell - это специальная сервисная программа, которая интерпретирует ваши команды. По мере того, как shell перерабатывает ваши команды, она передает их kernel. Kernel затем передает команды компьютеру, и они выполняются. Каждый пользователь получает для работы свою собственную shell. Помимо того, что shell есть интерфейс и интерпретатор команд, она также является языком программирования.

      Некоторые shell являются стандартными для ОС UNIX System V Release 4, такие как Bourne shell (sh), shell с ограниченным доступом (rsh ), Korn shell (ksh), и интерфейс shell, который делает возможным управление заданиями - Job Control (jsh).

    3. Многие утилиты и прикладные программы применимы для использования в ОС UNIX . Утилиты включают многие команды, доступные в ОС UNIX . Прикладные программы включают пакеты пользователей для вычислений, редактирования, управления базами данных.

    КОМПОНЕНТЫ СИСТЕМЫ UNIX

    Справочные материалы по ОС UNIX

    Информация об ОС UNIX может быть получена из нескольких источников, таких как:

    Документация по ОС UNIX

    UNIX System Synopsis
    UNIX System V Reference Manuals and Guides, в т.ч.:
    UNIX System V User's reference Manual,
    UNIX System V Programmer's Reference Manual,
    UNIX System V Administrator's reference Manual
    Карманные справочники и обзорные путеводители

    Другие публикации

    Периодика
    Бюллетени новостей (newsletters)
    Книги (в библиотеках и магазинах)

    Совещания

    Группы пользователей системы UNIX

    Включенная (on line) поддержка

    Подключенный справочник (man)
    Подключенная помощь (help)

    Поддержка на местах

    Администраторы ОС UNIX

    СПРАВОЧНЫЕ МАТЕРИАЛЫ ПО ОС UNIX

    ДОКУМЕНТАЦИЯ ОС UNIX

    Prentice Hall
    ДРУГИЕ ПУБЛИКАЦИИ
    СОВЕЩАНИЯ
    ОБУЧЕНИЕ И ТРЕНИРОВКА
    ВКЛЮЧЕННАЯ ПОМОЩЬ
    ПОДДЕРЖКА НА МЕСТАХ

    Справочник пользователя ОС UNIX System V

    Справочник пользователя (UNIX System V User's Reference Manual) - очень ценное руководство. Помните, что его можно использовать как указатель по информации о командах.

    Этот справочник не был написан как учебник для новичка. Хотя он окажет вам помощь, когда вы будете делать свои первые шаги в ОС UNIX, вы оцените его тем больше, чем больше у вас появится опыта работы с UNIX.

    Несколько последующих страниц объясняют организацию справочника пользователя UNIX System V и его использование.

    УСТРОЙСТВО

    Справочник пользователя имеет несколько секций. Первая, озаглавленная ВВЕДЕНИЕ, вкратце объясняет устройство справочника, и как начать пользоваться ОС UNIX.

    Вторая секция - содержание в алфавитном порядке с описанием в одну строчку всех команд, упоминаемых в справочнике.

    Третья секция - перестановочный индекс, о котором рассказывается на следующих страницах.

    ЗАМЕЧАНИЕ: В этом курсе делаются ссылки на 3В2 User's reference Manual for UNIX System V, Release 4. Если вы пользуетесь более ранним изданием, то содержание справочника может слегка отличаться. Например, 3В2 User's reference Manual for UNIX System V, Release 2 содержит секцию "Игры"(6). В 3В2 User's reference Manual такой секции нет.

    Перестановочный индекс (Permuted Index)

    В содержании упоминаются лишь имена команд. Если вы знаете, что вы хотите сделать, но не можете вспомнить имя команды (или же вы не знаете есть ли такая команда), вам поможет перестановочный индекс. Третья секция содержит упорядоченный индекс, называемый перестановочным. Этот индекс поможет вам просмотреть информацию, имеющую отношение к ключевому слову.

    Чтобы воспользоваться перестановочным индексом, подберите ключевое слово, которое описывает то, что вы хотите сделать.

    ПЕРЕСТАНОВОЧНЫЙ ИНДЕКС

    ПЕРЕСТАНОВОЧНЫЙ ИНДЕКС - ИНДЕКС, ОСНОВАННЫЙ НА КЛЮЧЕВОМ СЛОВЕ

    КЛЮЧЕВОЕ СЛОВО- СЛОВО, ОПИСЫВАЮЩЕЕ, ЧТО ВЫ ХОТИТЕ СДЕЛАТЬ

    ПРИМЕРЫ КЛЮЧЕВЫХ СЛОВ

    who - установить, кто работает в вашей системе
    search - найти имя в файле
    date - установить дату
    password - изменить пароль
    sort - отсортировать данные
    copy - скопировать файл

    Нахождение команды при помощи ключевого слова

    Выбрав ключевое слово, откройте ваш "Справочник пользователя" на секции "Перестановочный индекс", каждая страница которой разделена на три столбца. Ключевым является первое слово второго столбца. Перестановочный индекс построен в алфавитном порядке относительно ключевых слов. Соседняя страница показывает часть перестановочного индекса с ключевым словом copy.

    Первый и второй столбцы содержат описание. Оно точно такое же, как и в секции "Содержание". Ключевое слово входит в содержание.

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

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

    НАХОЖДЕНИЕ КОМАНДЫ ПРИ ПОМОЩИ КЛЮЧЕВОГО СЛОВА

                   dd convert and  copy  a file ............................. dd(1M)
    cpio copy file archives in and out .. cpio(1)
    cp copy files ............................... cp(1)
    rcp remote file copy ..................................... rcp(1)
    uulog,uuname UNIX-to-UNIX system file copy uucp .............................. uucp(1C)
    public UNIX-to-UNIX system file copy uuto,uupick ................... uuto(1C)

    Справочная страница

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

    Наверху каждой справочной страницы находится заголовок с именем страницы и номер секции (в круглых скобках). Имя справочной страницы - это имя команды. Номер указывает секцию в которой вы можете найти эту команду. В каждой секции справочные страницы расположены в алфавитном порядке. На следующей странице приводится справочная страница для команды banner .

    Справочная страница состоит из следующих частей:

    ИМЯ Первая часть каждой справочной страницы - ИМЯ. В ней находятся имя команды и описание ее в одну строчку, такое же, как и в содержании и в справочном индексе.

    СИНТАКСИС Вторая часть справочной страницы - СИНТАКСИС. В ней содержится краткое изложение формата командной строки. Обратите внимание, что набирать команду нужно в точности как это указано.

    ОПИСАНИЕ Третья часть справочной страницы - ОПИСАНИЕ. Она дает детальную информацию о формате командной строки и объясняет, что эта команда делает.

    ИМЯ, СИНТАКСИС и ОПИСАНИЕ есть на каждой справочной странице. В зависимости от команды могут появляться следующие части:

    ПРИМЕР - приводится пример использования команды

    ФАЙЛЫ - список имен файлов, используемых командой

    СМОТРИ ТАКЖЕ - указывается, где можно найти информацию по смежным вопросам

    ДИАГНОСТИКА - возможные сообщения об ошибках

    ПРЕДУПРЕЖДЕНИЯ - к чему нужно быть особенно внимательным

    ОШИБКИ - список известных ошибок, недостатков и ловушек, связанных с командой

    СПРАВОЧНАЯ СТРАНИЦА

    BANNER(1) BANNER(1)

    ИМЯ
    banner - изготовление плакатов

    СИНТАКСИС
    banner строки

    ОПИСАНИЕ
    команда banner печатает свои аргументы (каждый до 10 символов длиной) большими буквами на стандартном выходе

    СМОТРИ ТАКЖЕ
    echo(1).

    Синтаксис

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

    При использовании СИНТАКСИСА нужно знать соответствующие соглашения.

    Команда

    Если в СИНТАКСИСЕ какие-то слова напечатаны ярким шрифтом (bold), то они должны быть набраны в точности такими же. Все команды напечатаны шрифтом bold, как слово banner в примере.

    ОПЦИИ

    Опции, применимые в данной команде, указываются в СИНТАКСИСЕ. Например, команда spell имеет 4 опции (-v -b -x -l), перед каждой из них ставится символ '-'. Опция, заключенная в квадратные скобки [ ], необязательна. Можно использовать одну или несколько опций в командной строке (при условии, что они не противоречат друг другу). Порядок опций не существенен. При использовании более одной опции вы ВСЕГДА можете разделить их,  как показано здесь:
    $ command -a -b

    Проверьте формат опций в СИНТАКСИСЕ, чтобы убедиться, можно ли их группировать для данной команды. В СИНТАКСИСЕ команды spell каждая опция указана в отдельных квадратных скобках. Это означает, что при их использовании перед каждой нужно ставить символ '-'.
    $ spell -v -b

    В СИНТАКСИСЕ команды ls все опции указаны в одних квадратных скобках. Это означает, что их можно сгруппировать все вместе после одного '-' (или '+', если так указано в СИНТАКСИСЕ). Например:
    $ ls -ld

    Заметим, что СИНТАКСИС команды ps содержит слово options в [ ]. Это означает, что когда используется несколько опций, вы можете группировать их после одного знака '-'.

    АРГУМЕНТЫ

    Часть командной строки, не напечатанная шрифтом bold и без знака '-' -- это аргументы команды. Аргументы требуются не для всех команд. Аргументы, заключенные в квадратные скобки, необязательны. Так в СИНТАКСИСЕ командыcal слова month и year -- необязательные аргументы. Вы можете набрать:
    $ cal<RET>
    $ cal 1956<RET>
    $ cal 10 1956<RET>

    Если вы указываете опцию во внутренних скобках, т.е. месяц, то вы должны указать и опцию во внешних -- год.

    СИНТАКСИС

    banner строки

    spell [ -v] [ -b] [ -x] [ qq -l] [ +внутренний_файл] [файлы]

    ls [ -RadLCxmlnogrtucpFbqisf1] [имена]

    ps [опции]

    cal [ [month] year]

    Если вы указываете опцию во внутренних скобках, т.е. month, то вы должны указать и опцию во внешних скобках, т.е. year.

    Описание

    ОПИСАНИЕ дает дополнительную информацию о том, что делают опции команды, и какими должны быть аргументы.

    Следующая страница представляет пример справочной страницы для команды news. ОПИСАНИЕ дает подробное пояснение о каждой опции, указанной в СИНТАКСИСЕ.

    ОПИСАНИЕ

    NEWS(1) NEWS(1)

    ИМЯ
    news распечатка новостей

    СИНТАКСИС
    news [ -a][ -n][ -s][темы]

    ОПИСАНИЕ
    Команда news используется для осведомления пользователя о текущих событиях. По соглашению, эти события описываются в файлах директории /var/news.

    Если команда запускается без указания аргументов, news распечатывает содержание всех текущих файлов директории /var/news, первым самый свежий файл, предваряя каждый файл соответствующим заголовком. Аргумент new записывает указываемое время как время модификации файла с именем .news_time во входной директории пользователя (идентичность этой директории определяется переменной $HOME); только файлы со временем, превышающим указанное, считаются "текущими".

    -а опция, которая распечатывает все файлы, вне зависимости от их даты. В этом случае записанное время не изменяется.

    -n опция, которая распечатывает имена текущих файлов, а не их содержание. Записанное время не изменяется.

    -s опция, которая выдает сообщение о том, сколько существует текущих файлов, не распечатывая их имена и содержание, и не изменяя записанное время.

    Начало сеанса в системе UNIX

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

    Если после включения терминала в сеть появляется надпись login:, то ваш терминал правильно подключен к компьютеру.

    Если же появляются другие слова, такие как DESTINATION или ACCESS INFORMATION, значит ваш компьютер соединен в рабочую сеть, и вы должны ввести соответствующую информацию доступа перед получением приглашения login:.

    Если вы не видите никаких слов на терминале, то возможно ваш терминал соединен с компьютером посредством модема. В этом случае обращайтесь к системному администратору.

    Если же у вас появилось приглашение login:, введите свое входное имя и нажмите <RET>. Затем вы увидите надпись Password:. Наберите ваш пароль и нажмите <RET>. Во время набора пароля вы не увидите его на экране. Это мера безопасности, которая не дает возможности другим пользователям узнать ваш пароль и войти с его помощью в систему.

    Если вы сделаете какие-нибудь опечатки во время набора входного имени и пароля, то нажмите клавишу BACKSPACE и наберите снова или же нажмите <RET> и дождитесь нового приглашения login:.

    Если вам не удастся войти в течение пяти попыток, ваша строка может быть прервана и тогда все ваши попытки перенаправляются в файл системного администратора под именем loginlog.

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

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

    Если вас ждут новости или почта, то появятся соответствующие сообщения. В этом курсе вы узнаете, как с ними ознакомиться.

    После всех сообщений появится символ $. Shell выводит его на экран терминала всегда, когда он ждет вашу команду.

    НАЧАЛО СЕАНСА В СИСТЕМЕ UNIX

    login:slf<RET>
    Password:<RET>

    Welcome to UNIX System V. << сообщение дня

    Have a great day!

    Last login: Thu Jul 12 13:36:38 on term/32

    you have mail << сообщение о почте

    news: passwords downtime << сообщение о новостях

    $

    Пароль

    Когда вы впервые входили в систему, вам, наверное, пришлось ввести пароль, после того как вы вели свое входное имя. Однако системный администратор может и не установить пароль для вас, в этом случае приглашение password: не появится на экране.

    Ваш пароль - средство безопасности; он защищает ваши файлы от доступа других пользователей. Если ваш системный администратор не установил пароль для вас, вы должны сделать это сами. Хорошо менять свой пароль примерно раз в месяц, даже если ваша система и не требует этого от вас.

    Ниже приведен список правил, которым вы должны следовать, выбирая пароль. Пароль должен:

    - иметь по меньшей мере шесть символов, но значение имеют только первые восемь.

    - содержать по меньшей мере две буквы

    - содержать по меньшей мере одну цифру или специальный знак (не используйте символы @ и #; они относятся к уничтожающим символам).

    - отличаться от входных имен пользователей, отличаться от сдвинутых входных имен и не быть входным именем набранным в обратном порядке.

    - новый пароль должен отличаться от старого по меньшей мере тремя символами.

    Помните, что каждый может знать ваше входное имя, но только вы должны знать свой пароль. Не выбирайте пароль, о котором можно легко догадаться. Следует избегать использования в качестве пароля имен ваших супругов и детей. Также лучше иметь цифру где-нибудь в середине пароля, а не с краю.

    Введите команду passwd для того чтобы изменить свой пароль или набрать новый.

    $passwd<RET>

    Changing password for slf

    Old password:xxxxxxx<RET>

    New password:yyyyyyy<RET>

    Re-enter new password:yyyyyyy<RET>

    $

    ПАРОЛЬ

    - ДОЛЖЕН СОДЕРЖАТЬ ПО МЕНЬШЕЙ МЕРЕ ШЕСТЬ СИМВОЛОВ
    - ДОЛЖЕН СОДЕРЖАТЬ ПО МЕНЬШЕЙ МЕРЕ ДВЕ БУКВЫ
    - ДОЛЖЕН СОДЕРЖАТЬ ПО МЕНЬШЕЙ МЕРЕ ОДНУ ЦИФРУ ИЛИ СПЕЦИАЛЬНЫЙ СИМВОЛ
    - ДОЛЖЕН ОТЛИЧАТЬСЯ ОТ ВХОДНОГО ИМЕНИ
    - ДОЛЖЕН ОТЛИЧАТЬСЯ ОТ СТАРОГО ПАРОЛЯ

    ПРАВИЛЬНЫЕ ПАРОЛИ

    si3ster

    *pow***

    rams89?

    НЕПРАВИЛЬНЫЕ ПАРОЛИ: ПОЧЕМУ?

    Brian

    J-1234

    what?

    Конец сеанса

    Чтобы закончить сеанс, вы должны выйти из системы. Выйти можно двумя способами. Первый способ: нажать одновременно клавишу Control и букву d. Это называется control d и обозначается в справочнике ^d или <CTRL/d>. После нажатия ^d на терминале снова появится приглашение login:.

    Альтернативный метод завершения сеанса - набрать слово exit и нажать <RET> после интерактивного символа $.

    Если ваш терминал соединен посредством модема, вам может понадобится отключить телефон. Замечание: простое выключение терминала не заканчивает ваш сеанс в системе!

    КОНЕЦ СЕАНСА

    login:slf<RET>

    Password:<RET>

    Welcome to UNIX System V.

    Have a great day!

    you have mail

    news: passwords downtime

    $ <CTRL/d>

    login:slf<RET>

    Password:<RET>

    Welcome to UNIX System V.

    Have a great day!

    you have mail

    news: passwords downtime

    $ exit<RET>

    login:

    Выводы и упражнения

    Выводы урока

    Этот урок описывает:

    Назначение ОС UNIX:

    Интерактивность
    Многопользовательность
    Многозадачность
    Переносимость
    Гибкость

    Составляющие части ОС UNIX:

    Kernel
    Shell
    Утилиты и прикладные программы

    Справочные материалы по ОС UNIX:

    Документация ОС UNIX
    Публикации
    Совещания
    Обучение и тренировка
    Включенная помощь
    Поддержка на местах

    Организация Справочника пользователя UNIX System V:

    Содержание
    Перестановочный индекс
    Команды

    Как начать сеанс в ОС UNIX:

    Введите, если нужно, информацию о сети
    Введите входное имя
    Введите пароль

    Сообщения, появляющиеся при входе в систему:

    Сообщение дня
    Почта
    Новости

    Как закончить сеанс в ОС UNIX:

    Нажмите <CTRL>/d Наберите exit и нажмите <RET>

    Упражнение 1.1.А

    1. Получите у преподавателя входное имя и пароль.
    2. Начните сеанс в системе.
    3. Закончите сеанс.

    Основные утилиты системы UNIX

    ЦЕЛИ

    1. Читать новости системы с помощью команды news.
    2. Выводить на экран календарь с помощью команды cal.
    3. Отправлять почту другим пользователям ОС UNIX командой mailx.
    4. Получать электронную почту командой mailx.
    5. Описать синтаксис команд языка shell.
    6. Получать текущее время и дату командой date.
    7. Приостанавливать и продолжать вывод на экран нажатием ^s и ^q.
    8. Прекращать выполнение команд shell нажатием клавиши <DEL>.

    Что нового в новостях?

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

    Для прочтения новостей наберите:

    $ news<RET>

    ... и вы увидите все текущие новости.

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

    Если вы не хотите знакомиться со всеми новостями сразу или же вы хотите просмотреть еще раз какой-нибудь раздел новостей, вам лишь нужно указать имя этого раздела после слова news. Например:

    $ news mona5<RET>

    ... и на экране появляются только новости из раздела mona5.

    Чтобы перечитать все новости (и новые, и старые), наберите:

    $ news -a<RET>

    ЧТО НОВОГО В НОВОСТЯХ?

    ПРИМЕР 1:

    login:sl<RET>

    Password:<RET>

    Welcome to UNIX System V

    news: mona5

    $

    ПРИМЕР 2:

    $news<RET>

    mona5 (root) Fri Aug 19 10:19:20 1989

    В соответствии с изменениями в системных именах от 05-19-89,

    все сообщения для "mona5" должны отправляться "jo5".

    $

    ПРИМЕР 3:

    $news mona5<RET>

    mona5 (root) Fri Aug 19 10:19:20 1989

    В соответствии с изменениями в системных именах от 05-19-89,

    все сообщения для "mona5" должны отправляться "jo5".

    $

    ПРИМЕР 4:

    $news -a<RET>
    mona5 (root) Fri Aug 19 10:19:20 1989

    В соответствии с изменениями в системных именах от 05-19-89,

    все сообщения для "mona5" должны отправляться "jo5".

    printer1 (root) Thu Aug 18 09:46:48 1989

    The printer1 is now available and working on mona5.

    $

    Команда cal.

    Команда cal выводит на экран календарь нужного вам года. Синтаксис команды cal в "Справочнике пользователя" выглядит так:

    СИНТАКСИС

    cal [[month]year]

    Аргументы команды cal необязательны. Аргумент месяц (month) - это число от 1 (янв.) до 12 (дек.). Аргумент год (year) - это число от 1 до 9999. На экран выводятся:

    Текущий месяц текущего года, если аргумент не указывается.

    12 месяцев указанного года, если указывается год.

    Нужный месяц нужного года, если указывается и месяц, и год.

    $cal<RET> $cal 6 1989<RET>

    			
            May 1989                        June 1989
    S M Tu W Th F S S M Tu W Th F S
    1 2 3 4 5 6 1 2 3
    7 8 9 10 11 12 13 4 5 6 7 8 9 10
    14 15 16 17 18 19 20 11 12 13 14 15 16 17
    21 22 23 24 25 26 27 18 19 20 21 22 23 24
    28 29 30 31 25 26 27 28 29 30

    $ $

    В сентябре 1752 года 11 дней были пропущены в связи с переходом на високосный календарь. Поэтому выполнение команды cal будет таким:

    $ cal 9 1752<RET>

    September 1752

        S   M  Tu   W  Th   F   S
    1 2 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30

    $

    КОМАНДА CAL

    $cal 1988<RET>

    1988

    			
               Jan                         Feb                         Mar
    S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S
    1 2 1 2 3 4 5 6 1 2 3 4 5
    3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12
    10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19
    17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26
    24 25 26 27 28 29 30 28 29 27 28 29 30 31
    31

    Apr May Jun
    S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S
    1 2 1 2 3 4 5 6 7 1 2 3 4
    3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
    10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
    17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
    24 25 26 27 28 29 30 29 30 31 26 27 28 29 30

               Jul                         Aug                         Sep
    S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S
    1 2 1 2 3 4 5 6 1 2 3
    3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
    10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
    17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
    24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
    31

               Oct                         Nov                         Dec
    S M Tu W Th F S S M Tu W Th F S S M Tu W Th F S
    1 1 2 3 4 5 1 2 3
    2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
    9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
    16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
    23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
    30 31

    $

    Отправка почты другим пользователям системы UNIX

    Пользователи ОС UNIX могут обмениваться через компьютер сообщениями друг с другом. Такой способ обмена информацией называется электронной почтой (email) или mail.

    Команда mailx позволяет вам посылать и принимать почту от других пользователей ОС UNIX. (Команда mailx, введенная в версии UNIX System V Release 2, имеет больше возможностей, чем старая команда mail.)

    Для отправки почты наберите команду mailx и несколько входных имен. Например:

    $ mailx student1 student2 student3<RET>

    После чего система запрашивает Subject:. Вы НЕ ДОЛЖНЫ начинать набор своего сообщения в этом месте. Subject запрашивает тему вашего сообщения. Например:

    $ mailx student1 student2 student3<RET>

    Subject: Обед<RET>

    После того, как вы набрали тему, нажмите <RET>. Теперь вы находитесь в режиме ввода команды mailx.

    ЗАМЕЧАНИЕ: В этом месте вы не получите приглашения. Например:

    $ mailx student1 student2 student3<RET>

    Subject: Обед<RET>
    Одноклассники,<RET>
    Как насчет обеда сегодня? Я знаю <RET>
    одно отличное новое место!<RET>
    <CTRL/d>
    $

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

    Для отправки сообщения нажмите <CTRL/d>. Вышеприведенный пример показывает, как отправить почту обладателям входных имен student1, student2 и student3.

    Если вы нажмете клавишу <DEL> во время ввода сообщения, то команда mailx прервется. При этом сообщение сохраняется в файле dead.letter. Вы можете редактировать файл dead.letter и перепосылать его. Каждый раз, когда требуется файл dead.letter, он создается заново, а его предыдущее содержание стирается.

    ОТПРАВКА ПОЧТЫ

    $ mailx student1 student2 student3<RET>

    Subject: Обед<RET>
    Одноклассники,<RET>
    Как насчет обеда сегодня? Я знаю <RET>
    одно отличное новое место!<RET>
    <CTRL/d>
    $

    Отправка почты с помощью команд mailx

    ~ escapes

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

    Распечатка сообщения:

    Команда ~p выводит на экран вашего терминала (печатает) сообщение, перед тем как отправить его.

    Выход:

    Команда ~x осуществляет выход без отправления и сохранения сообщения. Она пригодится, когда вы начали набирать сообщение, а затем вдруг решили не посылать его вообще. Смотрите Пример 1.

    Отправка копии:

    Команда ~c names посылает копию сообщения новым адресатам. Система посылает сообщения обладателям входных имен, указанных командой mailx и командой ~c. В Примере 2 копия посылается обладателю входного имени mona. В итоге, сообщение получают steve, pete и mona.

    Копирование файла:

    Команда ~r file копирует содержимое файла в почтовое сообщение. Она помогает вам, если вы хотите послать какой-либо текст вместе с содержимым файла. После выполнения команды система отвечает выводом имени файла и количества строк и символов в файле. В Примере 3 система копирует в почтовое сообщение 60 строк, содержащих 853 символа.

    Редактирование сообщения:

    Команда ~v позволяет вам редактировать почтовое сообщение, переводя вас в редактор vi, используемый по умолчанию. Вы научитесь пользоваться этим редактором в Разделе 3 этого курса. После ввода команды ~v вы можете использовать только команды редактора vi, пока вы не выйдете из него. Выйдя из vi, вы снова попадете в mailx.

    ОТПРАВКА ПОЧТЫ С ПОМОЩЬЮ КОМАНД mailx

    ПРИМЕР 1: x

    $ mailx steve pete<RET>

    Subject: отчет об обеде<RET>

    Харчо

    ~x<RET>

    $

    ПРИМЕР 2: c

    $ mailx steve pete<RET>

    Subject: отчет об обеде<RET>

    Харчо был замечательным, вы должны его попробовать как-нибудь<RET>

    ~c mona <RET>

    Если тебя интересует, что хорошего в меню, сообщи мне.<RET>

    Jo<RET>

    <CTRL/d>

    $

    ПРИМЕР 3: r

    $ mailx jeff shari <RET>

    Это обещанное мной меню!<RET>

    ~r menu<RET>

    "menu" 60/853

    Jo<RET>

    <CTRL/d>

    $

    Чтение почты с помощью команд mailx

    Shell время от времени проверяет, поступила ли вам новая почта. В случае поступления почты на экран выводится сообщение следующего типа: you have mail in /var/mail/xxx, xxx - ваше входное имя. Для чтения почты пользуйтесь командой mailx. Система выводит на экран конспект сообщения, как это показано на следующей странице. Первая строка конспекта указывает версию команды mailx. Следующая строка содержит статус и количество сообщений в вашем "почтовом ящике" (в рассматриваемом примере - 3 новых сообщения). Далее следует конспект в одну строку для каждого сообщения. Рассмотрим одну такую строку:

    >N 1 mona Mon Aug 22 15:36 9/124 Встреча

    > - отметка о текущем сообщении.

    N - статус почтового сообщения, N - новое, U - непрочитанное.

    1 - номер сообщения.

    mona - входное имя отправителя

    Mon Aug 22 15:36 - дата и время отправки сообщения.

    9/124 - количество строк и символов в сообщении.

    Встреча - тема сообщения.

    После конспекта сообщения следует приглашение "?" - что делать дальше? Ниже приведены некоторые доступные опции:

    n<RET> Чтобы прочитать любое из сообщений, введите его номер. В Примере 1, набрав 2<RET>, вы получите на своем терминале сообщение номер 2, посланное обладателем входного имени jo. После прочтения сообщения, оно становится текущим (обозначенным >).

    d<RET> Вы можете "выбросить" - уничтожить сообщение по его прочтении. Набирая d<RET> после приглашения "?", вы удаляете текущее сообщение из своего "почтового ящика".

    s<RET> Для сохранения сообщения, наберите s<RET> после приглашения "?", и текущее сообщение будет добавлено в конец файла mbox вашей директории.

    Чтобы сохранить сообщение в другом файле, введите имя файла после s. Например, команда s appointment записывает сообщение в файл appointment. ОБЯЗАТЕЛЕН пробел между s и именем файла. Когда вы выходите из mailx, система автоматически удаляет записанные сообщения из вашего "почтового ящика"(/var/mail/login).-

    Имейте в виду, что когда вы записываете сообщение в указываемый файл, то оно добавляется к предыдущему содержанию файла. Новый файл создается лишь в том случае, если указанный файл не существует.

    ЧТЕНИЕ ПОЧТЫ С ПОМОЩЬЮ КОМАНД mailx

    $ mailx<RET>

    mailx version 4.0 Type ? for help.

    mail/slf": 3 messages 3 new

    "/var>N 1 mona Mon Aug 22 15:36 9/124 Совещание<<

    N 2 jo Mon Aug 22 15:13 9/135 Волейбол

    N 3 jeff Mon Aug 22 15:13 9/235 Сообщение об обеде

    ? 2<RET>

    Message 2:

    From jo Mon Aug 22 15:13 EDT 1989

    To: slf

    Subject: Волейбол

    Content-Type: text

    Content-Length: 42

    Status: RO

    Наша волейбольная команда на первом месте!

    ? d<RET>

    ? 1<RET>

    Message 1:

    From mona Mon Aug 22 15:36 EDT 1989

    To: slf

    Subject: Совещание

    Content-Type: text

    Content-Length: 65

    Status: RO

    Сегодня совещание по программе UNIX курсов в комнате B1 в 10 час.

    ? s appointment<RET>

    "appointment" [New file] 9/124

    ? 3<RET>

    Message 3:

    From jeff Mon Aug 22 15:13 EDT 1989

    To: slf

    Subject: Сообщение об обеде

    Content-Type: text

    Content-Length: 48

    Status: RO

    Напоминаю, что сегодня мы собирались за блинами!

    ? q<RET>

    Saved 1 message in /home/slf/mbox

    $

    Чтение почты с помощью команд mailx (продолжение)

    <RET> При нажатии <RET> на экран выводится следующий файл из вашего "почтового ящика". Если сообщений больше нет, система информирует об этом At EOF (конец файла). Каждый файл, просмотренный вами с помощью клавиши <RET>, будет сохранен в файле mbox вашей директории при выходе из mailx.

    m logins<RET> Такой ответ на приглашение "?" позволяет посылать сообщения всем другим пользователям.

    q<RET> Если вы не хотите читать все свои сообщения, наберите q<RET>. Эта команда осуществляет выход обратно в shell При выходе из mailx все прочитанные, но незаписанные и нестертые файлы перемещаются в файл mbox. Непрочитанные файлы остаются в "почтовом ящике".

    ЧТЕНИЕ ПОЧТЫ С ПОМОЩЬЮ КОМАНД mailx (ПРОДОЛЖЕНИЕ)

    $mailx<RET>

    mailx version 4.0 Type ? for help.

    "/var/mail/slf": 3 messages 3 new

    >N 1 john Mon Aug 22 15:18 8/150 Обед

    N 2 john Mon Aug 22 15:19 8/174 Обед завтра

    N 3 john Mon Aug 22 15:19 8/150 ?????

    ? <RET>

    Message 1:

    From john Mon Aug 22 15:18 EDT 1989

    To: slf

    Subject: Обед

    Content-Type: text

    Content-Length: 61

    Status: R

    Как насчет того, чтобы сегодня за обедом поговорить?

    ?m john <RET>

    Subject: Обед<RET>

    Сегодня не получается, как насчет завтра?

    <CTRL/d>

    EOF

    ?q<RET>

    Held 2 messages in /var/mail/slf

    Чтение почты с помощью команд mailx (продолжение)

    R<RET> Часто, получив сообщение, вам хочется ответить отправителю. Для этого служит команда R<RET>.

    h<RET> Эта команда выводит на экран конспект сообщений.

    x<RET> Это выход в shell. При нажатии x<RET> аннулируются все изменения, сделанные в вашем "почтовом ящике". Например, остаются удаленные сообщения.

    ЧТЕНИЕ ПОЧТЫ С ПОМОЩЬЮ КОМАНД mailx (ПРОДОЛЖЕНИЕ)

    $mailx<RET>

    mailx version 4.0 Type ? for help.

    "/var/mail/slf": 2 messages 2 unread

    >U 1 slf Mon Aug 22 15:19 9/176 Обед завтра

    U 2 slf Mon Aug 22 15:19 9/160 ?????

    ?<RET>

    Message 1:

    From john Mon Aug 22 15:19 EDT 1989

    o: slf

    Subject: Обед завтра

    Content-Type: text

    Content-Length: 46

    Status: RO

    Завтра мне подходит. В какое время встретимся?

    ?R<RET>

    To: john<RET>

    Subject: Re: Обед завтра

    Завтра в полдень?

    <CTRL/d>

    EOT

    ?h

    >U 1 slf Mon Aug 22 15:19 9/176 Обед завтра

    U 2 slf Mon Aug 22 15:19 9/160 ?????

    ?x

    $

    Синтаксис командной строки

    Все командные строки имеют особый формат или синтаксис. Последующее объяснение синтаксиса командной строки использует в качестве примера команду news. Понимание синтаксиса командной строки поможет вам запомнить последовательность информации, вводимой в командной строке.

    Первый символ в командной строке - приглашение $, выводимое на экран ОС UNIX. Символ $ - это вопрос shell: что вы хотите делать? Shell ждет ввода команды.

    После символа $ вы вводите командную строку. Простейшая командная строка - это одно слово, и <RET> после него. Когда вы нажимаете <RET>, ОС UNIX начинает выполнять команду. Команда news - хороший пример команды в одно слово.

    $ news <RET>

    В этом примере $ - приглашение, news - команда, а <RET> - завершает команду.

    Команда - это программа, представляющая специфическую задачу. Команда news приказывает ОС UNIX вывести на экран все текущие новости.

    Команда может иметь аргументы и опции. Например, команда news использует в качестве аргумента имена сообщений. В нашем примере printer1 есть имя сообщения и, таким образом, имя аргумента. У команды может быть один или несколько аргументов. Между командой и аргументом должен быть хотя бы один пробел или табуляция. Например:

    $ news printer1 copy_machine<RET>

    Здесь printer1 и copy_machine - аргументы.

    Аргументы помогают уточнять, как именно должна выполняться команда. В случае команды news аргументы выделяют сообщения, которые нужно вывести на экран. Каждый аргумент - это отдельное слово, и вы должны разделять аргументы друг от друга пробелами или табуляциями.

    Синтаксис командной строки (продолжение)

    В командной строке могут быть также указаны одна или несколько опций. Опции модифицируют команду. Например, для команды news опция -а выводит на экран все новости - и текущие, и старые.

    $ news -a<RET>

    Здесь - это опция all (все).

    Перед каждой опцией ставится минус (-) или плюс (+) для отличия от аргументов. Минус ставится перед большинством опций. Справочник пользователя ОС UNIX указывает, какие опции должны предваряться плюсом.

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

    СИНТАКСИС КОМАНДНОЙ СТРОКИ

    $ news<RET> Команда отдает приказ ОС UNIX.

    $ news printer1<RET> Аргумент указывает команде, на чем ей сконцентрировать свое действие.

    $ news -a<RET> Опция модифицирует команду.

    Формат командной строки:

    $ command options(s) argument(s) <RET>

    Между приглашением системы, командой, опциями и аргументами пробел(ы) или табуляция.

    >

    $ spell -v +my.words unit1.2<RET>

    Команда date

    Команда date выводит на экран дату и время. Например:

    $ date<RET>

    Tue Aug 23 09:23:42 EST 1989 <- ответ системы

    Сначала идет день недели, затем дата, время, часовой пояс (EST - Eastern Standard Time, стандартное восточное время) и год. Если вы набрали команду неверно, или shell не в состоянии найти команду, то система выводит на экран сообщение об ошибке или диагностическое сообщение:

    $ datte<RET>

    datte: not found <- диагностическое сообщение

    Смотрите пример 1 на следующей странице.

    У команды date также могут быть аргументы, перед которыми должен стоять плюс (+). Этот знак сообщает системе, что пользователь хочет получить ответ отличный от используемого по умолчанию. В примере 2 на следующей странице аргумент %a означает вывод только сокращенного названия дня недели.

    Аргументы команды date называются дескрипторами поля. (field descriptor) Дескриптор поля указывает, какого типа вы хотите получить ответ. Каждый дескриптор поля начинается со знака %. Этот знак означает, что дескриптор поля должен быть заменен в ответе на соответствующее значение.

    Пример 3 на следующей странице демонстрирует, как дескриптор поля %B выводит на экран полное название месяца.

    Ниже приведены еще несколько дескрипторов поля команды date:

    a сокращенное название дня недели
    A полное сокращенное название дня недели
    b сокращенное название месяца
    B полное название месяца
    c формат даты и времени, принятые в данной стране
    d день месяца - от 01 дo 31
    D дата в виде месяц/число/год (числами)
    j день года - от 001 дo 366
    Y год (4 цифры)
    Z название часового пояса

    КОМАНДА date

    ПРИМЕР 1:

    $ date<RET>

    Mon Jan 16 09:23:42 EST 1989

    $ datte<RET>

    datte: not found

    ПРИМЕР 2:

    $ date +%a<RET>

    Mon

    ПРИМЕР 3:

    $ date +%B<RET>

    January << +%B выводит на экран полное название месяца

    $

    Приостановка и продолжение вывода на экран

    Вы могли уже заметить, что иногда ответ системы не помещается на один экран. Например, когда вы получаете календарь на целый год с помощью команды cal, то январь исчезает с экрана, пока продолжается вывод.

    Есть несколько способов решить эту проблему в ОС UNIX. Один из них - приостановить, а затем продолжить вывод информации на экран терминала. Вам позволит сделать это нажатие следующих клавиш:

    <CTRL/s> - приостановка вывода на экран

    <CTRL/q> - возобновление вывода на экран

    ЗАМЕЧАНИЕ: Нажмите сначала клавишу <CTRL>, а затем, не отпуская ее, нажимайте s или q.

    Повторяя <CTRL/s>, <CTRL/q>, <CTRL/s>..., вы приостановите вывод, затем возобновите его, снова приостановите и т.д.

    На некоторых клавиатурах для этого могут использоваться другие клавиши, а не <CTRL/s> и <CTRL/q>.

    ПРИОСТАНОВКА И ПРОДОЛЖЕНИЕ ВЫВОДА НА ЭКРАН

    <CTRL/s> Приостанавливает вывод на экран.

    <CTRL/q> Возобновляет вывод на экран.

    Прекращение выполнения команды

    Вы узнали, как приостановить и продолжить выполнение команды, но что если вы не хотите возобновлять ее, а просто хотите остановиться? Что если выполнение команды занимает много времени, а вы передумали, и вам она не нужна?

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

    <DELETE>       (иногда сокращенно <DEL>)
    <RUBOUT>       Не на всех терминалах имеются все эти клавиши,
    <BREAK>         так что пользуйтесь соответствующими им на вашем.
    <INTERRUPT>

    Выводы и упражнения

    Выводы урока

    В этом уроке описаны: