Операционная система Linux Теоретические сведения - polpoz.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Операционная система Linux Теоретические сведения - страница №1/1




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

Теоретические сведения

Работа с файловой системой Linux


В Linux используется файловая система, похожая на файловые системы других операционных систем UNIX.

Просмотр каталогов

Чтобы увидеть структуру каталогов Linux, выполните команду ls. Она предназначена для вывода листинга каталогов.

Для получения более детальной картины воспользуйтесь командой tree, которая выводит полную структуру файловой системы, начиная от корневого каталога (он называется root и обозначается косой чертой - /). При этом вы увидите все имеющиеся подкаталоги (каталог /usr/src в нашей системе может немного отличаться, все зависит от установленной версии Linux).

Таблица 1. Основные каталоги ОС Linux

Имя

Описание

/

Корневой каталог

/bin

Наиболее важные команды и программы

/boot

Все, что необходимо для загрузки операционной системы, ядро Linux

/dev

Файлы устройств

/etc

Системные конфигурационные файлы

/home

Домашние каталоги пользователей

/lib

Общие библиотеки, модули ядра

/mnt

Это каталог для монтирования локальных и удаленных файловых систем

/opt

Дополнительные программные пакеты

/proc

Информация, касающаяся ядра; управление процессами

/root

Домашний каталог пользователя root

/sbin

Системные команды

/tftpboot

Поддержка сетевой загрузки ОС

/tmp

Временные файлы

/usr

Иерархия вторичных программных файлов

/var

Переменные данные (например, регистрационные журналы); файлы спула (например, принтера)

Навигация и поиск с помощью командного интерпретатора

Для навигации по файловой системе пользуйтесь командой cd (она встроена в командный интерпретатор). Обычно в этой команде задается нужное вам место в структуре каталогов, т.е. путь, например:



$ cd /usr/X11R6/lib/X11/doc

В Linux команда cd может иметь несколько сокращенных вариантов. Например, чтобы быстро перейти в родительский каталог (каталог на один уровень выше текущего), выполните следующую команду cd:



$ cd ..

Для возвращения в свой домашний каталог из любого места в файловой системе можно выполнить такую команду:



$ cd

Для достижения той же самой цели можно воспользоваться знаком тильды:



$ cd ~

Управление файлами

Управлять файлами, расположенными в вашем домашнем каталоге, можно с помощью нескольких легко запоминаемых команд. К основным операциям управления файлами относятся: чтение файла, пересылка, переименование, копирование, поиск и удаление файлов и каталогов. Для этих целей служат следующие команды:



cat filename Отображает на экран одержимое файла при чтении.

less filename Отображает на экран одержимое файла при чтении постранично

mv file1 file2 Переименовывает file1 в file2.

mv file dir Пересылает file в каталог dir.

cp file1 file2 Копирует file1 и создает file2.

rm file Удаляет файл file

rmdir dir Удаляет каталог dir (если он пустой).

grep string file(s) Проводит поиск в файле(ах) file(s) и отображает на экране строки, соответствующие сроке string.

Mkdir dirname Создаёт каталог dirname

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



$ rm abc*

Права доступа к файлам и каталогам


Права доступа к файлам разделяются на три категории: права владельца файла, права группы связанной с файлом, и права всех остальных пользователей. Каждая категория имеет свой набор прав доступа к файлу, которые обеспечивают возможность чтения из файла, записи в файл и его выполнения (или, наоборот, запрещают эти действия). Права доступа называются также режимом доступа к файлу. Режимы доступа к файлу устанавливаются с помощью команды chmod.

Вы можете проверить, какие права по умолчанию установлены для файла, который вы создали. Для этого можно воспользоваться командой uname. Ниже дан практический пример создания файла с помощью команды touch и проверки прав доступа к нему с помощью команды ls:



$ touch file

$ ls –l file

-rw-rw-r-- 1 bbal bball 0 jul 23 12:28 file

Рассмотрим вывод команды ls подробнее.



  • Права доступа к файлу представляют собой группу символов: -rw-rw-r--. Первый символ (-) указывает на тип объекта. Дефис говорит о том, что это обычный файл, d означает каталог, c – символьное устройство, b указывает на блок-ориентированное устройство.

  • Права доступа указываются последовательно – для пользователя, группы и всех остальных. Отсутствие права на какой-либо вид доступа обозначается знаком дефиса. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение.

  • Далее следует число ссылок на данный файл.

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

  • Группа, к которой принадлежит пользователь. Обычно члены этой группы имеют более свободные права доступа к файлу, в отличие от всего остального мира.

  • Размер файла и дата его создания (модификации).

Назначение прав доступа

Права доступа к объекту могут быть заданы двумя способами: в цифровой или в буквенной форме. При использовании буквенной формы эти три категории обозначаются так: u – пользователь (владелец), g – группа, o – остальные и a – все эти категории вместе. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение. Комбинации r, w и x для трех категорий и являются правами доступа к файлу:

User Group Others

rwx rwx rwx

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


  • 4 означает право на чтение;

  • 2 означает право на запись (модификацию);

  • 1 означает право на выполнение.

Предыдущий пример (-rw-rw-r--) в восьмеричной нотации записывается короче – 664. Получается это число просто: старший разряд – права владельца файла, т.е. чтение и запись (4+2), далее идет группа (4+2) и весь остальной мир (только чтение – 4).

Права доступа к каталогам

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

$ mkdir foo

$ ls –ld foo

drwxrwxr-x 2 bball bball 4096 jul 23 12:37 foo

В данном примере команда mkdir создает каталог. Команда ls с параметром ld отображает разрешения на доступ и иную информацию, касающуюся этого каталога в целом, но не его содержание. Здесь можно видеть, что права доступа к каталогу имеют значения 775 (владелец имеет все права 4+2+1, группа также все права, а весь остальной мир не может ничего изменять в нем 4+1).

Отсюда видно, что владелец и члены группы могут выводить содержание каталога и записывать в него. Все остальные пользователи могут только выводить содержание каталога. (Чтобы увидеть содержание каталога, необходимо иметь разрешение на выполнение).

Вы заметили, что в выходных данных команды ls в правах доступа стоит первой буква d. Это значит, что данный файл является каталогом; у обычного файла на этом месте стоит пробел. Другие буквы указывают на специальный тип файла. Например, если с помощью команды ls вывести информацию о файле устройства для последовательного порта, то можно увидеть следующее:



$ ls –l /dev/ttyS0

crw-rw---- 1 root uucp 4,64 Mar 23 23:38 /dev/ttyS0

Файл /dev/ttyS0 представляет символьное устройство (последовательный порт); владеет данным файлом пользователь root и этот файл доступен также любому члену группы uucp. Права доступа к файлу имеют значения 660 (чтение+запись, чтение+запись, нет прав).

Изменить права доступа к файлу можно с помощью команды chmod. Чтобы задать желаемое изменение в этой команде используют разные формы записи, включая восьмеричную и мнемоническую. В мнемонической форме параметры команды chmod обозначают следующее (со знаком плюс (+) они используются для добавления права на доступ, со знаком минус – для их удаления):

u Добавить (или удалить) право на какую-либо операцию с файлом (каталогом) для юзера.

g Добавить (или удалить) право для группы.

o Добавить (или удалить) право для всех остальных.

a Добавить (или удалить) право всем пользователям (all).

r Добавить (или удалить) право на чтение.

w Добавить (или удалить) право на запись.

x Добавить (или удалить) право на выполнение.

Из комбинации этих слов и складывается указание о том, как следует изменить права

доступа. Например, если создать файл, скажем, readme.txt, то для этого файла будут установлены разрешения, используемые по умолчанию (они определяются маской unmask в файле /etc/bsdhrc);



-rw-rw-r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Допустим, мы хотим запретить всем без исключения пользователям модифицировать этот файл. Сделать это можно с помощью команды Chmod:



$ chmodaw readme.txt

$ ls –l readme.txt

-r--r--r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Теперь никто не сможет записывать в файл. Впрочем, владелец, если файл находится в его домашнем каталоге или каталоге /tmp, сможет изменять этот файл – поскольку имеет право на доступ к этим каталогам. Чтобы восстановить право на чтение и запись для владельца, можно выполнить такую команду:



$ chmod u+rw readme.txt

$ ls –l readme.txt

-rw------- 1 bball bball 12 Oct 2 16:48 readme.txt

Чтобы только владелец мог читать файл и записывать в него, можно также использовать восьмеричную форму записи командой chmod. Для этого необходимо выполнить команду chmod со значениями прав доступа, равными 600:



$ chmod 600 readme.txt

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


Работа в качестве root


В UNIX и Linux пользователь root, суперпользователь, ­– это царь и бог в системе. У него специальная учетная запись, которая разрешает ему делать все, что ему заблагорассудится. После регистрации в качестве пользователя root, вы имеете возможность полностью разрушить работающую систему просто вызвав команду rm:

# rmfr /

Эта команда не только удалит все файлы и каталоги на вашей машине, но может также стереть файловые системы даже на удаленных компьютерах. Только эта возможность уже является достаточной причиной для соблюдения особой осторожности во время работы с правами доступа пользователя root.

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

Добавление пользователей

Чтобы быстро добавить пользователя, выполните команду useradd и задайте в ней имя пользователя:



# useradd winky

После добавления пользователя необходимо с помощью команды passwd ввести начальный пароль для этого пользователя:



# passwd winky

Changing password for user winky.

New password:

Retype new password:

Passwd: all authentication tokens updated successfully.

Если для нового пользователя не ввести начальный пароль, то он не сможет зарегистрироваться и войти в систему. Чтобы увидеть используемые по умолчанию параметры для нового пользователя, выполните команду useradd с парметром –D:



# useradd –D

Group=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKELL=/etc/skel

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



Удаление пользователей

Для удаления учетной записи используется команда userdel. Эта команда удаляет запись, принадлежащую данному пользователю, из системного файла /etc/passwd. Чтобы удалить все его файлы и каталоги (например, файл почтовой очереди в каталоге /var/spool/mail), следует воспользоваться параметром -r:



# userdelr winky

В противном случае вам придётся вручную удалять все эти файлы.



Выключение системы

Для выключения системы используйте команду shutdown. Эта команда имеет некоторое число опций, позволяющих например, выключить машину в заранее определенное время. Но если нужно выключить машину немедленно, можно воспользоваться опциями –h или halt:

# shutdown –h now

Или


# shutdown –h 0

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



Перезагрузка системы

Для перезагрузки системы также можно воспользоваться командой shutdown. Если необходимо перезагрузить систему, воспользуйтесь опцией –r (reboot); для немедленной перезагрузки укажите после опции now или 0 (ноль):



# shutdown –r now

Или


# shutdown –r 0

Другими командами, которые можно использовать для выключения системы и её перезагрузки, являются halt и reboot.



Практические задания


Задание 1. Запустить Linux.

Задание 2. Запустить консоль Linux и войти в систему под пользователем root.
В результате откроется окно программы-оболочки Bash. Это окно очень напоминает командную строку Windows. В окне этой программы вы видите приглашение:

[user@localhost ~]$

Введите после приглашения команду su:



[user@localhost ~]$ su

В результате приглашение примет такой вид:

[root@localhost user]#

Здесь символ «#» в командной строке указывает на то, что вы работаете из под пользователя root.

Введите команду whoami (эта команда сообщает имя, с которым вы вошли в систему).

Завершите работу пользователя root в системе. Для этого наберите в командной строке exit.



Задание 3. Добавьте в систему нового пользователя.

Войдите в систему под пользователем root.

Добавьте в систему пользователя с именем student (используйте команды useradd и passwd):

Useradd student

Passwd student

После ввода команды passwd student, на экране появится сообщение:



Enter new password:

Вы должные задать пароль для пользователя (не менее 5 символов) и нажать . Обратите внимание, что при вводе пароля, он не отображается на экране. После этого выведется сообщение:



Re-enter new password:

Вы должны ещё раз ввести тот же самый пароль, который был вами задан для пользователя student. После нажатия на клавишу на экран выведется:



Password changed.

Итак, вы зарегистрировали нового пользователя в системе и задали ему пароль, теперь можно зайти под этим пользователем, воспользовавшись командой login:



[root@localhost ~] # login

Box login: student

Password:

После ввода пароля вы увидите приглашение: [student@localhost ~] $

Введите команду whoami и убедитесь в том, что вы зашли в систему из-под пользователя student.

Для завершения работы с пользователем воспользуйтесь командой logout.



Задание 4. Перейти в корневой каталог и просмотреть его содержимое

  • Перейдите в корневой каталог:

cd /

  • Просмотрите его содержимое командой ls либо dir (см. рис. 3).

Рис. 3. Результат выполнения команды ls

Можно использовать команду ls с дополнительными опциями:

lsl

Задание 5. Ознакомьтесь с файловым менеджером Midnight Commander.


  • Запустите оболочку Bash.

  • Наберите в консоли команду mc.

Рис. 4. Окно программы Midnight Commander



В результате откроется окно программы Midnight Commander, очень похожей на Norton Commander и FAR Manager (см. рис. 4). Рассмотрим основные элементы окна этой оболочки. Большую часть окна занимает левая панель, правая панель. Ниже этих панелей располагается строка, позволяющая вводить команды Linux. Ещё ниже располагается строка, содержащая краткое напоминание о назначении функциональных клавиш (говорят также «горячих») программы. В верхней части окна располагается строка меню. Рассмотрим назначение некоторых клавиш и клавиатурных команд, применяемых при работы с Midnight Commander:

Таблица 3. Назначение клавиш оболочки Midnight Commander

Клавиши

Назначение

TAB

переключение между панелями

F3

просмотр файла

F4

редактирование файла

F5

копирование файла

Клавиши

Назначение

F6

переименование (перемещение) файла

F7

создание каталога

F8

удаление файла

F9

активизация меню

F10

выход и командной оболочки

CTRL+O

убрать обе панели

CTRL+U

поменять панели местами

Insert

пометка файлов

серый плюс

выбор группы файлов (работает при включенном режиме Num Lock)

Для выбора файла в панели можно использовать клавиши управления курсором (стрелки), Page Up, Page Down.

Используя описанные в табл. 3 команды выполните следующие действия:

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

  • Перейдите в корневой каталог. Для того чтобы переходит в родительский каталог, необходимо выбирать подсветкой пункт /..

  • Перейдите в каталог /home

  • Создайте в каталоге /home подкаталог student.

  • Скопируйте в каталог /home/student каталог ~home (он находится в корневом каталоге /)

  • Выйдите из Midnight Commander, нажав F10.

Задание 6. Навигация по файловой системе из командной строки.

  • Запустите программу оболочку bash.

  • Зайдите в каталог /home/student с помощью команды cd:

[user@localhost ~]$: cd /home/student



  • Перейдите в корневой каталог:

home/student$ cd /



  • Перейдите в домашний каталог (домашний каталог обозначается символом «тильда» ~):

[user@localhost ~]$ cd ~

Задание 7. Работа с сетевыми утилитами

В Linux имеется множество утилит для работы с сетью. Рассмотрим некоторые из них.



  • Запустите консоль. Зайдите под пользователем root.

  • Выполните команду ifconfig (название команды происходит от «Interface Confuguration»). Для этого наберите в командной строке ifconfig и нажмите .

  • С помощью команды можно также менять ip-адрес для сетевой карты. Наберите следующую команду:

[/home/dsl]# ifconfig eth0 192.168.192.130

В результате ip-адрес вашего компьютера будет 192.168.1.130. Чтобы убедиться в этом наберите команду ifconfig ещё раз:

[/home/dsl]# ifconfig

Рис. 5. Результат выполнения команды ifconfig

Eth0 – это обозначение сетевой карты (интерфейс Ethernet).

Если сетевых карт несколько, то остальные сетевые карты обозначаются eth1, eth2…



  • «Пропинговать» какой-либо узел (то есть проверить работоспособность протоколов TCP/IP на компьютере) можно командой Ping. Например:

[/home/dsl]# ping 192.168.192.130.

В результате на указанный узел будут отправляться пакеты до тех пор, пока не будет нажата комбинация клавиш Ctrl+C.



Задание 8. Получение справки по командам.

  • Откройте консоль.

  • Получите справку по команде cd. Для этого введите в командной строке help cd

  • Аналогичным образом получите справку для команд: dir, su, help.

Задание 9. Перезагрузка и выключение компьютера (Перед выполнением задания покажите преподавателю результаты вашей работы по заданиям 1-9).

  • Перезагрузите компьютер. Для этого откройте оболочку bash. Зайдите под пользователем root. Введите в командной строке reboot.

Вновь запустите Linux. Откройте оболочку bash и выключите компьютер командой halt.
Контрольные вопросы

  1. Какие основные каталоги содержаться в корневом каталоге в Linux?

  2. Какую команду необходимо использовать, чтобы просмотреть содержимое каталога?

  3. Как войти в систему Linux? Как добавить, удалить нового пользователя?

  4. Как завершить работу с системой Linux?

  5. Для чего предназначена программа Midnight Commander?

  6. Почему нужно быть особенно осторожным при работе в системе Linux под пользователем root?

  7. Что означают права доступа к файлу, обозначенные числом 762?

  8. Какие команды нужно знать, чтобы добавить пользователя в систему?

  9. Как удалить пользователя в Linux?


Контрольный тест по теме «Операционная система Linux»

Время выполнения: 10 минут

Критерии оценки:

Оценка “5” – вопросов



Оценка “4” – вопросов

Оценка “3” – вопросов

Оценка “2” – менее


  1. Какой каталог Linux содержит наиболее важные программы и команды?

а) /bin б) /dev в) /lib г) /mnt

2. Какие действия выполняет следующая команда?

mv file1 file2

а) копирует file1 и создаёт file2; б) переименовывает file1 в file2;

в) создаёт file2 и удаляет file1; г) сравнивает file1 и file2

3. Выберите верное утверждение?



а) Для добавления пользователя в систему достаточно команды useradd.

б) Чтобы добавить пользователя в систему используются две команды useradd и passwd.

в) Чтобы добавить в систему нового пользователя не обязательно иметь права пользователя root.

г) Для удаления пользователя используется команда deluser.

4. Какую из перечисленных команд необходимо использовать, чтобы перезагрузить компьютер?



а) halt

б) shutdown

в) reboot

г) shutdown –h 0

5. Как обозначается домашний каталог?



а) / б) ~ в) .. г) $







izumzum.ru