Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Слова 2. 8 слов итого: 3 строки 10 словСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте 6. Программа, подсчитывающая количество символов с одинаковыми кодами ASCII в текстовом файле. Результаты подсчёта записываются в другой текстовый файл (имена файлов передаются в качестве аргументов командной строки при запуске программы). Пример вывода программы для текстового файла: QWER REEEt WE E EEE EER SI I IO NN файл, полученный в результате работы программы: 1. Q код ASCII 41 =1 2. W код ASCII 42 =2 3. E код ASCII 42 =11 … Итого: 25 символов
Лабораторная работа №2 Управление ОС Linux с помощью интерпретатора BASH Цель работы – исследовать основные объекты, команды, типы данных и операторы управления интерпретатора BASH; создать скрипт-файл. Теоретическая часть Bash - это sh -совместимый интерпретатор командного языка, выполняющий команды, прочитанные со стандартного входного потока или из файла. Скрипт-файл – это обычный текстовый файл, содержащий последовательность команд bash, для которого установлены права на выполнение. Пример скрипта, выводящего содержимое текущего каталога на консоль и в файл: #!/bin/bash Dir dir > 1.txt Следующие переменные используются командным интерпретатором.
Пример простого скрипта, выводящего на консоль и в файл содержимое каталога, где имя каталога передаётся скрипту в качестве аргументов при запуске: Запуск скрипта: >./mydir/home/stud Скрипт: #!/bin/bash dir $1 dir $1 > 1.txt Можно создать собственную переменную и присвоить ей значение: A=121 A=”121” let A=121 let “A=А+1” Вывод значения на консоль: echo $A Проверка условия: test[expr] где expr: а) для строк: S1 = S2S1 содержит S2 S1 != S2S1 не содержит S2 -n S1 если длина S1 >0 -z S1 если длина S1 =0 б) целые i1 и i2 i1 – ge i2 i1 – gt i2 i1 – ie i2 i1 – et i2 i1 – nt i2 в) файлы -d name_file является ли файл каталогом -f name_file является ли файл обычным файлом -r name_file доступен ли файл для чтения -s name_file имеет ли файл ненулевую длину -w name_file доступен ли файл для записи -x name_file является ли файл исполняемым г) логически операции !exp логическое отрицание (не) exp1 –a exp2 умножение условий (и) exp1 –o exp2 сложение условий (или) Проверка условия: if [expr ] then com 1 Если условие expr=true то команда … com 1… com n Com n (elif expr2 Com1 … Com n ) Else Com 1 … Com n fi Проверка нескольких условий: case string1 in Str 1) Com 1 … Com n ;; Str 2) Com 1 … Com n ;; Str 3) Com 1 … Com n ;; *) // default Com 1 … Com n ;; Esac Функция пользователя: fname2 (arg1,arg2...argN) { Организация циклов: 1. for var1 in list do Com1 … Com n Done 2. while exp Com1 … Com n End 3. until exp // аналог do-while do Com1 … Com n Done Порядок выполнения работы 1. Изучить теоретическую часть лабораторной работы. 2. Написать скрипт, выводящий на консоль и в файл все аргументы командной строки. 3. Написать скрипт, выводящий в файл (имя файла задаётся пользователем в качестве первого аргумента командной строки) имена всех файлов с заданным расширением (третий аргумент командной строки) из заданного каталога (имя каталога задаётся пользователем в качестве второго аргумента командной строки). 4. Написать скрипт, компилирующий и запускающий программу (имя исходного файла и exe- файла результата задаётся пользователем в качестве аргументов командной строки). В случае ошибок при компиляции вывести на консоль сообщение об ошибках и не запускать программу на выполнение.
Варианты индивидуальных заданий
1. Написать скрипт для поиска файлов заданного размера в заданном каталоге (имя каталога задаётся пользователем в качестве третьего аргумента командной строки). Диапазон (мин.- мах.) размеров файлов задаётся пользователем в качестве первого и второго аргумента командной строки. 2. Написать скрипт с использованием цикла for, выводящий на консоль размеры и права доступа для всех файлов в заданном каталоге и всех его подкаталогах (имя каталога задается пользователем в качестве первого аргумента командной строки). 3. Написать скрипт для поиска заданной пользователем строки во всех файлах заданного каталога и всех его подкаталогов (строка и имя каталога задаются пользователем в качестве первого и второго аргумента командной строки). На консоль выводятся полный путь и имена файлов, в содержимом которых присутствует заданная строка, и их размер. Если к какому либо каталогу нет доступа, необходимо вывести соответсвующее сообщение и продолжить выполнение. 4. Написать скрипт поиска одинаковых по их содержимому файлов в двух каталогов, например, Dir1 и Dir2. Пользователь задаёт имена Dir1 и Dir2 в качестве первого и второго аргумента командной строки. В результате работы программы файлы, имеющиеся в Dir1, сравниваются с файлами в Dir2 по их содержимому. На экран выводятся число просмотренных файлов и результаты сравнения. 5. Написать скрипт находящий в заданном каталоге и всех его подкаталогах все файлы, владельцем которых является заданный пользователь. Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки. Скрипт выводит результаты в файл (третий аргумент командной строки) в виде полный путь, имя файла, его размер. На консоль выводится общее число просмотренных файлов. 6. Написать скрипт находящий в заданном каталоге и всех его подкаталогах все файлы, заданного размера в заданном каталоге (имя каталога задаётся пользователем в качестве третьего аргумента командной строки). Диапазон (мин.- мах.) размеров файлов задаётся пользователем в качестве первого и второго аргумента командной строки. Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки. Скрипт выводит результаты поиска в файл (четвертый аргумент командной строки) в виде полный путь, имя файла, его размер. На консоль выводится общее число просмотренных файлов. 7. Написать скрипт подсчитавающий суммарный размер файлов в заданном каталоге и всех его подкаталогах (имя каталога задаётся пользователем в качестве аргумента командной строки). Скрипт выводит результаты посдчета в файл (второй аргумент командной строки) в виде католог(полный путь), суммарный размер файлов число просмотренных файлов.
Лабораторная работа №3 Основные принципы программирования в ОС LINUX Цель работы – изучение файловой системы ОС Linux и основных функций для работы с каталогами и файлами. Теоретическая часть Каталоги в ОС Linux –это особые файлы. Для открытия или закрытия каталогов существуют вызовы: #include <dirent.h> DIR *opendir (const char *dirname); int closedir(DIR *dirptr); Для чтения записей каталога существует вызов: struct dirent *readdir(DIR *dirptr); Структура dirent такова: struct dirent { long d_ino; off_t d_off; unsigned short d_reclen; char d_name [1]; }; Поле d_ino - это число, которое уникально для каждого файла в файловой системе. Значением поля d_off служит смещение данного элемента в реальном каталоге. Поле d_name есть начало массива символов, задающего имя элемента каталога. Данное имя ограничено нулевым байтом и может содержать не более MAXNAMLEN символов. Тем самым описываемая структура имеет переменную длину, хранящуюся в поле d_reclen. Пример вызова: DIR *dp; struct dirent *d; d=readdir(dp); При первом вызове функция readdir в структуру dirent будет считана первая запись каталога. После прочтения всего каталога в результате последующих вызовов readdir будет возвращено значение NULL. Для возврата указателя в начало каталога на первую запись существует вызов: void rewindir(DIR *dirptr); Чтобы получить имя текущего рабочего каталога существует функция: char *getcwd(char *name, size_t size);Порядок выполнения работы
1. Изучить теоретическую часть работы. 2. Написать программу вывода на экран содержимого заданного пользователем каталога. Вывести с использованием программы содержимое текущего и корневого каталога. Предусмотреть контроль ошибок открытия, закрытия, чтения каталога. Вывод сообщений об ошибках должен производиться в стандартный поток вывода сообщений об ошибках (stderr) в следующем виде: имя_модуля текст_сообщения.
Варианты индивидуальных заданий Должен быть контроль ошибок для всех операций с файлами и каталогами. 1. Отсортировать в заданном каталоге (аргумент 1 командной строки) и во всех его подкаталогах файлы по следующим критериям (аргумент 2 командной строки, задаётся в виде целого числа):1 – по размеру файла, 2 – по имени файла. Записать отсортированные файлы в новый каталог (аргумент 3 командной строки). 2. Найти в заданном каталоге (аргумент 1 командной строки) и всех его подкаталогах заданный файл (аргумент 2 командной строки). Вывести на консоль полный путь к файлу имя файла, его размер, дату создания, права доступа, номер индексного дескриптора. Вывести также общее количество просмотренных каталогов и файлов. 3. Для заданного каталога (аргумент 1 командной строки) и всех его подкаталогов вывести в заданный файл (аргумент 2 командной строки) и на консоль имена файлов, их размер и дату создания, удовлетворяющих заданным условиям: 1 – размер файла находится в заданных пределах от N1 до N2 (N1,N2 задаются в аргументах командной строки), 2 – дата создания находится в заданных пределах от M1 до M2 (M1, M2 задаются в аргументах командной строки). 4. Найти совпадающие по содержимому файлы в двух заданных каталогах (аргументы 1 и 2 командной строки) и всех их подкаталогах. Вывести на консоль и в файл (аргумент 3 командной строки) их имя, размер, дату создания, права доступа, номер индексного дескриптора. 5. Подсчитать суммарный размер файлов в заданном каталоге (аргумент 1 командной строки) и для каждого его подкаталога отдельно. Вывести на консоль и в файл (аргумент 2 командной строки) название подкаталога, количество файлов в нём, суммарный размер файлов, имя файла с наибольшим размером. 6. Написать программу, находящую в заданном каталоге и всех его подкаталогах все файлы, заданного размера в заданном каталоге (имя каталога задаётся пользователем в качестве третьего аргумента командной строки). Диапазон мин. мах. размеров файлов задаётся пользователем в качестве первого и второго аргумента командной строки. Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки. Программа выводит результаты поиска в файл (четвертый аргумент командной строки) в виде полный путь, имя файла, его размер. На консоль выводится общее число просмотренных файлов.
Лабораторная работа №4
|
||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-08-16; просмотров: 1165; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |