ТОП 10:

Ю.М. Бородянский, В.Б. Лебедев, А.Н. Самойлов, М.Д. Скрынников



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет»

 
 

 


Кафедра системного анализа и телекоммуникаций

Ю.М. Бородянский, В.Б. Лебедев, А.Н. Самойлов, М.Д. Скрынников

Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными

Учебно-методическое пособие к выполнению лабораторного практикума

по курсу

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

для студентов специальности 230102

 

 

 
 

 


Таганрог 2009
УДК 681.3.060(075.8)

 

Ю.М. Бородянский, В.Б. Лебедев, Самойлов А.Н., Скрынников М.Д.: Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными. – Таганрог: Изд-во ТТИ ЮФУ, 2009. – 67 с.

 

 

Учебно-методическое пособие предназначено в качестве лабораторного руководства по курсу «Операционные системы» для студентов второго курса специальности 230102 «Автоматизированные системы обработки информации и управления».

Ил. 12., Табл. 8., Библиогр.: 5 назв.

 

 

Рецензент:

Ю.О. Чернышев, заслуженный деятель науки РФ, зав. каф. прикладной математики РГАСХМ, д.т.н., профессор.

В.Б. Тарасов, к.т.н., доцент Московского государственного технического университета им. М.Э. Баумана.

 

 


Содержание:

Введение.......................................................................................................... 5

1.Лабораторная работа №1............................................................................ 6

1.1.Цель работы........................................................................................... 6

1.2.Теоретические основы............................................................................ 6

1.3.Выполнение простых команд................................................................ 8

1.4.Работа с текстовым редактором Vim.................................................. 11

1.4.1.Перемещение по тексту в редакторе vi............................................ 13

1.5.Программирование на SHELL. Использование командных файлов. 14

1.6.Группирование команд........................................................................ 20

1.7.Примеры............................................................................................... 21

1.8.Файловая структура системы LINUX................................................. 22

1.9.Примеры............................................................................................... 24

1.10.Порядок выполнения лабораторной работы................................... 27

1.11.Индивидуальные задания.................................................................. 28

1.12.Контрольные вопросы....................................................................... 30

2.Лабораторная работа №2.......................................................................... 31

2.1.Цель работы......................................................................................... 31

2.2.Теоритические основы......................................................................... 31

2.2.1.Клиент-серверная модель и сетевая прозрачность.......................... 31

2.2.2.Интерфейсы пользователя................................................................ 32

2.2.3.Реализации......................................................................................... 33

2.2.4.X-терминалы..................................................................................... 34

2.2.5.Расширения....................................................................................... 34

2.2.6.Функции интерфейса пользователя.................................................. 35

2.3.Настройка Х Window........................................................................... 36

2.3.1.Запуск Х Window.............................................................................. 37

2.4.Менеджеры окон.................................................................................. 39

2.4.1.Настройка конфигурации менеджера окон fvwm............................ 40

2.4.2.Запуск AfterStep............................................................................... 44

2.4.3.Запуск менеджера окон twm............................................................. 45

2.5.Базовые операции Х11......................................................................... 45

2.6.Использование геометрических параметров клиента Х11................. 46

2.7.Установка цвета переднего плана и фона для клиентов Х11............. 46

2.8.Задание ресурсов клиентов Х11 цвета переднего плана и фона........ 47

2.9.Изменение режимов работы мыши и курсора для Х11..................... 49

2.10.Операции копирования и вставки в Х11........................................... 50

2.11.Захват и запись содержимого окон Х11........................................... 52

2.12.Настройка базового окна Х11 и использование экранных заставок. 53

2.13.Некоторые клиенты Х window.......................................................... 57

2.13.1.Программы поддержки терминалов Х11...................................... 57

2.13.2.Терминал xterm............................................................................... 58

2.13.3.Терминал rxvt.................................................................................. 59

2.14.Вывод перечня шрифтов Х11 с помощью xlsfonts.......................... 59

2.15.Получение информации об окне с помощью клиента xwininfo....... 60

2.15.Создание календаря с напоминаниями с помощью клиента xmessage. 61

2.16.Часы в Х11.......................................................................................... 61

2.17. Порядок выполнения лабораторной работы.................................. 63

2.18. Контрольные вопросы...................................................................... 64

Библиографический список.......................................................................... 66

 



Введение

Данное методическое пособие предназначено для студентов, обучающихся на кафедре Системного анализа и телекоммуникаций ТТИ ЮФУ.

В ходе ознакомления с данным методическим пособием студент получит общее представление об основных принципах организации и функционирования операционной системы LINUX, а также получит навыки по работе с файловой системой, функциями по обработке и управления данными.

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

В результате выполнения второй лабораторной работы студент получит практические навыки работы с системой X-window, а именно научится конфигурировать систему.

 

 


Лабораторная работа №1.

Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными.

Цель работы.

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

Теоретические основы.

ОС LINUX - это многопользовательская, многозадачная, многотерминальная операционная система (OC) из семейства UNIX, под управлением которой могут одновременно выполняться несколько задач. Она предназначена для работы на серверах и рабочих станциях, обеспечивает подключение дополнительных терминалов и допускает в этом режиме использование графических оболочек.

Система включает следующие основные компоненты:

Ядро. Выполняет функции управления памятью, процессорами. Осуществляет диспетчеризацию выполнения всех программ и обслуживание внешних устройств. Все действия, связанные с вводом/выводом и выполнением системных операций, выполняются с помощью системных вызовов. Системные вызовы реализуют программный интерфейс между программами и ядром. Имеется возможность динамического конфигурирования ядра.

Диспетчер процессов Init. Активизирует процессы, необходимые для нормальной работы системы и производит их начальную инициализацию. Обеспечивает завершение работы системы, организует сеансы работы пользователей, в том числе, для удаленных терминалов.

Интерпретатор команд Shell. Анализирует команды, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы. Команды обычно имеют аргументы и параметры, которые обеспечивают модернизацию выполняемых действий. Shell является также языком программирования, на котором можно создавать командные файлы (shell-файлы). При входе в ОС пользователь получает копию интерпретатора shell в качестве родительского процесса. Далее, после ввода команды пользователем создается порожденный процесс, называемый процессом-потомком. Т.е. после запуска ОС каждый новый процесс функционирует только как процесс - потомок уже существующего процесса. В ОС LINUX имеется возможность динамического порождения и управления процессами.

Shell - интерпретатор в соответствии с требованиями стандарта POSIX поддерживает графический экранный интерфейс, реализованный средствами языка программирования Tcl/Tk.

Обязательным в системе является интерпретатор Bash, полностью соответствующий стандарту POSIX. В качестве Shell может быть использована оболочка mc с интерфейсом, подобным Norton Commander.

Сетевой графический интерфейс X-сервер (X-Windows). Обеспечивает поддержку графических оболочек.

Графические оболочки KDE, Gnome. Отличительными свойствами KDE являются: минимальные требования к аппаратуре, высокая надежность, интернационализация. Базовые библиотеки KDE (qt, kde-libs) признаны одними из лучших продуктов по созданию графического интерфейса, обеспечивают простое написание программ с использованием передовых технологий. Gnome имеет развитые графические возможности, но более требователен к аппаратным средствам.

Сетевая поддержка NFS, SMB, TCP/IP. NFS - программный комплекс РС-NFS (Network File System) для выполнения сетевых функций. РС-NFS ориентирован для конкретной ОС персонального компьютера (PC) и включает драйверы для работы в сети и дополнительные утилиты. SMB - сетевая файловая система, совместимая с Windows NT. TCP/IP - протокол контроля передачи данных (Transfer Control Protocol/Internet Protocol). Сеть по протоколам TCP/IP является неотъемлемой частью ОС семейства UNIX. Поддерживаются любые сети, от локальных до Internet, с использованием только встроенных сетевых средств.

Инструментальные средства программирования. Основой средств программирования является компилятор GCC или его экспериментальные версии EGCS и PGCC для языков С и С++; модули поддержки других языков программирования (Obective C, Фортран, Паскаль, Modula-3, Ада, Java и др.); интегрированные среды и средства визуального проектирования: Kdevelop, Xwpe; средства адаптации привязки программ AUTOCONFIG, AUTOMAKE.

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

Файловая структура LINUX имеет иерархическую древовидную структуру. В корневом каталоге размещаются другие каталоги и файлы, включая 5 основных каталогов:

· bin - большинство выполняемых командных программ и shell - процедур;

· tmp - временные файлы;

· usr - каталоги пользователей (условное обозначение);

· etc - преимущественно административные утилиты и файлы;

· dev - специальные файлы, представляющие периферийные устройства; при добавлении периферийного устройства в каталог /dev должен быть добавлен соответствующий файл (черта / означает принадлежность корневому каталогу).

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

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

Один файл можно сделать принадлежащим нескольким каталогам. Для этого используется команда ln (link):

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

Имя 1-го файла - это полное составное имя файла, с которым устанавливается связь; имя 2-го файла - это полное имя файла в новом каталоге, где будет использоваться эта связь. Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т.е. он может использоваться в разных каталогах под разными именами. Команда ln с аргументом -s создает символическую связь:

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

Здесь имя 2-го файла является именем символической связи. Символическая связь является особым видом файла, в котором хранится имя файла, на который символическая связь ссылается. LINUX работает с символической связью не так, как с обычным файлом - например, при выводе на экран содержимого символической связи появятся данные файла, на который эта символическая связь ссылается.

Выполнение простых команд

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

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

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

Введите команду echo, которая выдает на экран свои аргументы:

echo good morning

и нажмите клавишу Enter. На экране появится приветствие "good morning" – аргумент команды echo. Командный интерпретатор shell вызвал команду echo, реализованную в виде программы на языке СИ, и передал ей аргументы. После этого интерпретатор команд вывел знак-приглашение. Синтаксис команды echo:

echo [-n] [arg1] [arg2] [arg3]...

Команда помещает в стандартный вывод свои аргументы, разделенные пробелами и завершаемые символом перевода строки. При наличии флага -n символ перевода строки исключается.

· who [am i] - получение информации о работающих пользователях. На рис.1 изображен результат ввода команды для получения информации о пользователях, подсчет их количества, и запись в файл.

 

Рис.1 Получение информации о пользователях

В квадратных скобках указываются аргументы команды, которые можно опустить. Ответ представляется в виде таблицы, которая содержит следующую информацию:

· идентификатор пользователя;

· идентификатор терминала;

· дата подключения;

· время подключения.

· date - вывод на экран текущей даты и текущего времени;

· cal [[месяц]год] - календарь; если календарь не помещается на одном экране, то используется команда cal год | more и клавишей пробела производится постраничный вывод информации;

· man <название команды> - вызов электронного справочника об указанной команде. Выход из справочника - нажатие клавиши Q. Команда man man сообщает информацию о том, как пользоваться справочником;

· tty - сообщение имени специального файла стандартного вывода, соответствующего терминалу пользователя;

· cat <имя файла> - вывод содержимого файла на экран. Команда cat>text.1 создает новый файл с именем text.1, который можно заполнить символьными строками, вводя их с клавиатуры. Нажатие клавиши Enter создает новую строку. Завершение ввода - нажатие Ctrl+d. На рис.2 изображено создание двух файлов, ввод в них информации и вывод полученных файлов на экран. Команда cat text.1 > text.2 пересылает содержимое файла text.1 в файл text.2. Слияние файлов осуществляется командой cat text.1 text.2 > text.3 (Рис.3);

Рис.2 Создание и просмотр файлов.

Рис.3 Объединение двух файлов в единый и вывод его на экран

· ls [-alrstu] [имя] - вывод содержимого каталога на экран. Если аргумент не указан, выдается содержимое текущего каталога;

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

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

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

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

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

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

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

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

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

Имя Описание
/ Корневой каталог
/bin Наиболее важные команды и программы
/boot Все, что необходимо для загрузки операционной системы, ядро Linux
/dev Файлы устройств
/etc Системные конфигурационные файлы
/home Домашние каталоги пользователей
/lib Общие библиотеки, модули ядра
/mnt Это каталог для монтирования локальных и удаленных файловых систем
/opt Дополнительные программные пакеты
/proc Информация, касающаяся ядра; управление процессами
/root Домашний каталог пользователя root
/sbin Системные команды
/tftpboot Поддержка сетевой загрузки ОС
/tmp Временные файлы
/usr Иерархия вторичных программных файлов
/var Переменные данные (например, регистрационные журналы); файлы спула (например, принтера)

 

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

· wc [имя файла] - вывод числа строк, слов и символов в файле;

· clear - очистка экрана.

Text

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

· a = b; export a

echo $a

· d = /home/sv; export d

echo $d

· c = ‘pwd’; export c

echo $c

Структурные операторы shell. Оператор цикла FOR. Синтаксис:

for <переменная> in <список значений>

do <список команд>

done

Например, пусть имеется командный файл makelist:

Cat makelist

sort +1 people | pr –h Distribution | lpr - Сортировка по второму полю, печать заголовка, распечатка файла.

Если вместо одного файла people имеется несколько adminpeople, hardpeople, softpeople, то необходимо повторить выполнение процедуры с различными файлами с помощью оператора for:

· for file in adminpeople, hardpeople, softpeople

do sort +1 $file | pr –h Distribution | lpr

Done

· for file in *people

do sort $file

done

Условный оператор IF. Синтаксис:

if <если эта команда выполняется успешно, то>

then <выполнить все последующие команды до else или, если его нет, до fi>

[else <иначе выполнить следующие команды до fi>]

fi

Например:

if test $# -eg 0

then echo “You must give a filename”

exit 1

else sort +1 $1| …| lpr

fi

Если значение переменной # равно нулю, выводится сообщение "You must give a filename”, выполнение программы прекращается. Иначе выполняется команда сортировки данных.

Команда TEST.Эта команда применяется внутри shell-процедур. Имеется три типа проверок: оценка числовых значений; оценка типа файла; оценка строк.

Для чисел синтаксис следующий:

N op M, где N, M – числовые переменные, операция «op» принимает следующие значения:

· -eg – равно;

· -en – не равно;

· -gt – больше;

· -lt – меньше;

· -ge – больше или равно;

· -le – меньше или равно.

Для файла синтаксис такой:

op filename - операция op принимает следующие значения:

· -s - файл существует и не пуст;

· -f - файл, а не каталог;

· -d - файл-директория;

· -w - файл для записи;

· -r - файл для чтения;

Для строк синтаксис такой:

S op R - операция op принимает следующие значения:

· = - эквивалентность;

· != - неэквивалентность;

· -z – строка нулевой длины;

· -n – нулевая длина строки.

 

Несколько проверок могут быть объединены логическими операциями –a (and) и -o (or):

· if test –w $2 -a -r $1

then cat $1>> $2

else echo “can not append”

fi;

· echo “Vvedite a”

read a

echo “Vvedite b”

read b

if test $a –lt $b

then

echo “Hello”

else

echo “…”

fi.

Оператор цикла WHILE.Синтаксис:

while <команда>

do <команда>

Done

· n=0

while test $n -lt 5

do

cat myfile1|lpr

n=`expr$n+1`

done;

· while test $# -gt 0

do

if test –s $1

then echo “no file $1”> $2

else sort +1 $1 …

fi

do.

Оператор цикла UNTIL.Этот оператор инвертирует условие повторения по сравнению с оператором

While

until <команда>

do <команды>

Done

Пока “команда” не выполнится успешно, выполнять “команды”, завершаемые ключевым словом done:

· if test $# -eg 0

then echo “Usage …”>$2

exit

fi

until test $# -eg 0

do

if test –s $1

then echo “no file $1”>$2

else sort …

fi

shift

done.

Оператор выбора CASE.Синтаксис:

case <string> in

string1) <если string = string1, то выполнить все следующие команды до ;;> ;;

string2) <если string = string2, то выполнить все следующие команды до ;;> ;; string3) и т.д.

Esac.

· together = no

case $1 in

-t) together = yes

shift;;

-?) echo “$0: no option $1”

exit;;

esac

if test $ together = yes

then sort …

fi

· while true

do

echo”Check menu your computer”

1) Disk space

2) Mounted file systems

3) System name

4) Who is logged in

5) Exit

echo “What do you want?”

read number

case $number in

1) df

;;

2) mount –t msdos dev/fd0 /mnt/floppy

;;

3) uname

;;

4) who

;;

5)break

;;

*) echo “you must enter a number (1 throught 5)”

continue

;;

esac

done

exit 0

На экране появляется меню. При выборе определенного пункта меню выполняется соответствующая команда.

Группирование команд

Группы команд или сложные команды могут формироваться с помощью специальных символов (метасимволов):

· & - процесс выполняется в фоновом режиме, не дожидаясь окончания предыдущих процессов;

· ? - шаблон, распространяется только на один символ;

· * - шаблон, распространяется на все оставшиеся символы;

· | - программный канал - стандартный вывод одного процесса является стандартным вводом другого;

· > - переадресация вывода в файл;

· < - переадресация ввода из файла;

· ; - если в списке команд команды отделяются друг от друга точкой с запятой, то они выполняются друг за другом;

· && - эта конструкция между командами означает, что последующая команда выполняется только при нормальном завершении предыдущей команды ( код возврата 0 );

· || - последующая команда выполняется только, если не выполнилась предыдущая команда ( код возврата 1 );

· () - группирование команд в скобки;

· { } - группирование команд с объединенным выводом;

· [] - указание диапазона или явное перечисление ( без запятых);

· >> - добавление содержимого файла в конец другого файла.

Примеры

· who | wc - подсчет количества работающих пользователей командой wс (word count - счет слов);

· cat text.1 > text.2 - содержимое файла text.1 пересылается в файл text.2;

· mail student < file.txt - электронная почта передает файл file.txt всем пользователям, перечисленным в командной строке;

· cat text.1,text.2 - просматриваются файлы text.1 и text.2;

· cat text.1 >> text.2 - добавление файла text.1 в конец файла text.2;

· cc primer.c & - трансляция СИ - программы в фоновом режиме. Имя выполняемой программы по умолчанию a.out;

· cc -o primer.o primer.c - трансляция СИ-программы с образованием файла выполняемой программы с именем primer.o;

· rm text.* - удаление всех файлов с именем text;

· {cat text.1; cat text.2} | lpr - пpосмотp файлов text.1 и text.2 и вывод их на печать;

· ps [al] [number] - команда для вывода информации о процессах:

· -a - вывод информации обо всех активных процессах, запущенных с вашего терминала (рис.5);

· -l - полная информация о процессах;

· number - номер процесса.

Рис.5 Вывод полной информации о процессах

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

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

1 S 200 210 7 0 2 20 80 30 703a 03 0:07 cc

1 R 12 419 7 11 5 20 56 20 03 0:12 ps

· F - флаг процесса (1 - в оперативной памяти, 2 - системный процесс, 4 - заблокирован в ОЗУ, 20 - находится под управлением другого процесса, 10 - подвергнут свопингу);

· S - состояние процесса (O - выполняется процессором , S - задержан, R - готов к выполнению, I - создается);

· UID - идентификатор пользователя;

· PID - идентификатор процесса;

· PPID - номер родительского процесса;

· C - степень загруженности процессора;

· PRI - приоритет процесса, вычисляется по значению переменной NICE и чем больше число, тем меньше его приоритет;

· NI - значение переменной NICE для вычисления динамического приоритета, принимает величины от 0 до 39;

· ADDR - адрес процесса в памяти;

· SZ - объем ОЗУ, занимаемый процессом;

· WCHAN - имя события, до которого процесс задержан, для активного процесса - пробел;

· TTY - номер управляющего терминала для процесса;

· TIME - время выполнения процесса;

· CMD - команда, которая породила процесс.

· nice[-приращение приоритета] команда[аргументы] - команда изменения приоритета. Каждое запущенное задание (процесс) имеет номер приоритета в диапазоне от 0 до 39, на основе которого ядро вычисляет фактический приоритет, используемый для планирования процесса. Значение 0 представляет наивысший приоритет, а 39 - самый низший. Увеличение номера приоритета приводит к понижению приоритета, присвоенного процессу. Команда nice -10 ls -l увеличивает номер приоритета, присвоенный процессу ls -l на 10;

· renice 5 1836 - команда устанавливает значение номера приоритета процесса с идентификатором 1836 равным 5. Увеличить приоритет процесса может только администратор системы;

· kill [-sig] <идентификатор процесса> - прекращение процесса до его программного завершения. sig - номер сигнала. Sig = -15 означает программное (нормальное) завершение процесса, номер сигнала = -9 - уничтожение процесса. По умолчанию sig= -9. Вывести себя из системы можно командой kill -9 0. Пользователь с низким приоритетом может прервать процессы, связанные только с его терминалом;

· mc - вызов файлового менеджера (программы - оболочки) Midnight Commander, аналогичного Norton Commander;

· sort [-dr] - сортировка входных файлов и вывод результата на экран.

Примеры

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

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

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

· >letter - создание файла letter. Символ > используется как для переадресации, так и для создания файла;

· grep -l student *.txt –печать именно всех файлов текущего каталога, содержащих последовательность "студент" и имеющих расширение .txt;

· who | grep tty23 -Определение имени пользователя, входящего в ОС LINUX с терминала tty23;

· cat - вывод содержимого файла;

· cat file.1 file.2 > file.12 - конкатенация файлов (объединение);

· mv file.1 file.2 - переименование файла file.1 в file.2;

· mv file.1 file.2 file.3 directory - перемещение файлов file.1, file.2, file.3 в указанную директорию (рис.7);

Рис.7 перемещение файлов в новую папку

· rm file.1 file.2 file.3 - удаление файлов file.1, file.2, file.3;.

· cp file.1 file.2 - копирование файла с переименованием;

· mkdir namedir - создание каталога;

· rm dir_1 dir_2 - удаление каталогов dir_1 dir_2;

· ls [acdfgilqrstv CFR] namedir - вывод содержимого каталога; если в качестве namedir указано имя файла, то выдается вся информация об этом файле. На рис.8 изображен вывод полной информации обо всех файлах.

Рис.8 Вывод полной информации обо всех файлах

 

Значения аргументов:

· -l –- список включает всю информацию о файлах;

· -t – сортировка по времени модификации файлов;

· -a – в список включаются все файлы, в том числе и те, которые начинаются с точки;

· -s – размеры файлов указываются в блоках;

· -d – вывести имя самого каталога, но не содержимое;

· -r – сортировка строк вывода;

· -i – указать идентификационный номер каждого файла;

· -v – сортировка файлов по времени последнего доступа;

· -q ­– непечатаемые символы заменить на знак ?;

· -с – использовать время создания файла при сортировке;

· -g – то же что -l, но с указанием имени группы пользователей;

· -f – вывод содержимого всех указанных каталогов, отменяет флаги -l, -t, -s, -r и активизирует флаг -а;

· -С – вывод элементов каталога в несколько столбцов;

· -F – добавление к имени каталога символа / и символа * к имени файла, для которых разрешено выполнение;

· -R – рекурсивный вывод содержимого подкаталогов заданного каталога.

· cd <namedir> - переход в другой каталог. Если параметры не указаны, то происходит переход в домашний каталог пользователя.

· pwd - вывод имени текущего каталога;

· grep [-vcilns] [шаблон поиска] <имя файла> - поиск файлов с указанием или без указания контекста (шаблона поиска).

Значение ключей:

· -v – выводятся строки, не содержащие шаблон поиска;

· -c – выводится только число строк, содержащих или не содержащих шаблон;

· -i – при поиске не различаются прописные и строчные буквы;

· -l – выводятся только имена файлов, содержащие указанный шаблон;

· -n – перенумеровать выводимые строки;

· -s – формируется только код завершения.
1.10.Порядок выполнения лабораторной работы

1. Ознакомиться с теоретической частью к лабораторной работе. Ознакомиться с файловой структурой ОС LINUX. Изучить команды работы с файлами.

2. Получить подробную информацию обо всех активных процессах.

3. Создать два текстовых файла и просмотреть их на экране.

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

5. Создать новую директорию и переместить в нее полученные файлы.

6. Объединить созданные текстовые файлы в единый файл и посмотреть его на экране.

7. Вывести полную информацию обо всех файлах и проанализировать уровни доступа.

8. Добавить для всех созданных Вами файлов право выполнения членам группы и остальным пользователям.

9. Просмотреть атрибуты файлов.

10. Создать еще один каталог.

11. Установить дополнительную связь объединенного файла с новым каталогом, но под другим именем.

12. Сделать текущим новый каталог и вывести на экран расширенный список информации о его файлах.

13. Сделать снимки экранов проделанной работы и удалить свои файлы и каталоги.

14. Выполните индивидуальные задание в соответствии с вариантом


1.11.Индивидуальные задания

Вариант №1.

Создайте новую директорию в домашнем каталоге и скопируйте в него объединенный ранее файл. Для владельца установите доступ на чтение, запись и выполнение. Для группы и остальных – доступ на чтение. Удалите все созданные Вами файлы и папки.

Вариант №2.

Создайте новую директорию и скопируйте в нее все созданные ранее файлы, но под другими именами. Выведите на экран содержимое каталога в несколько столбцов с указанием размеров файлов. Удалите все созданные Вами файлы и папки.

Вариант №3.

Посмотрите приоритет своего процесса и уменьшите скорость его выполнения за счет повышения номера приоритета. Удалите все созданные Вами файлы и папки.

Вариант №.4

Создайте еще два каталога, и в каждом из них по два текстовых файла с произвольным содержанием. Выведите на экран одновременно содержимое всех созданных Вами файлов. Удалите все созданные Вами файлы и папки.

Вариант №5.

Выполните вариант №4, затем объедините все созданные ранее Вами файлы в единый файл, в новую директорию. Удалите все созданные Вами файлы и папки.

Вариант №6.

Создайте с помощью текстового редактора Vi текстовый файл file1.txt. Напечатайте в текстовом файле в первой строке свою фамилию и имя, номер группы. В последующих строках наберите произвольный текст. В конце файла ещё раз напечатайте свою фамилию и имя. Сохраните файл и выйдите из текстового редактора. Просмотрите созданный вами файл. Удалите все созданные Вами файлы и папки.

Вариант №7.

Shell-программирование. Используя команды ECHO, PRINTF вывести информационные сообщения на экран. Присвоить переменной А целочисленное значение. Просмотреть значение переменной А.

Вариант №8.

Shell-программирование. Присвоить переменной E значение “имя команды”, а именно, команды просмотра содержимого файла, просмотреть содержимое переменной. Выполнить эту команду, используя значение переменной.

Вариант №9.

Shell-программирование. Присвоить переменной F значение “имя команды”, а именно сортировки содержимого текстового файла. Выполнить эту команду, используя значение переменной.

Вариант №10.

Присвоить переменной D значение “имя команды”, а именно, команды DATE. Выполнить эту команду, используя значение переменной.
1.12.Контрольные вопросы

1. Перечислите основные функции и назначение многопользовательской многозадачной операционной системы LINUX и ее отличительные особенности от однопрограммной системы DOS.

2. Какое назначение имеет ядро системы и интерпретатор команд?

3. В чем заключается понятие "процесс" и какие операции можно выполнить над процессами?

4. Как задаются и выполняются простые и сложные команды?

5. Какие функции выполняет командный интерпретатор Shell?

6. Что считается файлами в OC LINUX?

7. Объясните назначение связей с файлами и способы их создания.

8. Что определяет атрибуты файлов и каким образом их можно просмотреть и изменить?

9. Какие методы создания и удаления файлов, каталогов Вы знаете?

10. В чем заключается поиск по шаблону?

11. Какой командой можно получить список работающих пользователей и сохранить его в файле?

 


Лабораторная работа №2.

Изучение графического интерфейса X-Window.

Цель работы.

Целью работы является получение навыков работы с системой X-windows, а также ее конфигурирования.

Теоритические основы.

X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС.

X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с мышью и клавиатурой. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.

В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя (в случае если это разрешено в настройках). В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.226.243.36 (0.076 с.)