Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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 – страница) – это программа, которая позволяет пользователю просматривать боль­шие файлы по частям страница за страницей (точнее, экран за экра-