Вы находитесь на странице: 1из 8

Комп’ютерний практикум №2 (2.

1/4)

Робота з зовнішніми носіями інформації

1. Робота з файлами.

1.1 Команда chmod (change file mode — сменить режим файла) предназначена для


смены/установки значений прав доступа к файлам в Unix-подобных операционных системах.
Синтаксис команды:
команда установка_значений имя_файла
Установка значений прав командой chmod может осуществляться двумя способами.
1. В первом случае права устанавливаются с использованием трех групп символов.
В первой группе указывается, кому будет предоставляться или запрещаться доступ:
владельцу (u), группе (g), другим (o) или всем (a). Можно указать как одну, так сразу
несколько категорий.
Вторая группа всегда состоит из одного символа (-, + или =), который обозначает, что
конкретно будет делаться со значениями прав (запрещаться, разрешаться или назначаться).
В третьей группе перечисляются права, значения которых подвергаются изменениям:
чтение (r), запись (w), исполнение (x). Можно указывать сразу несколько прав.
Примеры использования команды chmod:
chmod g+w hello.c (группе разрешается изменять файл)
chmod a-wx a.out (всем запрещается изменять и выполнять файл)
chmod go=rw docu.odt (группе и всем остальным устанавливаются разрешения на чтение и запись)
2. Чаще используется второй способ использования команды chmod, когда предоставляемые
права выражаются одной цифрой для каждой категории граждан. Цифры обозначают
следующее:
7 — разрешено чтение, запись и исполнение
6 — разрешены только чтение и запись
5 — разрешены только чтение и исполнение
4 — разрешено только чтение
0 — ничего не разрешено
Почему используются именно такие цифры можно узнать здесь: числовой способ записи
прав доступа к файлам в Linux.
Примеры использования команды chmod:
chmod 660 hello.c (только владелец и группа могут читать и изменять файл)
chmod 555 a.out (для всех категорий возможно только чтение и исполнение)
chmod 777 docu.odt (для всех всё разрешено)
 

1.2. Команда ln — створення посилань.


Для создания ссылок используется команда ln:

ln file.txt linkl 
ln -s file.txt link2
Первая команда создает жесткую ссылку linkl, ссылающуюся на текстовый файл file.txt.
Вторая команда создает символическую ссылку Iink2, которая ссылается на этот же
текстовый файл file.txt.
Модифицируя ссылку (все равно какую - linkl или Iink2), вы автоматически
модифицируете исходный файл - file.txt.
Особого внимания заслуживает операция удаления. По идее, если вы удаляете ссылку
Iink2, файл file.txt также должен быть удален, но не тут-то было - вы не можете его
удалить до тех пор, пока на него указывает хоть одна жесткая ссылка. При удалении
ссылки Iink2 просто будет удалена символьная ссылка, но жесткая ссылка и сам файл
останутся. Если же вы удалите ссылку linkl, будет удален и файл file.txt, поскольку на
него больше не ссылается ни одна жесткая ссылка.

2. Робота з зовнішніми носіями.

2.1. Утіліта cfdisk - створення розділів на носії.


cfdisk - Основанное на экранных меню средство работы с разделами диска
под Linux

cfdisk [ -avz ] [ -c цилиндров ] [ -h головок ] [ -s секторов на дорожку


] [ -P opt ] [ устройство ]

ОПИСАНИЕ

cfdisk - это основанная на экранных меню программа для формирования


разделов (partition) жесткого диска. Устройство может быть любым из
числа следующих:

/dev/hda [умолчание] /dev/hdb /dev/sda /dev/sdb /dev/sdc /dev/sdd

Главный экран разбит по вертикали на четыре секции: заголовок, разделы диска,


командная строка и строка сообщений. Заголовок содержит имя программы с номером
версии и имя устройства с его геометрией. Секция разделов диска всегда
показывает текущую таблицу разделов. Командная строка - это место
для ввода команд и текста. Допустимые команды обычно приведены в квадратных
скобках. Строка сообщений обычно пуста, пока не потребуется выдать
важное сообщение. Текущий раздел обычно выделен дополнительным цветом
(или стрелкой, если была задана орция -a). Все команды, относящиеся
к разделам, применяются к текущему разделу.

Таблица разделов (the partition table) представлена в секции разделов


диска в следующем виде (слева направо): Имя, Флаги, Тип раздела, Тип
файловой системы, Размер. Имя - это имя раздела на устройстве. Флаги
могут быть Boot, что означает загрузочный раздел, NC, что означает
несовместимость с DOS исл OS/2". DOS, OS/2 и возможно другие операционные
системы требуют, чтобы первый сектор первого раздела диска и все логические
разделы начинались со второй головки.

КОМАНДЫ

Команды cfdisk можно ввести, нажав на соответствующую клавишу


(нажимать Enter после команды необязательно). Приводим список доступных
команд:

b Переключить флаг bootable (загрузочный) текущего раздела. Это позволяет


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

d Удалить текущий раздел, Это преобразует раздел в свободное пространство


и объединит со свободным пространством, непосредственно примыкавшим
к разделу. Раздел, уже помеченный как свободное пространство или как
неиспользуемый (unusable) не может быть удален. g Изменить геометрию
диска (количество цилиндров, головок, секторов на дорожку). ВНИМАНИЕ:
эту команду можно использовать только тому, кто понимает, что он делает.
Опция изменения геометрии диска доступна и из командной строки. Из
командной строки можно задать количество цилиндров (c), головок (h),
секторов на дорожке (s). Значение по умолчанию будет выведено в приглашении
(prompt) командной строки, и его можно принять нажатием Enter или
же можно выйти без изменений по клавише ESC. Если вы хотите изменить
умалчиваемое значение, просто введите желаемое значение и нажмите
Enter. Измененные параметра диска не действуют, пока вы не вернетесь
в главное меню (нажатием Enter или ESC в командной строке изменения
геометрии диска. Если вы измените геометрию диска таким образом, что
диск фактически окажется больше, лишние сектора будут добавлены в
конце как свободное пространство. Если же диск окажется меньше, то
разделы, находящиеся за новым последним сектором удаляются, а последний
раздел на диске (или свободное пространство в конце диска) заканчивается
на новом последнем секторе.

h Вывести экран подсказки.

m Максимизировать использование диска в данном разделе. Эта команда


подключит неиспользуемое пространство между таблицей разделов и началом
раздела, но ценой потери совместимости с DOS, OS/2 и, возможно, другими
операционными системами. Опция переключает между максимальным использованием
диска и совместимостью с DOS, OS/2. Умолчанием при создании разделов
является совместимость с DOS и OS/2.

n Создать новый раздел из свободного пространства. Если тип раздела


Primary или Logical, то создастся раздел именно этого типа, но если
тип раздела - Pri/Log, вас запросят о типе, который вы хотите создать.
Имейте в виду, что (1) доступны только четыре блока для первичных
разделов и (2) поскольку может быть только один расширенный (extended)
раздел, который содержит все логические устройства, логические устройства
должны идти последовательно (не перемежаясь первичными разделами).
После этого cfdisk запросит вас о размере раздела, который вы хотите
создать. Размер данного раздела, по умолчанию равный имеющемуся свободному
пространству, выводится в мегабайтах. Вы можете либо нажать клавишу
Enter, чтобы принять значение по умолчанию, либо ввести другой размер.
cfdisk принимает размер, указанный в мегабайтах (М) [умолчание], килобайтах
(К), цилиндрах (С) и секторах (S), для чего следует ввести число,
и сразу за ним - одно из (M, K, C или S). Если раздел занимает все
свободное место, то после создания раздела вы возвращаетесь к главной
командной строке. В противном случае раздел может быть создан в начале
или в конце свободного пространства и программа спросит вас, где разместить
раздел. После создания раздела, если все первичные разделы уже заняты,
cfdisk автоматически выверяет типы других разделов.

p Печать таблицы разделов на экран или в файл. Формат таблицы разделов


можно выбирать из нескольких вариантов:

r В виде сырых данных (ровно то, что будет записано на диск)

s Как таблица разделов, расположенная по порядку секторов

t Как таблица разделов в сыром виде

Печать в формате сырых данных выдаст сектора, которые будут писаться


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

Таблица разделов по порядку секторов - это печать таблицы разделов,


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

Если начало или конец раздела не совпадают с границей цилиндра, или


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

Для первого раздела на диске и для всех логических разделов, если


смещение от начала до раздела не равно числу секторов на дорожке
( т.е. данные не начинаются на первой головке), после смещения печатается
знак номера (#). Для остальных разделовзнак номера печатается после
смещения, если смещение ненулевое, Это соответствует флагу NC в
секции разделов главного экрана.

При печати в виде Таблицы разделов в сыром формате будут выведены


таблицы разделов, упорядоченные по номерам разделов. Это выявит
все свободное и неиспользуемое пространство. Слева направо идут
поля: номер раздела, флаги (шестнадцатеричные), начальные головка,
сектор и цилиндр, идентификатор (ID) файловой системы (шестнадцатеричный),
последние головка, сектор и цилиндр, стартовый сектор раздела и
количество секторов в разделе. Информация в этой таблице может быть
непосредственно переведена в формат сырых данных.

В таблице разделов только по 10 бит отведено под номера стартового


и конечного цилиндров. Поэтому, если стартовый (конечный) сектор
имеет абсолютный номер больше 1023, выводятся максимальные значения
для стартовых (конечных) головки, цилиндра и сектора. Этот метод
используется в OS/2, и ликвидируется ошибка при изменении таблицы
разделов при помощи fdisk OS/2. Когда Linux и OS/2 используют абсолютную
нумерацию секторов, значения стартовых и конечных головок, секторов
и цилиндров не используются.

q Выйти из программы (Quit). Выход из программы без записи каких-либо


данных на диск.

t Изменить тип файловой системы. По умолчанию, новые разделы создаются


как разделы Linux partitions, но cfdisk может создавать разделы для
лругих операционных систем, и можно ввести шестнадцатеричное значение
типа требуемой файловой системы. Список известных типов файловой системы
выодится на экран. Можно ввести тип файловой системы в командной строке
или выбрать систему [Linux] по умолчанию.

u Сменить единицы измерения размеров раздела. Поочередно устанавливаются


мегабайты, сектора и цилиндры.

W Записать (Write) таблицу разделов на диск (вводите заглавную W).


Поскольку данные на диске могут быть разрушены, от вас потребуется
потвердить или отвергнуть запись, введя соответственно `yes' или `no'.
Если вы наберете `yes', cfdisk запишет таблицу разделов на диск и
сообщит ядру о необходимости заново считать таблицу разделов с диска.
Это повторное считывание таблицы разделов с диска в большинстве случаев
срабатывает, но мне встречался случай неудачи. Не пугайтесь. Все будет
в порядке после перезагрузки системы. В любом случае советую перезагрузить
систему - так спокойнее.
Стрелки_вверх/вниз Передвинуть курсор на предыдущий или следующий раздел.
Если разделов больше, чем может уместиться на экране, можно высветить
следующую(предыдущую) группу разделов двигаясь вниз (вверх) от последнего
(первого) раздела на экране.

2.2. Команда mkfs — створення файлових систем в розділі.


Для создания файловых систем в Linux используется команда mkfs, а для создания
области подкачки – команда mkswap. Фактически команда mkfs представляет собой внешний
интерфейс к нескольким командам для работы с файловой системой, таким
как mkfs.ext3 для ext3 и mkfs.reiserfs – для ReiserFS.
Существует несколько общих опций для всех команд mkfs. Опции, специфичные для
создаваемой файловой системы, передаются соответствующей команде в зависимости от
типа файловой системы, указанному в опции -type. В наших примерах используется
команда mkfs -type, но можно использовать и другие равнозначные формы этой команды.
Например, можно использовать форму mkfs -type ext2, mk2fs или mkfs.ext2. Для вызова
справочных man-страниц по какой-либо определенной файловой системе используйте в
качестве имени соответствующую команду mkfs, например, man mkfs.ext3. Многие
значения, выводимые в наших следующих примерах, могут управляться различными
опциями mkfs.
Давайте отформатируем раздел /dev/sda8 в файловой системе ext3 с помощью
команды mkfs, как показано в листинге 12.
Листинг 12. Создание файловой системы ext3
[root@echidna ~]# mkfs -t ext3 /dev/sda8
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2624496 inodes, 10488429 blocks
524421 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
321 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or


180 days, whichever comes first. Use tune2fs -c or -i to override.

Обратите внимание на то, что для файловой системы ext3 был создан журнал.

2.3. Команда монтування файлової системи mount.


В качестве параметров команде mount надо, как минимум, указать устройство и "точку
монтирования". Точкой монтирования называется тот каталог в уже существующем и
известном системе дереве каталогов, который будет теперь служить корневым
каталогом для подключаемой файловой системы. Пример: команда
[root]# mount /dev/hdb1 /mnt/disk2

подсоединяет файловую систему первого раздела на втором жестком диске к


каталогу /mnt/disk2 (этот каталог должен существовать!).
Отметим, что после монтирования файловой системы в каталог /mnt/disk2 прежнее
содержимое этого каталога станет для вас недоступно (так же, как информация о
прежнем владельце и правах доступа к этому каталогу) до тех пор, пока вы не
размонтируете вновь подключенную файловую систему. Прежнее содержимое не
уничтожается, а просто становится временно недоступным. Поэтому в качестве точек
монтирования лучше использовать пустые каталоги (заранее заготовленные).

3. Автомонтування.

Конфигурационный файл /etc/fstab используется в основном для того,


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

 имя устройства. В качестве имени может использоваться как имя


локального устройства, например, /dev/hda5, так и путевое имя сетевой
файловой системы NFS, например, pc21:/home/jim, что указывает на
каталог /home/jim на машине с именем pc21;
 точка монтирования (полное имя каталога, в который будет
монтироваться файловая система);
 тип файловой системы;
 опции монтирования (по умолчанию подразумевается rw - чтение,
запись);
 уровень дампа. Это поле используется программой dump,
предназначенной для создания резервных копий. Если файловая система
должна участвовать в процессе резервного копирования, то здесь должно
стоять число 1, если нет - 0. Возможны и другие значения (см.
руководство к программе dump);
 порядок (приоритет) проверки файловых систем программой fsck.
Системы с меньшими значениями этого поля проверяются раньше.
Системы с одинаковыми номерами проверяются, если это возможно,
параллельно.

В настоящее время Linux поддерживает следующие типы файловых систем


(см. страницу man fs, где дано их краткое описание): minix, ext, ext2, xia, msdos,
umsdos, vfat, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs. Вместо типа файловой
системы в поле "тип файловой системы" (и в опции -t команды mount) можно
задать значение auto. В таком случае команда mount попытается
самостоятельно определить тип монтируемой файловой системы. Однако это
во многих случаях приводит к ошибкам, поэтому лучше указать тип явно.
Можно перечислить несколько типов (через запятую). В команде mount можно
также вначале задать список типов файловых систем, которые не надо
монтировать. Этот список задается с помощью флага no. Такая возможность
может оказаться полезной в том случае, когда используется команда mount с
аргументом -a. По этой команде производится монтирование всех файловых
систем, перечисленных в файле /etc/fstab. С помощью дополнительного
аргумента -t type в этом случае можно ограничиться монтированием файловых
систем только определенного типа, а с помощью флага no можно указать типы,
которые не надо монтировать.
ЗАВДАННЯ

1. Робота з файлами.
1.Створіть текстовий файл [прізвище англійською].txt в домашньому
каталозі користувача.
2. За допомогою команди ls -l передивіться вміст домашнього каталогу.
Вивчіть інформацію команди щодо файлу.
3. За допомогою команди chmod (1.1. теоретичної частини) змініть права
доступу до файлу по відношенню до власника файлу, члена групи,
стороннього. Застосуйте різні варіанти використання команди.
4. В домашньому каталозі користувача створіть дочірній каталог HARD2, в
якому створіть друге жорстке посилання на файл під назвою hard_link2 (п.1.2).
Доведіть наявність двох жорстких посилань за допомогою команди ls -l.
5. Створіть домашньому каталозі користувача каталог SIM, в якому
створіть символьне посилання simbol_link на файл. Продемонструйте роботу
символьного посилання, відкривши створений файл.
6. Перевірте зв’язок усіх посилань з одним номером індексного
дискриптора файлу командою ls -i.

2. Робота із зовнішнім жорстким диском.

1. Вимкніть віртуальну машину та підключіть додатковий HDD:


– створіть новий віртуальний диск;
– інтерфейс SCSI (незалежний режим не застосовувати);
– максимальний розмір 1Гб (зафіксувати як один файл);
– назва — HDD2.
2. Увімкніть віртуальну машину під обліковим записом адміністратора. За
допомогою команди fdisk -l визначіть назву файлу, який створений для
роботи з новим HDD.
3. Ознайомтесь з функціями утіліти cfdisk (п.2.1).
4. Запустіть утіліту, вказавши в якості параметру шлях до файлу-пристрою
HDD2. Створіть на HDD2 один логічний розділ типу Linux. Зафіксуйте
назву файлу-пристрою, створеного для роботи з цим розділом.
Перевірте створення нового розділу командою fdisk -l.
5. Ознайомтесь з синтаксисом команди створення файлової системи mkfs
(п.2.2). За допомогою цієї команди створіть файлову системи ext3 на
створеному логічному розділі НDD2.
6. Створіть каталог HDD2 у каталозі /mnt для подальшого монтування
створеної файлової системи до загального дерева каталогів.
7. Ознайомтесь з синтаксисом команди монтування mount (п.2.3). Здійсніть
монтування створеної файлової системи ext3 в точку монтування
/mnt/HDD2.
8. Перевірте монтування командою df. Створіть у каталозі /mnt/HDD2
файл. Продемонструйте можливість "зайти" в каталог HDD2 за
допомогою файлового менеджера.
9. Здійсніть розмонтування файлової системи командою
umount /mnt/HDD2. Перевірте виконання цієї операції командою df.

3. Автомонтування при завантаженні (п.3).

Контрольні питання.

1. Що таке жорстке посилання. На що воно вказує.


2. Що відображує "логічна сторона" файлової системи.
3. Що відображує "фізична сторона" файлової системи.
4. Що таке символьне посилання.
5. Що таке віртуальна консоль.
6. Що таке обліковий запис користувача.
7. Функції командного інтерпретатора.
8. Що означають види доступу (читання r, запис w, використання x) по
відношенню до звичайного файлу.
9. Що означають види доступу (читання r, запис w, використання x) по
відношенню до каталогу.
10.Порядок визначення ролі процесу (u,g,o) при спробі звернення до файлу.