ОС Лаб.работа №7(Командные процессоры ОС Unix. Работа с файлами) (1069348), страница 4
Текст из файла (страница 4)
Выше рассматривались спецсимволы, связанные с указанием конкретных конструкций. Многие служебные символы интерпретируютсяразными командными процессорами одинаково, хотя некоторые - по-разному. Основные спецсимволы приведены в таблице 8.Таблица 8. Специальные символы shell'oвОперационные системы Лаб.работа №7(Командные процессоры ОС Unix. Работа сфайлами)19Командный процессорОсновные спецсимволыsh$*?V ' * [ ] < > &csh$*?V'"!A{H]!%<>&ksh$*?\""!Л{}[]!<>&bashS*?V"'!A{}[]!%<>&Для ввода специальных символов без учета их специального назначения вкомандной строке их необходимо предварять символом экранирования \ либо заключать в кавычки или апострофы.
Кавычки отличаются от апострофов тем, чтоэкранируют от интерпретации все специальные символы, за исключением ', $ и\, а апострофы экранируют абсолютно все специальные символы.2.1.15 Разбор командной строкиКаждый командный процессор выполняет разбор командной строки строгов следующем порядке:• определение команд и их аргументов;• подстановка псевдонимов (определенных командой alias);• подстановка имен файлов согласно шаблонам;• подстановка результата выполнения команды, если естьконструкция'";• запуск программ и передача им переменных среды окруженияи аргументов.2.1.16 Кэширование имен выполняемых файловКомандные процессоры csh и tcsh кэшируют сразу после начала работысписок выполняемых файлов из каталогов, указанных в переменной path, поэтому при изменении значения этой переменной, или при добавлении новыхисполняемых файлов в указанные в ней каталоги, следует выполнять команду rehash, чтобы командный процессор обнаружил новые каталоги и команды. Без этойкоманды новые программы будут недоступны, их придется вызывать по полномуимени файла.Операционные системы Лаб.работа №7(Командные процессоры ОС Unix.
Работа сфайлами)202.2 Работа с файлами и каталогами2.2.1 Права доступа к файлам и папкамВозможности доступа к файлам, выполнения команд и перехода в тот илииной каталог можно ограничить путем настройки прав доступа для пользователя, группы и остальных пользователей.При выводе на экран длинного списка (Is -1) файлов и каталогов в Linuxпервые десять отображаемых символов являются индикаторами, что представляет собой соответствующий элемент (файл, каталог, блочное устройство и т. д.),наряду с тем, возможны ли чтение, запись и/или выполнение этого элемента.После создания каталога и файла первый символ в соответствующемдлинном листинге выступает в роли индикатора:каталог(d); файл(-); символьное устройство(с); блочное устройство(b);символьная ссылка(1); именованный канал(р); сокет(s).Следующие девять символов представляют права доступа, настроенныедля файла и каталога.Права доступа можно представить посредством восьмеричного числа (гдечтение - это 4, запись - 2, а выполнение – 1), либо букв (rwx).Права доступа с возможностью чтения позволят просматривать содержимое каталога, с возможностью записи - изменять (добавлять или модифицировать) содержимое каталога, а с возможностью выполнения - переходить (инымисловами, получать доступ) в каталог.2.2.2 Задание прав доступа при создании файла или каталогаПрава доступа, определенные для файла или каталога при их создании,настраиваются исходя из текущего значения umask пользователя.
Используя команду umask, мож настроить права доступа, задаваемые в случае с файлом иликаталогом при их создании.2.2.3 Изменение прав доступаПрава доступа в отношении файлов или каталогов пользователя-владельцаможно изменить с помощью команды chmod.Операционные системы Лаб.работа №7(Командные процессоры ОС Unix. Работа сфайлами)21Первый 0 в строке режима обычно не указывается (поэтому можно ввести777 вместо 0777). Этот заполнитель имеет особое значение. Он представляет собой восьмеричное число, которое можно использовать в случае с командами (выполняемыми файлами) в качестве индикатора того, что команда может выполняться как программа-установщик идентификатора пользователя (UID) (4), программа-установщик идентификатора группы (GID) (2) или стать битом закрепления в памяти (1).
При использовании setuid и setgid команда выполняется с правами доступа, присвоенными пользователю или группе (вместо того чтобы выполняться с правами доступа пользователя или группы, к которой относится запустивший ее выполнение).Задание бита закрепления в памяти для каталога не позволит пользователям удалять или переименовывать файлы в этом каталоге, которыми они не владеют.
Однако если указать соответствующие настройки прав доступа, то пользователи смогут изменять содержимое файлов, которыми не владеют, расположенных в каталоге с битом закрепления в памяти.Последним символом, определяющим права доступа, является t вместо х вслучае с каталогом с битом закрепления в памяти. Раньше команды с битом закрепления обычно оставались в памяти, даже если при этом не использовались.Это старый UNIX-параметр, который не поддерживается в Linux.Параметр -R — это полезная особенность команды chmod.
Используя -R,можно рекурсивно изменять права доступа ко всем файлам каталога, начиная стой или иной точки в файловой системе.2.2.4 Изменение владельца файла или каталогаПри создании файла или каталога учетная запись пользователя присваивается этому файлу или каталогу. То же происходит и в отношении первичнойгруппы. Являясь суперпользователем, можно изменить владение (пользователя)и группу, присвоенную файлу, на другого пользователя и/или группу с помощьюкоманд chown и chgrp.3 Задание на выполнение работы1. Войти в систему под учётной записью studXX(XX –индекс группы).Операционные системы Лаб.работа №7(Командные процессоры ОС Unix. Работа сфайлами)222.
Запустить программу Oracle VM VirtualBox.3. Запустить виртуальную машину Uduntu.4. Открыть интерпретатор командУправление с помощью сочетания клавишCtrl + Alt + T – открытие терминалаCtrl + Alt + Del – завершение сеансаAlt + F4 – закрытие текущего окнаAlt + F2 – открытие текущего окна5. Познакомиться с синтаксисом и выполнением команд интерпретатора6. Создать в каталоге текстовый файл содержащий ФИО студента и произвольное содержание7. Написать сценарий интерпретатора команд, который выводит на экран содержимое файла.
Имя выводимого файла должно задаваться в параметре сценария. Перед выводом содержимого файла необходимо напечатать заголовок,содержащий имя выводимого файла, текущую дату и время.7.1 Создать файл сценария с помощью команды touch и текстового редактораvitouch /TMP/script.shvi /TMP/script.sh<insert>редактирование файлаПервая строка сценария bash должна иметь следующий вид:#! /bin/bash<Esc>:wqПосле создания файла необходимо сделать его выполнимым:chmod u+x /tmp/myscript.shи проверить выполнение сценария:/tmp/myscript.sh8. В корневом каталоге создать папку Документы студентовОперационные системы Лаб.работа №7(Командные процессоры ОС Unix. Работа сфайлами)239.
В папке Документы студентов создать папки Группа ИУ5-51 - Группа ИУ554 и папку Студенты 3 курса.10. В папках с помощью текстового редактора создать текстовые файлы11. Установить разрешения для файлов и папок: К папке Документы студентов разрешить доступ пользователямStud51, Stud52, Stud53, Stud54 К папкам групп разрешить доступ для изменения файлов и добавленияновых только для студентов соответствующих групп К папке Студенты 3 курса разрешить полный доступ всем пользователям12. Проверить правильность установки разрешений13. Ответить на контрольные вопросы4 Контрольные вопросы1. Перечислите задачи, выполняемые командными процессорамиUNIX.2.
Какие существуют варианты запуска командного процессора?3. Что такое стартовые и login- файлы?4. Как используют псевдонимы команд?5. Что такое переменные среды окружения и предопределённые переменные?6. Как можно редактировать командную строку?7. Как устанавливается приглашение shell?8. В какой последовательности производится разбор командной строки?9. В чём заключается работа с заданиями?5 ЛИТЕРАТУРА1.Робачевский А.М. Операционная система UNIX.-СПб.: БХВПетербург, 2001. – 528 с.:ил.1.Негус К.
Ubuntu и Debian Linux для продвинутых. 2-е изд. –СПб.: Питер,2014. -384 с.: ил.Операционные системы Лаб.работа №7(Командные процессоры ОС Unix. Работа сфайлами)2.24Э. Таненбаум. Современные операционные системы. 3-е изд –Спб.: Питер, 2010, 116 с.: ил.6 Приложение Основные команды BASH:help - справка о встроенных командах BASH.help help – о том как получать справку.man – (manual) вызов справки команд (man –help , man <команда>).info – информация о командах ( info <команда>).bash – запуск нового командного интерпретатора .uname -a – показать тип ОС и характеристики (все ключи -animporsv).who и w – показать подключенных пользователейenv – показать переменные средыecho - вывести аргументы командной строки на стандартный вывод (-n не выводится конец строки)PS1=”>>” – изменение подсказки в командной строке (новая “>>”).alias – назначение алиасов командам (можно командам с параметрами)unalias – удаление алиасов из спискаcal/ncal – вызов календаряdate – вызов текущей датыclear – очистка страницы экрана командной строкиexit – завершение текущего командного интерпретатора или скрипта.free – показать информацию о занятой памяти.write – посылка сообщения другому пользователюvi – вызов текстового редактораps – список процессов в системеkill <pid> - завершение работы процесса с номером <pid>Команды для работы с файламиmkdir создание каталогаОперационные системы Лаб.работа №7(Командные процессоры ОС Unix.
Работа сфайлами)25cd (cddir) - изменение текущего каталогаtouch <путь>имя файла - создание пустого файла(touch /tmp/newfile1.txt – создание пустого файла)Создание жёстких и символических ссылокtouch file1 - создание пустого файлаln file1 file1-hardlink- создание жёсткой ссылкиln –s file1 file1-symlink- создание символической ссылкиls –li file1= вывод информации о файле(включая информацию о индексномдескриптореchmod – изменение прав доступа к файлам и каталогамumask – настройка прав доступа при создании файла или каталогаpwd - вывести на экран текущий каталогcp – копирование файлаcat - вывести на экран файл (cat <имя файла> ) или ввод с консоли (cat >><имя файла>). (остановить ввод - Ctrl+Z ).