Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 1011; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.123.194 (0.007 с.) |