Автор работы: Пользователь скрыл имя, 09 Июня 2013 в 16:19, лабораторная работа
Задача Изучить следующие вопросы:
Как войти в систему и выйти из нее. Имя пользователя. Пароль. Команды выхода.
Запуск shell-интерпретатора. Переход в другой терминал. Запуск и удаление процессов.
Информационные команды: man, tty, who, pwd, ls, ps, df, cal, date.
Федеральное агентство по образованию Российской Федерации.
Пермский национальный
исследовательский
Кафедра ИТАС.
Лабораторная работа №3.
Тема. Командная строка UNIX (Linux). Команды настройки интерфейса и работы с файлами.
Работу выполнил:
студент группы ЭВТдоз-11
Уваров П.А.
Пермь, 2013
Задача Изучить следующие вопросы:
Начало и завершение работы в Linux
Повседневная работа в Linux существенно отличается от работы в Windows, особенно в части использования кнопки Reset и комбинации клавши Ctrl+Alt+Del, которыми регулярно пользуется большинство пользователей Windows. В Linux перезапуск компьютера является действительно чрезвычайной ситуацией, Приводящей к проблемам в работе системы, (поэтому надо сразу научиться правильно входить в систему и, в особенности, правильно завершать работу.
После загрузки операционной системы Linux вам надо обязательно получить разрешение для входа в систему. Поэтому первый диалог, который ведет с вами Linux, — это запрос вашего имени и пароля:
Login: имя_лользователя
Password: пароль_пользователя
Вам надо ввести свое имя и пароль, которые должны быть ранее зарегистрированы в системе.
В операционной системе Linux всегда имеется привилегированны!) пользователь (администратор, суперпользователь) — root, который регистрирует всех остальных пользователей и определяет их права в системе.
По окончании сеанса работы в Linux
из операционной системы надо правильно
выйти, чтобы не возникло проблем
при следующем запуске.
Причем обязательно надо обратить внимание
на то, что процедуры выхода из системы
простого пользователя и системного администратора
существенно различаются (если система
запущена в многопользовательском режиме).
Можно даже сказать, что это один из ключевых
моментов в работе Linux. Ведь если в системе
одновременно работают несколько пользователей,
то предоставление любому пользователю
возможности перезагрузить компьютер
вызовет аварийную ситуацию для всех остальных.
Поэтому рядовой пользователь может закончить
свой сеанс работы только с помощью команды:
logout.
Системный администратор
как суперпользователь может
в любой момент прекратить работу
Linux, вызвав перезагрузку компьютера, с
помощью команды
reboot.
Для прекращения работы Linux также используются команды halt, fasthalt fastboot.
Все названные команды представляют собой
короткий вариант команды shutdown с определенными
параметрами:
Параметры команды shutdown означают следующее:
Сочетание клавиш
Ctrl+Alt+Del в Linux аналогично команде ctrl+alt+del с аргументами:
ctrl+alt+del {hard&soft}
Интерпретатор shell — это наиболее важная программа для пользователей UNIX. Она исполняет ваши запросы на запуск программ и занимает гораздо больше вашего времени, чем любая другая программа системы.
Командный интерпретатор в среде UNIX выполняет две основные функции:
В последнем случае, операционная система позволяет рассматривать командные файлы как разновидность исполняемых файлов. Соответственно различают два режима работы интерпретатора: интерактивный и командный.
В среде UNIX имеются несколько различных командных интерпретаторов. Перечислим наиболее популярные:
В операционной системе Linux переключение между терминалами производится с помощью комбинации клавиш Alt-F1, Alt-F2 и т. п. При этом каждый обозначается специальным именем: «tty1», «tty2» и т. д.
Терминал, характеризуется файлом устройства с соответствующим именем (например, /dev/tty1).
Запуск и удаление процессов
UNIX является многозадачной
У каждого процесса есть уникальный номер, называемый process ID, или PID, и, как и у файлов, у каждого процесса есть владелец и группа. Информация о владельце и группе процесса используется для определения того, какие файлы и устройства могут быть открыты процессом с учетом прав на файлы, о которых говорилось ранее. Также у большинства процессов есть родительский процесс. Например, при запуске команд из оболочки, оболочка является процессом и любая запущенная команда также является процессом. Для каждого запущенного таким путем процесса оболочка будет являться родительским процессом. Исключением из этого правила является специальный процесс, называемый init. init всегда первый процесс, его PID всегда равен 1. init запускается автоматически ядром во время загрузки.
Для запуска программ в UNIX используются два системных вызова – fork() и exec().
fork()
— системный вызов, создающий
новый (дочерний) процесс, идентичный
выполняющему этот вызов.
После fork() дочерний процесс чаще всего выполняет системный вызов exec(), загружающий в пространство процесса новую программу (именно так, и только так, в UNIX выполняется запуск программы в отдельном процессе). Так, первый (нулевой) процесс UNIX (ядро системы) создаёт свою копию, чтобы запустить init (процесс с PID = 1), который в свою очередь создаёт дочерние процессы для запуска инициализации системы и терминалов.
При завершении работы программа (дочерний процесс) выполняет системный вызов exit(), при этом родительский процесс с помощью системного вызова wait() (или waitpid()) должен очистить таблицы планировщика процессов от информации о своем дочернем процессе. Если этого не происходит и родительский процесс завершается, не вызвав wait() для всех своих дочерних процессов, в системе возникают зомби (zombie), представляющие собой записи в таблицах планировщика процессов. Очистить операционную систему от зомби можно только с помощью перезагрузки.
Команда kill завершает активные процессы в фоновом режиме и команда stop приостанавливает временно процессы. Общий формат этих команд:
kill PID<CR>
или
stop JID<CR>
Обратите внимание, что вы не можете завершать фоновые задания нажатием клавиш BREAK или DEL. Следующий пример показывает, как вы можете завершить команду grep, которая выполняется в фоновом режиме.
Пример.
$ kill 28223<CR>
28223 Terminated
$
После того как система выдаст ответ на запрос, на экране появится подсказка $, означающая, что процесс завершен. Если система не найдет указанный PID, то появится сообщение об ошибке:
kill:28223:No such process
Чтобы приостановить оперативный процесс (если активна функция управления заданиями), введите:
ctrl Z
На экране появится следующее сообщение:
<JID> Stopped(user) <имя задания>
Информационные команды: man, tty, who, pwd, ls, ps, df, cal, date.
Man
Выводит страницу руководства для указанного имени на стандартный вывод или при помощи pager’а, установленного для данной сессии для постраничной выдачи информации.
Каждая страница руководства имеет стандартную форму со следующими разделами:
NAME — название и назначение
SYNOPSIS — синтаксис
DESCRIPTIONS — описание
FILE — используемые файлы
SEE ALSO — смежные разделы
Пример: Получение справки о системной команде man.
$ man man
man(1)
NAME
man - format and display the on-line manual pages
SYNOPSIS
man [-acdfFhkKtwW] [--path] [-m system] [-p string]
[-C config_file] [-M pathlist] [-P pager] [-B
browser] [-H htmlpager] [-S section_list] [section] name ...
DESCRIPTION
man formats and displays the on-line manual pages. If you specify
section, man only looks in that section of the manual. name is
normally the name of the manual page, which is typically the name of
a command, function, or file. However, if name contains a slash (/)
then man interprets it as a file specification, so that you can do
man ./foo.5 or even man /cd/foo/bar.1.gz.
See below for a description of where man looks for the manual page files.
TTY
Описание:
Получение имени спец. файла, соответствующего текущему терминалу.
Опции:
-s |
Имя терминала не выводится. Если стандартный ввод происходит с терминала, возвращается 0 |
Примеры:
$ tty
/dev/ttyp3
WHO
Описание:
Вывести список пользователей, работающих в системе.
Примеры:
$ who
guest :0 2010-07-01 18:45
guest pts/1 2010-07-01 18:45 (:0.0)
guest pts/2 2010-07-01 18:46 (:0.0)
guest pts/3 2010-07-01 18:47 (:0.0)
guest pts/4 2010-07-01 19:04 (:0.0)
PWD
Выводит имя текущего каталога.
Примеры:
Определяем текущий каталог.
$ pwd
/home/guest
LS
При указании в аргументах файла выводится информация о нем согласно указанным опциям, в случае каталога — то же для файлов каталога. Если аргументов нет, — выдается листинг текущего каталога.
Опции:
-a |
Выводить информацию обо всех файлах в каталоге (по системному соглашению файлы, имя которых начинается с точки, являются скрытыми, и командой ls не показываются |
-c |
Использовать время последней модификации і-node, связанного с файлом (создание файла, изменение прав, и т.д.), а не время модификации |
-i |
Выдать номер і-node, связанного с файлом |
-l |
Выдавать информацию о файлах в длинном формате: тип файла (обычный файл -, каталог d, сокет s, символьная ссылка l, символьное устройство c, блочное устройство b, FIFO p), права доступа (чтение — r, запись — w, исполнение — x; первые 3 символа относятся к владельцу, следующие 3 — к членам группы, владеющей файлом, и последние 3 — ко всем остальным), владелец, группа, размер в байтах, дата модификации, имя файла |
-t |
Отсортировать листинг по времени |
-u |
Использовать время последнего доступа к файлу, а не время модификации |
-F |
После каждого имени выдавать значок, характеризующий тип последнего: каталог (/), исполняемый файл (*), FIFO (|), символьная ссылка (@), сокеты семейства AF_UNIX (=) |
-R |
Выдавать листинг рекурсивно по подкаталогам |
Примеры:
Получение полного листинга текущего каталога, включая скрытые файлы.
$ ls -la
итого 224
drwx------ 16 guest guest 4096 Мар 21 18:16 .
drwxr-xr-x 3 root root 4096 Мар 21 17:53 ..
-rw------- 1 guest guest 21 Мар 21 17:54 .bash_history
-rw-r--r-- 1 guest guest 33 Дек 16 22:42 .bash_logout
-rw-r--r-- 1 guest guest 176 Дек 16 22:42 .bash_profile
-rw-r--r-- 1 guest guest 124 Мар 16 22:42 .bashrc
drwxr-xr-x 2 guest test 4096 Мар 21 17:53 Desktop
PS
Вывод информации о состоянии процессов.
Опции:
В SYSV системах:
-e |
Выдать информацию и о процессах других пользователей |
-f |
Выдать полную информацию о процессах |
-l |
Выдать информацию о процессах в расширенном виде |
В BSD системах:
a |
Выдать информацию и о процессах других пользователей |
l |
Выдать информацию о процессах в длинном формате |
x |
Выдать в том числе и информацию о процессах, не подсоединенных к терминалам |
Информация о работе Командная строка UNIX (Linux). Команды настройки интерфейса и работы с файлами