unix (Практическая работа по предмету UNIX), страница 2
Описание файла
Документ из архива "Практическая работа по предмету UNIX", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "unix"
Текст 2 страницы из документа "unix"
система ответит Вам
ls: not found
С другой стороны, Вы можете запустить команду, находящуюся в каталоге, которого нет в РАТН, напечатав полное имя, включая ее местонахождение. Например,
/usr/ bin/ls
или
/usr/ bin/ls /usr/ bin
Обратите внимание на то, что, во-первых, если команда находится в двух каталогах, и оба они указаны в РАТН, то UNIX запустит команду из каталога, который стоит первым по порядку в РАТН. (Например, если команда находится в Х и Y из РАТН = .:/X:/been:/Y, то запуск будет производиться из X); во-вторых, в отличие от DOS, UNIX не ищет команду в корневом каталоге автоматически.
Давайте все же восстановим путь поиска команд:
РАТН=.:/usr/local/bin:/bin:/usr/bin
Он позволяет осуществлять поиск в корневом каталоге и каталогах /usr/local/bin, /bin, /usr/bin. Проверьте выполняется ли теперь команда ls.
Еще одна причина невыполнения введенной команды – отсутствие прав на использование данной команды или некоторых ее опций, иначе говоря, прав доступа. В таком случае система Вам выдает сообщение о невозможности выполнить команду. Это могут быть следующие сообщения cannot execut (не может быть запущена), permission denied (обращение запрещено), no permission to … (нет доступа к …). Проверьте это, введя команду
date 000000
на экране появится строка
No permission to set time
(нет доступа к установке времени), т.к. правом использования этой команды обладает лишь root-пользватель.
Возможна и другая ситуация. Попробуйте ввести такую команду
cp /etc/mtab /etc/m1
она должна скопировать файл mtab каталога /etc в файл m1того же каталога, но Вы получите сообщение
cp: m1: Permission denied
(обращение запрещено). Дело в том, что Вы не имеете права копировать файлы в каталог /etc.
-
Использование простейших команд.
Теперь давайте попробуем выполнить несколько общедоступных безобидных команд – это должно придать Вам чувство уверенности при работе с командами UNIX.
Для начала попробуйте ввести команду uname, затем используйте опцию -а этой же команды.
В первом случае (после ввода команды uname) система выдает Вам информацию об имени системы. Когда же Вы вводите команду
uname -а
то на экране появляются следующие сведения: имя системы, сетевой адрес компьютера, версия системы, тип машины.
Хотите узнать, в какой день недели произошло Ледовое побоище или родились Ваши родители, а может Вам интересно как выглядел календарь первого месяца первого года нашей эры?
Воспользуйтесь командой cal (вывод календаря на экран). Задав в качестве параметров номер месяца и четырехзначный номер года (от 1 до 9999), Вы сможете увидеть на экране календарь этого месяца. Если номер месяца опустить, то UNIX выведет на экран календарь этого года. Так в какой день недели мы встретим 21 век? (Надеюсь, Вы не забыли, что команды и параметры разделяются пробелами.)
Если Вы забудете указать аргументы:
cal
то система напомнит Вам об этом, указав правильный формат команды
Usage: cal [mounth] year
(Употребление: cal [месяц] год).
Если Вы неправильно укажете параметр:
cal feb 1
то увидите на экране надпись Bad argument (неверный аргумент)
В заключение попробуйте вывести на экран большими буквами свое имя, либо что-нибудь другое, но столь же значимое. Для этого используйте команду banner и не забудьте оставить пробел перед текстом, предназначенным для вывода на экран
banner UNIX
Можно использовать кавычки. Командная строка должна выглядеть примерно так:
banner ’ UNIX’
Сравните результаты.
-
Как навести справку о команде.
В системах UNIX – сотни команд. Узнать, как работают все команды, возможно только в процессе кропотливой, долговременной работы в конкретной системе UNIX (не забывайте обо всем многообразии версий).
Однако, ознакомившись с наиболее важными командами, Вы сможете использовать для дальнейшего изучения системы такой мощный аппарат как справочная система UNIX.
Самая старая и все еще самая важная справочная информация находится в "man page". Man page (сокращение от manual page - страница руководства) содержит сведения обо всех командах и отдельных компонентах UNIX. Страницы справки хороши тем, что, во-первых, в них ясно показаны все опции данной команды, причем для каждой имеется отдельное описание; во-вторых, справочная система обновляется всякий раз, когда программисты изменяют команды UNIX.
Для вызова на экран справки о команде используют команду man. Имя команды или компоненты UNIX, о которой Вы хотите получить справку, печатается после man. Например, командная строка
man date
выводит на экран справку о команде date. Движение по тексту справки осуществляется с помощью клавиши ENTER и клавиш стрелка-вверх, стрелка-вниз. Для выхода из справки и возвращения в оболочку UNIX следует нажать клавишу Q.
Страница справки для команд имеет следующие разделы:
- NAME (имя) содержит имя команды и краткое описание.
- SYNOPSIS (конспект) показывает команду со всеми опциями и параметрами, которые Вы можете использовать.
- DESCRIPTION (описание) описывает, как используется команда, а также каждая опция этой команды.
- OPTIONS (опции) содержит имя опции и ее краткое описание.
- EXAMPLES (примеры) приводит примеры использования команды.
- SEE ALSO (смотрите также) содержит список связанных команд, если они есть.
Кроме справки для команд существует и другая справочная информация. Например, о форматах файлов, о функциях программирования, о системных командах (те команды, которые Вы уже знаете, являются пользовательскими командами общего назначения), об устройствах и т.д.
Вы, наверное, обратили внимание, что в верхних углах страницы-справки стоит имя компонента, о котором наводиться справка, а рядом в скобках – цифра (возможно, цифра и буква). Эта цифра показывает, что данный компонент принадлежит разделу с этим номером. А т.к. в каждом разделе справочной системы содержатся лишь компоненты одного типа, т.е. либо команды общего назначения (раздел 1), либо системные команды (раздел 1М), либо устройства (раздел 7) и т.д., то таким образом номер раздела указывает Вам, какое место занимает данный компонент в иерархии системы UNIX.
В системе MINIX разделы справки организованы следующим образом:
-
Пользовательские команды.
Команды общего пользования такие как ls, man, who, banner, cal.
-
Системные вызовы.
Программы нижнего уровня, которые напрямую взаимодействуют с ядром.
-
Библиотека программ.
Программы высокого уровня, написанные на языке Си.
-
Файлы устройств.
Описание устройств каталога /dev.
-
Форматы файлов.
Форматы файлов различных утилит и программ.
-
Игры.
-
Разное.
Различные дополнения.
-
Системные утилиты.
Команды системного администратора.
-
Документы.
Более детальное руководство по некоторым программам.
Вас, конечно же, огорчило, что справочная информация дается на английском языке, но, возможно, образует то, что в начале работы Вам не придется пользоваться всеми разделами справки – главным образом Вы будете использовать справочную систему для получения информации о том, как работает команда.
-
Виртуальные консоли
Системная консоль - это монитор и клавиатура, связанные непосредственно с системой. (Поскольку UNIX многопользовательская система, Вы можете иметь дополнительные терминалы, связанные через последовательные порты с вашей системой, но они не будут консолями). MINIX, как и некоторые другие версии UNIX, обеспечивает доступ к виртуальным консолям (или VC), которые позволяют войти в систему под несколькими именами в одно время.
Нажмите клавишу F2, удерживая нажатой клавишу Аlt. Вы должны снова увидеть приглашение, содержащее слово login. Это вторая виртуальная консоль.
Вы вошли через первую. Чтобы переключиться обратно на первую VC, нажмите комбинацию клавиш Аlt и F1.
MINIX позволит вам работать с четырьмя VC, используя клавиши F1- F4 в комбинации с клавишей Аlt. Как видите, использование VC может быть очень эффективным - Вы можете работать на нескольких VC одновременно. (Пока Вы работаете на VC №1, Вы можете переключиться на VC №2 и начать работу над чем-то другим).
Использование виртуальных консолей дает вам представление о многопользовательских возможностях UNIX.
-
Краткая информация о командах, встречающихся в этой практической работе.
ИМЯ
banner - печатает аргументы крупными буквами.
СИНТАКСИС
banner arg ...
ОПИСАНИЕ
banner печатает параметры на stdout, используя матрицы 6x6 пикселей на символ.
ПРИМЕР
banner happy birthday
-печатает крупными буквами на экране строку happy birthday
ИМЯ
сal -вывод календаря
СИНТАКСИС
сal [месяц] год
ОПИСАНИЕ
сal печатает календарь месяца или года. Год задается цифрами от 1 до 9999. Обратитe внимание, что год 91 не является синонимом года 1991.
ПРИМЕР
сal 3 1992
-печатает календарь марта 1992
ИМЯ
cd -изменяет текущий рабочий каталог. СИНТАКСИС cd [имя каталога]
ОПИСАНИЕ
cd делает указанный каталог текущим рабочим каталогом; cd осуществляет переход в личный каталог; cd .. осуществляет переход в родительский каталог. ПРИМЕР cd /usr – делает каталог /usr текущим.
ИМЯ
cat -объединяет файлы и пишет их в стандартный выходной поток
СИНТАКСИС
cat [-u] [имя файла] ...
ОПЦИИ
-u небуферизованный вывод
ОПИСАНИЕ
cat объединяет исходные файлы и копирует результат в стандартный выходной поток. Если имя файла не задано или файл с указанным именем не существует, то используется стандартный входной поток. Вывод производится блоками по 512 байтов, если флаг -u не установлен. Если Вы хотите только скопировать файл, то нужно использовать cp - это быстрее.
ПРИМЕРЫ
cat file
-выводит файл file на экран
cat file1 file2 | lpr
-объединяет 2 файла file1, file2 и печатает результат
ИМЯ
date - печатает или устанавливает дату и время
СИНТАКСИС
date [-qsu] [[MMDDYY] hhmm [ss]] [+ формат]
ОПЦИИ
-q читает дату из стандартного входного потока;
-s устанавливает время;
-u печатает дату ПО ГРИНВИЧУ;
-t устанавливает заданное число секунд в текущее время.
ОПИСАНИЕ
С флагом -q или числовыми параметрами, date устанавливает время ПО ГРИНВИЧУ и дату. MMDDYY задает месяц, день, год; hhmmss задает часы, минуты и секунды. Каждое из шести полей должно содержать точно две цифры. date всегда отображает дату и время в формате, заданном по умолчанию в системе. Флаг -u запрашивает время ПО ГРИНВИЧУ вместо местного времени.
Формат может быть определен дополнительно следующими опциями:
%% символ %
%A название дня
%B название месяца
%D mm/dd/yy
%H Десятичный час на 2 цифры
%I Десятичный модуль часа 12 на 2 цифры
%M Десятичная минута на 2 цифры
%S Десятичные секунды на 2 цифры
%T HH: MM: SS
%U Десятичный номер недели, воскресенье является первым днем недели
%W Десятичный номер недели, понедельник является первым днем недели
ПРИМЕРЫ
date
-печатает дату и время
date 0221921610
-устанавливает дату 21 февраля, 1992 4:10 пополудни.
ИМЯ
ls -выдает информацию о файлах в каталоге. СИНТАКСИС ls [имя файла] ... ОПЦИИ:
-a выводит имена всех файлов и подкаталогов, включая . и .. -l выводит информацию о типе файла (обычный, каталог или специальный), правах на его использование, владельце, размере, дате последнего изменения (или создания) по столбцам.
-t выводит список файлов, отсортированный по датам их последнего изменения (или создания). ОПИСАНИЕ
ls выдает список имен файлов и подкаталогов текущего каталога. ПРИМЕР
ls -а /home/larry
- выдает список всех файлов и подкаталогов каталога /home/larry .
ИМЯ
lp - копирует файл на принтер
СИНТАКСИС
lp [имя файла]...
ОПИСАНИЕ
посылаeт заданные файлы на принтер для печати. Если имена файлов опущены, то на печать выводится стандартный входной поток. Файлы печатаются в том порядке, в котором они перечислены.
ПРИМЕР
lp myfile youfile
- вызывает печать файлов myfile и youfile
ИМЯ man -выдает страницу Руководства по данной команде или ресурсу. СИНТАКСИС man ОПИСАНИЕ man выводит на экран страницу Справочного Руководства по заданной команде или ресурсу (здесь "ресурс" - это любая системная утилита, которая не является командой, например библиотечная функция). ПРИМЕР man ls -выдает справку по команде ls.
ИМЯ
uname - выдача имени используемой UNIX-системы
СИНТАКСИС
uname [-a]
ОПИСАНИЕ
Команда uname выдает на стандартный вывод имя используемой UNIX-системы. Опция -a позволяет получать следующую информацию: имя системы, имя узла (то есть имя, под которым система известна в коммуникационной сети), наименование версии операционной системы, наименование модификации операционной системы, наименование используемого компьютера. ПРИМЕР