Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные системы. Учебно-методическое пособие
.pdf
101
6. ЭВМ с системой Linux может иметь десятки терминалов, под-
ключенных через последовательные порты. Терминал представляет собой экран и клавиатуру, т.е. консоль, на которой пользователь может регистрироваться обычным образом. Только в этом
случае консоль не виртуальная, а представлена специализированным отдельным устройством.
Однако, не смотря на ряд значительных преимуществ, Linux
имеет такие недостатки, как отсутствие фирмы, гарантирующей работоспособность системы, а также сложность управления и администрирования.
4.2. Файловая система Linux
Linux позволяет работать с большим множеством файловых
систем, как локальных, так и сетевых. Однако родная файловая система Linux – это ext2fs. В данной системе, как и в других системах
Unix, все является файлами – данные, программы, каталоги, устройства. Файлы разделяются на типы:
обычные файлы;
каталоги;
файлы устройств;
ссылки.
Первые три вида файлов мы уже рассматривали при изучении
системы Unix. А вот на четвертом типе остановимся подробнее.
Ссылки (links) – это некий аналог ярлыков в Windows. Ссыл-
ка может быть прямой (или жесткой) и символической. Первые могут указывать на любой файл в файловой системе, тогда как вторые
обязаны находиться на одном дисковом разделе с файлом.
В Linux не существует стандартного формата имен файлов,
как в MS-DOS и других операционных системах. В общем случае
имена файлов могут содержать почти любые символы, и ограничены
256 символами по длине. Сам файл состоит из двух частей. Первая
часть – это нумерованная в шестнадцатеричном исчислении запись
- inode (узел). В ней содержится информация о размере файла, его
формате, правах доступа и т.д. Вторая часть – это имя файла, связанное с inode посредством прямой ссылки.
Имя файла, включая и расширение, не играет в Linux такой
принципиальной роли, как в Windows. Если в ней, например, сменить расширение файла, то открыть такой файл двойным щелчком

102
на его имени уже не удастся. В Linux же в общем случае файлу с
данными может быть присвоено любое расширение (или его может
не быть вовсе): на понимание программой, которой создан этот
файл, это никак не отразится. Кроме того, файл может иметь несколько подряд идущих расширений.
Помимо этого один и тот же физический файл может высту-
пать под разными именами. Поэтому удаление файла в Linux происходит тогда, когда он становится недоступным для системы. Это
происходит тогда, когда удалена последняя ссылка на него и закрыта последняя обращающаяся к нему программа.
При создании файла ему могут быть назначены права на опе-
рации пользователей. Эти права могут быть двух видов:
права принадлежности;
права действия.
Права принадлежности разделяются на три категории пользо-
вателей:
1. Владелец файла – это пользователь, создавший его или скопи-
ровавший. По умолчанию он обычно получает на него все права,
которые подразумевают возможность просмотреть его, модернизировать и записать изменения, а также запустить на исполнение. Единственное, чего не может владелец – изменить права
принадлежности, то есть сделать владельцем своих файлов другого пользователя (это привилегия только администратора).
2. Члены группы. Группа обычно определяется как пользователи,
работающие над общим проектом. Группа обычно по умолчанию получает право чтения и исполнения, но не изменения файла или каталога.
3. Прочие – имеют право прочитать файл, но не изменить или вы-
полнить его.
Права действия разделяются на:
1.
Права на чтение
Для каталога это обозначает разрешение просмотра его содержимого.
2.
Права на запись
Для каталога права на запись позволяют пользователю добавлять или удалять файлы в этом каталоге, даже если пользователь не является владельцем этих файлов.
– разрешают чтение содержимого файла.
– позволяют изменять содержимое файла.

103
3.
Права на запуск
(поиск) – разрешают запуск файла. Д
ля
каталога – это возможность перейти в этот каталог, а затем в
подкаталог.
4.3. Обеспечение графического интерфейса
Графический интерфейс в Linux обеспечивается посредством
системы X Window. Это мощная среда, которая поддерживает одновременно много приложений и позволяет большинство операций
выполнять с помощью компьютерной мышки. Используя X Window,
пользователь может одновременно иметь на экране несколько рабочих окон, при этом пользователь в каждом окне может работать под
разным именем.
Основой концепции системы X Windows является технология
«клиент-сервер». На практике это означает, что X Windows обеспечивает среду, которая не связана с одним компьютером. Приложение может выполняться на каком-либо сервере или компьютере сети, но отображается (с помощью X Windows) на терминалах или рабочих станциях в любом другом месте сети. Различие между местом, где выполняется приложение, и местом, где оно отображается,
является характерной особенностью X Windows.
С другой стороны, среду X Windows можно разделить на интерфейс и средства работы с окнами. В X Windows для обеспечения
завершенного графического интерфейса должны быть запущены два
приложения. Первое – это X сервер, который устанавливает режимы
графического отображения (т.е. разрешение и частоту регенерации
изображения, глубину цвета), отображает окна, следит за движением
мыши, нажатиями клавиш и окнами. Но X сервер не поддерживает
меню, границы окон или механизмы перемещения, переключения,
свертывания или развертывания окон.
Эти элементы интерфейса системы X Window контролируется
менеджером окон (window manager). Эта программа отвечает за
размещение окон, изменение их размеров, размещение иконок, перемещение окон, вид оконных рамок и т.д.
Как отмечалось выше, система X Windows работает по модели
«клиент-сервер», т.е. в каждом приложении есть клиенты X сервера,
физически управляющего отображением. Это делает X Windows
средой, хорошо адаптированной к сетевому окружению, позволяю-

104
щей приложениям выполняться на одном компьютере в сети, а
отображаться – на другом.
В целом X сервер выполняет следующие задачи:
поддержка различных типов видеоадаптеров и мониторов;
управление разрешением, частотой регенерации и глубиной цве-
та изображения;
отображение и закрытие окон, отслеживание перемещений мы-
ши и нажатий клавиш.
Существует множество X серверов, реализующих эти возмож-
ности. Для Linux наиболее часто используются XFree86, Metro-X и
Accelerated-X.
В настоящее время в качестве одного из основных компонен-
тов графического интерфейса Linux используется KDE – (К Desktop
Environment – среда рабочего стола К). KDE – это полностью графическая среда рабочего стола. При этом КDЕ не заменяет систему X
Windows, а лишь использует ее как основу для построения рабочего
стола. В КDЕ реализована идея обеспечения нескольких визуальных
рабочих пространств. По умолчанию в KDE четыре рабочих стола.
Лабораторная работа № 11
Тема: Основы работы с ОС Linux
Цель работы:
изучить основные команды Linux;
получить практические навыки работы в системе Linux.
Результат обучения. После обучения студент должен:
знать основные команды Linux;
уметь применять основные команды при работе в системе Linux.
План занятия:
1. Изучение теоретических вопросов темы 20 минут.
2. Выполнение практического задания 50 минут.
3. Выполнение отчета 20 минут.
1. Основные положения ОС Linux
Linux создавался как операционная система для IBM совме-
стимых компьютеров. В настоящее время Linux перенесена на многие другие аппаратные платформы. Linux создана и продолжает со-

105
здаваться благодаря усилиям программистов, разбросанных вокруг
всего мира. Целью ее разработки было создать операционную систему, принадлежащую к клону Unix, но свободную от каких-либо
коммерческих авторских прав, которую могли бы использовать программисты всего мира.
Особенностью Unix системы является то, что эта операционная система не привязана к определенному типу компьютера. Однако требует больших вычислительных ресурсов. Но благодаря легкости переноса на другие машины и удачной концепции Unix распространяется все шире. Суть концепции Unix в том, что задачи решаются не благодаря большим и мощным программам, а благодаря
взаимодействию небольших программ.
Главные отличия Linux от Unix заключаются в следующем:
1. Цена. Коммерческие Unix системы стоят $1000 – 3000. Linux
распространяется бесплатно или на коммерческих дистрибутивах по сравнительно низкой цене.
2. Лицензионная политика. Linux распространяется вместе с ис-
ходными текстами и под лицензией, которая не разрешает использовать Linux, не распространяя исходных текстов. Эта политика постоянно поддерживает цену коммерческих дистрибутивов Linux на низком уровне. Эта политика делает также невозможным использования недокументированных возможностей
системы.
3. Портативность. Linux с самого начала была предназначена для
работы на IBM совместимых компьютерах. Отсюда его низкие
требования к ресурсам.
2. Использование консоли
Когда создавалась система Unix, компьютеры были большими
(мейнфреймами), и пользователи работали на них через множество
последовательных интерфейсов для подключения удаленных терминалов. У мейнфреймов имелся особый терминал, который предназначался для системного администратора и назывался консолью.
Консоль обычно подсоединялась к компьютеру не по последовательному интерфейсу, а через отдельные разъемы (иногда в качестве
устройства вывода в ее состав вместо монитора входило печатающее
устройство).

106
Поскольку в Unix-системах обычно соблюдаются традиции,
клавиатура и монитор персонального компьютера ведут себя так же,
как ранее консоль. Преимущество такого решения состоит в том, что
все старые программы, создававшиеся для администраторов Unix,
без проблем работают и на новом типе системной консоли.
Но, кроме консоли, Linux позволяет подключать к компьютеру
и удаленные терминалы и, более того, обеспечивает возможность
работы с несколькими виртуальными терминалами с одной консоли.
Нажмите комбинацию клавиш <Ctrl>+<Alt>+<F2>. Вы снова увидите приглашение login:. Однако это не возврат к началу работы с системой – вы просто переключились в другой виртуальный терминал.
Здесь вы можете зарегистрироваться под другим именем. Попробуйте войти в систему под именем только что заведенного пользователя. После этого нажмите комбинацию клавиш <Ctrl>+<Alt>+<F1>.
Вы вернетесь к первому экрану. Например, по умолчанию версия
Red Hat Linux открывает при запуске 6 параллельных сеансов работы (виртуальных терминалов), и этим иногда очень удобно пользоваться. Для переключения между виртуальными терминалами используются комбинации <Ctrl>+<Alt>+<F1> – <Ctrl>+<Alt>+<F6>.
Если в процессе работы вы забыли, в каком терминале находитесь в
данный момент, воспользуйтесь командой tty, которая выводит имя
терминала в следующем формате: /dev/tty2.
Сразу же скажем, что, если вы хотите завершить сеанс работы
с системой в одном из терминалов, вы можете сделать это нажатием
комбинации клавиш <Ctrl>+<D>. Это не приведет ни к остановке
работы компьютера, ни к перезагрузке системы. Не забывайте, что
Linux – многозадачная и многопользовательская система. Завершение работы одного пользователя не означает, что надо выключать
компьютер. Просто завершается сеанс работы одного из пользователей, и система снова выводит в данном терминале приглашение, которое вы уже видели. Можно завершить сеанс работы и введя одну
из команд logout или exit.
3. Командная строка
Командная строка – это прямой способ для отправки команд
своей машине. Если вы будете использовать командную строку
GNU/Linux, то вы вскоре обнаружите, что она значительно мощнее
и обладает более широкими возможностями, чем любой другой ин-

107
терпретатор команд. Эта мощь доступна благодаря тому, что вы
имеете доступ не только ко всем приложениям X, но также и к тысячам утилит в консольном режиме (в противоположность графическому режиму), которые не имеют графических аналогов, с их многочисленными опциями и возможными комбинациями, достичь которых в виде кнопок или меню было бы труднее.
Зайдите в главное в меню, и вы найдете эмулятор в меню
Стандартные+Терминал. В зависимости от вашего пользовательского интерфейса на панели задач также может существовать значок,
четко его определяющий (Рис. 4).
Рис. 4. Значок терминала на панели KDE
Когда вы запускаете этот эмулятор терминала, на самом деле
вы используете shell. Это название программы, с которой вы работаете. Вы обнаружите перед собой приглашение:
[queen@localhost queen]$
Здесь подразумевается, что ваше имя пользователя – queen, а
ваша машина называется localhost (это в случае, если ваша машина
не является частью существующей сети). Пространство после приглашения предназначено для ввода ваших команд. Обратите внимание, что когда вы root, знак $ в приглашении меняется на # (это верно только в конфигурации по умолчанию, так как в GNU/Linux вы
можете настроить все эти элементы под себя). Для того, чтобы стать
root'ом, наберите su после запуска shell.
[queen@localhost queen]$ su
# Введите пароль root'а; (на экране он не появится)
Password:
# exit (или Ctrl+D) вернет вас назад в вашу обычную учетную
запись пользователя
[root@localhost queen]# exit
[queen@localhost queen]$
Когда вы запускаете shell в первый раз, вы обычно попадаете в
свой домашний каталог home/. Чтобы вывести на экран имя каталога, в котором вы в данный момент находитесь, наберите команду
pwd (которая означает вывести рабочий каталог (Print Working
Directory)):

108
$ pwd
/home/queen
3.1. Команда cd - смена каталога
Команда cd такая же, как и в MS-DOS, но с дополнительными
возможностями. Она выполняет как раз то, что заявлено в ее аббревиатуре – сменяет рабочий каталог. Вы можете использовать « . » и
« .. », которые означают текущий и родительский каталоги соответственно. Запуск cd без параметров вернет вас назад в ваш домашний
каталог. Запуск cd – вернет вас назад в последний посещенный вами
каталог. И, наконец, вы можете указать домашний каталог пользователя peter, набрав cd ~peter (~ сама по себе означает ваш собственный каталог home/). Обратите внимание, что как обычный пользователь, вы, как правило, не можете попасть в каталоги home/ других
пользователей (если только они не разрешили это, или если это не
настройка системы по умолчанию), если вы не root, поэтому давайте
станем root'ом и попрактикуемся:
$ su
Password:
# pwd
/root
# cd /usr/share/doc/HOWTO
# pwd
/usr/share/doc/HOWTO
# cd ../FAQ-Linux
# pwd
/usr/share/doc/FAQ-Linux
# cd ../../../lib
# pwd
/usr/lib
# cd ~peter
# pwd
/home/peter
# cd
# pwd
/root
Теперь вернемся назад в состояние обычного пользователя,
набрав exit (или нажав Ctrl-D).

109
Все процессы имеют свои переменные окружения, а shell позволяет вам увидеть их непосредственно при помощи команды echo.
Некоторые интересные переменные:
1. HOME: эта переменная окружения содержит строку, в которой
отображен путь к вашему домашнему каталогу.
2. PATH: содержит список всех каталогов, в которых shell должен
будет искать исполняемые файлы, когда вы набираете команду.
Обратите внимание, что в отличие от MS-DOS, shell по умолчанию не будет искать команды в текущем каталоге.
3. USERNAME: эта переменная содержит ваше имя логина.
4. UID: эта переменная содержит ваш ID пользователя.
5. PS1: определяет, как будет выглядеть ваше приглашение, и зача-
стую является комбинацией специальных последовательностей.
Для получения дополнительной информации вы можете прочитать bash(1) (страницу руководства), набрав в терминале man
bash.
3.2. Переменные окружения и команда echo
Чтобы shell вывел значение переменной, вы должны указать
перед ее именем знак $. Вот пример с командой echo:
$ echo Hello
Hello
$ echo $HOME
/home/queen
$ echo $USERNAME
queen
$ echo Hello $USERNAME
Hello queen
$ cd /usr
$ pwd
/usr
$ cd $HOME
$ pwd
/home/queen
Как видите, shell подставляет значение переменной перед выполнением команды. В противном случае наш пример cd $HOME
не заработал бы. По сути, командный процессор сначала заменил
$HOME на ее значение (/home/queen), так что строка стала cd

110
/home/queen, чего мы и добивались. То же самое происходит и с
примером echo $USERNAME.
3.3. Команда cat – вывод на экран содержимого файлов
Данная команда выводит содержимое одного или более фай-
лов на стандартный вывод, обычно на экран:
$ cat /etc/fstab
/dev/hda5 / ext2 defaults 1 1
/dev/hda6 /home ext2 defaults 1 2
/dev/hda7 swap swap defaults 0 0
/dev/hda8 /usr ext2 defaults 1 2
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0620 0 0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,exec,nodev,ro 0 0
$ cd /etc
$ cat modules.conf shells
alias parport_lowlevel parport_pc
pre-install plip modprobe parport_pc ; echo 7 > /proc/parport/0/irq
#pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
#alias char-major-14 sound
alias sound esssolo1
keep
/bin/zsh
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
/bin/ash
/bin/bsh
/usr/bin/zsh
3.4. Команда less - пейджер
Название произошло от игры слов, связанной с первым пей-
джером из когда-либо использовавшихся в Unix с именем more
(more – больше; less – меньше). Пейджер (page – страница) – это
программа, которая позволяет пользователю просматривать большие файлы по частям страница за страницей (точнее, экран за экра-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
