Лабораторная работа №5 - Работа с файлами в ОС LINUX

Лабораторная работа №2 по дисциплине «Операционные системы»

Работа с файлами в операционной системе Linux

Общие сведения

Методические указания

Задания

Цель:

1. познакомиться с некоторыми возможностями по управлению файлами командного интерпретатора операционной системы Linux;

2. изучить основные команды для работы с файлами в операционной системе Linux.

Краткое описание

В рамках данной лабораторной работы студенты:

· изучат базовые команды для работы с файлами в операционной системы Linux;

· закрепят знания, полученные при изучении Методических указаний, посредством формирования базовых умений работы с файлами в операционной системе Linux в рамках выполнения учебных заданий.

Оборудование:

Подключенный к локальной сети университета компьютер, работающий под управлением операционной системы Linux.

К содержанию

Методические указания

1. Начало работы

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

· включить компьютер;

· ввести логин: user4 (user5)

· ввести пароль: user4 (user5)

 После загрузки операционной системы ЛИНУКС:

1) в режиме командной строки - работать с интерпретатором Shell;

2) в графическом режиме - панель задач, кнопка "К" (аналог "Пуск" в Windows)/ пункт меню "Debian"/Х-Терминал/КОНСОЛЬ.

К содержанию

2 . Особенности управления доступом к файл ам в операционной систем е Linux

В ОС LINUX файлами считаются:

· обычные файлы;

· каталоги;

· специальные файлы, соответствующие периферийным устройствам ( каждое устройство представляется в виде файла).

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

Текущий каталог - это каталог, в котором в данный момент находится пользователь. При наличии прав доступа пользователь может перейти после входа в систему в другой каталог.

Текущий каталог обозначается точкой (.) ;

Родительский каталог , которому принадлежит текущий, обозначается двумя точками (..) .

Домашний каталог пользователя обозначается ~

Полное имя файла может включать имена каталогов, включая корневой, разделенные косой чертой, например: /home/student/file.txt.

Первая косая черта обозначает корневой каталог, и поиск файла будет начинаться с него, а затем в каталоге home, затем в каталоге student. Один файл можно сделать принадлежащим нескольким каталогам.

В LINUX различаются 3 уровня доступа к файлам и каталогам:

· доступ владельца файла;

· доступ группы пользователей, к которой принадлежит владелец файла;

· остальные пользователи.

Для каждого уровня существуют свои байты атрибутов, значение которых расшифровывается следующим образом:
r - разрешение на чтение;
w - разрешение на запись;
x - разрешение на выполнение;
- - отсутствие разрешения.
Первый символ байта атрибутов определяет тип файла и может интерпретироваться со следующими значениями;
- - обычный файл;
d - каталог;
l - символическая связь;
в - блок-ориентированный специальный файл, который соответствует таким периферийным устройствам как накопители на магнитных дисках;
с - байт-ориентированный специальный файл, который может соответствовать таким периферийным устройствам как принтер, терминал.

В домашнем каталоге пользователь имеет полный доступ к файлам ( r ead , w rite , execute ; атрибуты обозначаются соответственно r,w,x).
После байтов атрибутов на экран выводится следующая информация о файле:
- число связей файла;
- имя владельца файла;
- размер файла в байтах;
- дата создания файла (или модификации);
- время;
- имя файла.
Символическая связь является особым видом файла, в котором хранится имя файла, на который символическая связь ссылается. LINUX работает с символической связью не так, как с обычным файлом, например, при выводе на экран содержимого символической связи появятся данные файла, на который эта символическая связь ссылается.

К содержанию

3 . Различные команды по работе с файл ами в операционной систем е Linux

Формат команд в ОС LINUX следующий:

имя команды [аргументы] [параметры] [метасимволы].

Имя команды может содержать любое допустимое имя файла;

аргументы - одна или несколько букв со знаком минус (-);

параметры - передаваемые значения для обработки; метасимволы интерпретируются как специальные операции.

метасимволы - символы, имеющие специальное значение для командного интерпретатора:

? * ; & ( ) | ^ < > <пробел> <табуляция> <возврат_каретки>

Однако каждый из этих символов может представлять самого себя, если перед ним стоит \. Все символы, заключенные между кавычками ' ', представляют самих себя. Между двойными кавычками (") выполняются подстановки команд и параметров , а символы \, `," и $ могут экранироваться предшествующим символом \.

После всех подстановок в каждом слове команды ищутся символы *,?, и [. Если находится хотя бы один из них, то это слово рассматривается как шаблон имен файлов и заменяется именами файлов, удовлетворяющих данному шаблону (в алфавитном порядке). Если ни одно имя файла не удовлетворяет шаблону, то он остается неизменным. Значения указанных символов:

*

любая строка, включая и пустую

?

один любой символ

[...]

любой из указанных между ними символов. Пара символов, разделенных знаком -, означает любой символ, который находится между ними, включая и их самих. Если первым символом после "[" идет "!", то указанные символы не должны входить в имя файла.

ln <имя файла 1> <имя файла 2>

Делает один файл принадлежащим нескольким каталогам.

<имя 1-го файла> - это полное составное имя файла, с которым устанавливается связь;

<имя 2-го файла> - это полное имя файла в новом каталоге, где будет использоваться эта связь.

Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т.е. он может использоваться в разных каталогах под разными именами.

ln -s <имя файла 1> <имя файла 2>
- создание символической связи.

Здесь <имя файла 2 > является именем символической связи.

chmod <коды защиты> <имя файла>

Изменяет атрибуты файла и доступ к нему.

Коды защиты могут быть заданы в числовом или символьном виде.

Для символьного кода используются:
знак плюс (+) - добавить права доступа;
знак минус (-) - отменить права доступа;
r,w,x - доступ на чтение, запись, выполнение;
u,g,o - владельца, группы, остальных.

Коды защиты в числовом виде могут быть заданы в восьмеричной форме. Для контроля установленного доступа к своему файлу после каждого изменения кода защиты нужно проверять свои действия с помощью команды ls – l .

Примеры :

· chmod g+w, o+rw file.1 0 - установка атрибутов записи для группы и чтения, записи для всех остальных пользователей;

ls -l file.1 - чтение атрибутов файла;

· chmod o-w file.1 - отмена атрибута записи у остальных пользователей.

grep [-vcilns] [шаблон поиска] <имя файла>

- поиск файлов с указанием или без указания контекста (шаблона поиска).

Значение ключей:
- v - выводятся строки, не содержащие шаблон поиска;
- c - выводится только число строк, содержащих или не
содержащих шаблон;
- i - при поиске не различаются прописные и строчные буквы;
- l - выводятся только имена файлов, содержащие указанный шаблон;
- n - перенумеровать выводимые строки;
- s - формируется только код завершения.
Пример
Напечатать имена всех файлов текущего каталога, содержащих последовательность "student":
grep -l student

cat <имя файла>

вывод содержимого файла на экран.

Команда cat > text.1 создает новый файл с именем text.1, который можно заполнить символьными строками, вводя их с клавиатуры.

Нажатие клавиши Enter создает новую строку. Завершение ввода - нажатие Ctrl-d .

Команда cat text.1 > text.2 пересылает содержимое файла text.1 в файл text.2. Слияние файлов (конкатенация) осуществляется командой cat text.1 text.2 > text.3.

ls [-alrstu] [имя]

вывод содержимого каталога на экран. Если аргумент не указан, выдается содержимое текущего каталога.

Аргументы команды:

-a - выводит список всех файлов и каталогов, в том числе и скрытых;

-l - выводит список файлов в расширенном формате, показывая тип каждого элемента, полномочия, владельца, размер и дату последней модификации;

-r - выводит список в порядке, обратном заданному;

-s - выводит размеры каждого файла;

-t - перечисляет файлы и каталоги в соответствии с датой их последней модификации;

-u - перечисляет файлы и каталоги в порядке, обратном их последней модификации.

rm <имя файла>

удаление файла (файлов).

Команда rm text.1 text.2 text.3 удаляет файлы text.1, text.2, text.3. Другие варианты этой команды - r m text.[123] или rm text.[1-3].

wc [имя файла]

вывод числа строк, слов и символов в файле.

pwd

вывод на экран полного имени текущего каталога;

>/home/user2/file.txt

создание пустого файла.

cp <старое-имя> <новое-имя>

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

mv <старое-имя> <новое-имя>

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

sort

сортировка файлов.

wc

определение числовых параметров файла.

touch

- обновление временных характеристик файла.

clear

очистка экрана.

exit

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

К содержанию

Задания

1. Ознакомьтесь с Методическими указаниями к лабораторной работе.

2. Ознакомьтесь со справкой по каждой из команд.

3. Выведите на экран список всех каталогов и файлов каталога /usr/ bin .

4. Выведите на экран список всех каталогов и файлов, имена которых начинаются на ' b ' из каталога /usr/ bin .

5. В каталоге /home/user2 создайте систему каталогов и файлов согласно схеме:

Схема

6. Сделайте файл English .3 принадлежащим каталогу usr / tspu / MPI .

7. Создайте символическую связь файла OSS .1 в каталоге usr / tspu / MPI .

8. Выведите на экран содержимое каталога usr / tspu / MPI / IMEI .

9. Прочитайте атрибуты файла usr / tspu / MPI / IMEI / Trpo .1.

10. Установите атрибуты файла usr / tspu / MPI / IMEI / Trpo .1, предоставляющие права доступа на чтение, запись и выполнение для владельца и остальных пользователей.

11. Лишите остальных пользователей права доступа на запись и выполнение файла usr / tspu / MPI / IMEI / Trpo .1.

12. Организуйте конкатенацию (слияние) файлов topolog .2 и geom .2 в каталоге usr / tspu / MPI .

13. Выведите на экран список ранее выполненных команд и покажите его преподавателю.

14. Выйдите из системы.

15. Создайте отчет по результатам выполнения лабораторной работы.

К содержанию

Последнее изменение: Пятница, 24 Октябрь 2014, 17:51