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


Скачать 0.96 Mb.
Название Лабораторная работа №3 по дисциплине: «Операционные системы»
страница 5/7
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
1   2   3   4   5   6   7

Команда cat

cat - объединяет файлы и направляет их на стандартный вывод.

Синтаксис: cat [ПАРАМЕТР] [ФАЙЛ]...  

Опции:

  • -A, --show-all - эквивалентно использованию -vET

  • -b, --number-nonblank - нумерует все непустые строки выходного файла, начиная c 1

  • -e - эквивалентно -vE

  • -E, --show-ends - выводит в конце каждой строки символ $.

  • -n, --number - нумерует все строки выходного файла, начиная с .



Рис 17. Результат выполнения команды cat –E –n /etc/mtab

  • -s, --squeeze-blank - заменяет набор пустых строк одной пустой строкой

  • -t - эквивалентно -vT

  • -T, --show-tabs - выводит символы табуляции в формате ^I

  • -v, --show-nonprinting - выводит управляющие символы кроме символов перевода строки (LFD) и табуляции (TAB), для которых использует символ ^ и M-нотацию

Команда tee

tee считывает данные из стандартного устройства ввода и записывает их на стандартное устройство вывода или в файл.

Синтаксис: tee [ПАРАМЕТР]... [ФАЙЛ]...  

Выполнение: воспользуемся командой tee для записи в файл file.txt и посмотрим его содержимое.



Рис 18. Результат выполнения команды tee file.txt

Опции:

  • -a, --append - добавлять данные к указанным файлам, не перезаписывать

  • -i, --ignore-interrupts - игнорировать сигналы прерываний


Команда more

Данная команда представляет фильтр для вывода текста.

Синтаксис: more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

Опции:

  • -num – устанавливает размер экрана в строках

  • -d – выводит для пользователя приглашение и сообщение, если нажимается неверная кнопка.

  • -f – вместо строк экрана подсчитывает логические строки, не усекая длинные строки

  • -р – не выполняет прокрутку: полностью очищает экран, а затем отображает текст

  • -s – заменяет несколько подряд идущих пустых строк одной пустой

  • +/ pattern – до отображения каждого файла выполняет поиск строк по заданному образцу

  • + linenum – начинает отображение со строки с указанным номером linenum

Выполнение: выведем содержимое файла text1.



Рис 19. Результат выполнения команды more ./text1

Выполнение: выведем всего 5 строк текста, заменив несколько пустых строк одной.



Рис 20. Результат выполнения команды more –f -s -5 txt
Команда file

Команда file проводит серию тестов, пытаясь классифицировать файлы, указанные в командной строке. Если файл текстовый, команда пытается по первым 512 байтам угадать язык программирования. Для выполняемых файлов выдается также номер версии, если он больше 0

Синтаксис: file [-c] [-f файл_имен] [-m магический_файл] файл ...

Выполнение: команда file без параметров.



Рис 21. Результат выполнения команды file дсврсм.jpg

Опции:

  • -c -Проверка правильности формата магического файла. При наличии опции -c типы файлов не определяются.

  • -f файл_имен - Определяются типы файлов, имена которых заданы в файле_имен.

  • -m магический_файл - Задается магический_файл, отличный от стандартного, /etc/magic. Магический файл содержит список магических чисел, по которым и производится классификация. Комментарии в начале файла /etc/magic объясняют его формат.


Перенаправление потока вывода

Во многих случаях удобнее работать не со стандартным выводом на монитор, а с файлами. Файлы можно сохранять, редактировать, посылать по почте, и т.д. Можно перенаправить вывод команды в файл, применив оператор перенаправления > и указав имя файла. При этом не важно, существует ли такой файл на самом деле. Если такого файла нет, то он будет создан, а если есть, то перезаписан.

Выполнение: выведем в файл txt команды прочтения этого же файла more –f -s -5 txt и посмотрим результат.



Рис 22. Результат перенаправления вывода команды more –f -s -5 txt в файл

Можно дописать в файл вывод других команд, не уничтожая имеющегося содержимого. Для этого служит оператор >> .
Перенаправление потока ввода

Перенаправление потока ввода < можно продемонстрировать на команде wc –w которая служит для подсчета числа слов. Конечно, данная команда может работать, если указать в качестве аргумента файл, но можно также воспользоваться оператором < для перенаправления потока ввода из файла.



Рис 23. Результат перенаправления потока ввода
Каналы

Особым вариантом перенаправления вывода является организация программного канала. Для этого две или несколько команд, таких, что вывод предыдущей служит вводом для следующей, разделяются символом "|". При этом стандартный выходной поток команды, расположенной слева от символа |, направляется на стандартный ввод программы, расположенной справа от символа |. Выполнение:



Рис 24. Результат выполнения команды cat txt | wc –w >>txt | cat txt
Полученный результат означает, что вывод команды cat, т.е. текст из файла txt, будет направлен на вход команды wc -w, которая посчитает количество слов и запишет это в файл txt. Как только запись произошла, команда cat выведет этот файл на экран.

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

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

Команда chmod

Для изменения прав доступа к файлу используется команда chmod. Ее можно использовать в двух вариантах. В первом варианте вы должны явно указать, кому какое право даете или кого этого права лишаете:

[user]$ chmod wXp имя-файла

где вместо символа w подставляется либо символ u (т. е. пользователь, который является владельцем); либо g (группа); либо o (все пользователи, не входящие в группу, которой принадлежит данный файл); либо a (все пользователи системы, т. е. и владелец, и группа, и все остальные). Вместо X ставится: либо + (предоставляем право); либо – (лишаем соответствующего права); либо = (установить указанные права вместо имеющихся), Вместо p — символ, обозначающий соответствующее право:

  • r (чтение);

  • w (запись);

  • x (выполнение).

Синтаксис:

chmod [опции] режим файл...

Выполнение: лишим права чтения файла txt его владельца oleg.



Рис 25. Лишения владельца права на запись в файл txt

Попробуем прочитать этот файл. Сообщение указывает на отсутствие полномочий.



Рис 26. Попытка чтения

Опции:

  • -c, --changes - подробно описывать действия для каждого файла, чьи права действительно изменяются.

  • -f, --silent, --quiet - не выдавать сообщения об ошибке для файлов, чьи права не могут быть изменены.

  • -v, --verbose - подробно описывать действие или отсутствие действия для каждого файла.

Второй вариант задания команды chmod (он используется чаще) основан на цифровом представлении прав. Для этого мы кодируем символ r цифрой 4, символ w — цифрой 2, а символ x — цифрой 1. Для того, чтобы предоставить пользователям какой-то набор прав, надо сложить соответствующие цифры. Получив, таким образом, нужные цифровые значения для владельца файла, для группы файла и для всех остальных пользователей, задаем эти три цифры в качестве аргумента команды chmod (ставим эти цифры после имени команды перед вторым аргументом, который задает имя файла). Например, если надо дать все права владельцу (4+2+1=7), право на чтение и запись — группе (4+2=6), и не давать никаких прав остальным, то следует дать такую команду:

[user]$ chmod 760 file_name
Выполнение: запретим все права для файла для всех. Команда ls –l отобразит права пользователей.



Рис 27. Результат запрета.

Однако пользователь oleg все равно может изменять права для файла.

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

Выполнение: установим на каталог untitled2 права –r-- r-- --- ,а на файл /untitled2/txt –rwxrwxrwx(полные права). При этом пользователь oleg(владелец) не может получить доступ к каталогу.



Рис 28. Нет доступа к каталогу.

И даже посмотреть установленные права на файл txt и изменить их



Рис 29. Нет доступа просмотра прав файла, с полными правами.



Рис 30. Нет доступа к изменению прав файла.

Пользователь os не может прочитать файл txt из каталога.



Рис 31. Нет доступа к чтению у других пользователей.

Чтобы, в принципе, иметь доступ к файлу, вы должны иметь право на исполнение ко всем каталогам вдоль пути к файлу и право на чтение (или исполнение) к самому файлу. Как правило, пользователи системы Linux не скрывают свои файлы. Обычно права доступа к файлам устанавливаются как -rw-r-r--, что позволяет другим пользователям читать файлы, но не изменять их. Для каталогов права доступа часто предоставляются в виде -rwxr-xr-x, что позволяет другим пользователям просматривать ваши каталоги, но не создавать и не удалять файлы в них.

  • -R, --recursive - рекурсивное изменение прав доступа для каталогов и их содержимого.

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

Есть еще о три возможных атрибута файла, устанавливаемых с помощью той же команды chmod. Это те самые атрибуты для исполняемых файлов, которые в индексном дескрипторе файла в двухбайтовой структуре, определяющей права на файл, занимают позиции 5-7, сразу после кода типа файла.

Первый из этих атрибутов — так называемый "бит смены идентификатора пользователя". Смысл этого бита состоит в следующем.

Обычно, когда пользователь запускает некоторую программу на выполнение, эта программа получает те же права доступа к файлам и каталогам, которые имеет пользователь, запустивший программу. Если же установлен "бит смены идентификатора пользователя", то программа получит права доступа к файлам и каталогам, которые имеет владелец файла программы (таким образом, рассматриваемый атрибут лучше называть "битом смены идентификатора владельца"). Это позволяет решать некоторые задачи, которые иначе было бы трудно выполнить. Самый характерный пример — команда смены пароля passwd. Все пароли пользователей хранятся в файле /etc/passwd, владельцем которого является суперпользователь root. Поэтому программы, запущенные обычными пользователями, в том числе команда passwd, не могут производить запись в этот файл. А, значит, пользователь как бы не может менять свой собственный пароль. Но для файла /usr/bin/passwd установлен "бит смены идентификатора владельца", каковым является пользователь root. Следовательно, программа смены пароля passwd запускается с правами root и получает право записи в файл /etc/passwd (уже средствами самой программы обеспечивается то, что пользователь может изменить только одну строку в этом файле). Установить "бит смены идентификатора владельца" может суперпользователь с помощью команды #chmod +s file_name.

Еще один возможный атрибут исполняемого файла — это "бит сохранения задачи" или "sticky bit" (дословно — "бит прилипчивости"). Этот бит указывает системе, что после завершения программы надо сохранить ее в оперативной памяти. Удобно включить этот бит для задач, которые часто вызываются на выполнение, так как в этом случае экономится время на загрузку программы при каждом новом запуске. Этот атрибут был необходим на старых моделях компьютеров. На современных быстродействующих системах он используется редко. Если используется цифровой вариант задания атрибутов в команде chmod, то цифровое значение этих атрибутов должно предшествовать цифрам, задающим права пользователя:# chmod 4775 file_name

При этом веса этих битов для получения нужного суммарного результата задаются следующим образом:

4 — "бит смены идентификатора пользователя",

2 — "бит смены идентификатора группы",

1 — "бит сохранения задачи (sticky bit)".

Если какие-то из этих трех битов установлены в 1, то несколько изменяется вывод команды ls -l в части отображения установленных атрибутов прав доступа. Если установлен в 1 "бит смены идентификатора пользователя", то символ "x" в группе, определяющей права владельца файла, заменяется символом "s". Причем, если владелец имеет право на выполнение файла, то символ "x" заменяется на маленькое "s", а если владелец не имеет права на выполнение файла (например, файл вообще не исполняемый), то вместо "x" ставится "S". Аналогичные замены имеют место при задании "бита смены идентификатора группы", но заменяется символ "x" в группе атрибутов, задающих права группы. Если равен 1 "бит сохранения задачи (sticky bit)", то заменяется символ "x" в группе атрибутов, определяющей права для всех остальных пользователей, причем "x" заменяется символом "t", если все пользователи могут запускать файл на выполнение, и символом "T", если они такого права не имеют.

Задание прав доступа:

Команда

Результат

chmod a+r file

Даёт всем пользователям право на чтение файла.

chmod +x file

Аналогично предыдущему примеру. Если никакие из набора символов a, u, g или o не указаны, то это эквивалентно указанию символа a.

chmod og-x file

Лишает всех пользователей, кроме собственника, права на исполнение файла.

chmod u+rwx file

Разрешает собственнику читать, изменять и исполнять файл.

chmod o-rwx file

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

Chmod 777 file

Даёт всем пользователям право на чтение, запись и исполнение файла.

1   2   3   4   5   6   7

Похожие:

Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная...
Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа...
Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №10. Изучение принципа действия и функциональной...
Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Исследовательская работа «Программное обеспечение операционные системы эв и вм»
Операционная система – это программа, которая запускается сразу. Среди всех системных программ, с которыми приходится иметь дело...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей»
ПО, поддерживает операционные системы Linux, bsd, Mac os, Microsoft Windows, Novell NetWare, BeOS
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Методические указания к выполнению лабораторных работ по дисциплине радиолокационные системы
Лабораторная работа №1 «Изучение принципов построения штатной радиолокационной киа»
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Методические указания для студентов по выполнению лабораторных работ...
Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Комплекс лабораторных работ по дисциплине «Выч системы, сети и телекоммуникации»...
При соединении Computer-Hub/Switch (карта-хаб/свитч) используется следующая схема
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №1 «Создание общих ресурсов и управление ими»
Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование»
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Методические указания к лабораторным и домашним работам по дисциплине «Операционные системы»

Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №
Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №4 по дисциплине «Системы ввода/вывода и периферийные устройства»
Разработать и написать драйвер клавиатуры для учебно-лабораторного стенда sdk написать тестовую программу для разработанного драйвера,...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лабораторная работа №4 по дисциплине «Тестирование по»
Изучить методику функционального тестирования Android приложения, используя Appium
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Рабочая программа учебной дисциплины операционные системы unix unix operational System
Целью учебных занятий курса «Операционные системы Unix» является получение теоретического материала и приобретение навыков в использовании...
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Лекция №17 Операционная система Linux по дисциплине«Операционные системы и оболочки»
Федеральное государственное образовательное учреждение высшего профессионального образования
Лабораторная работа №3 по дисциплине: «Операционные системы» icon Рабочая программа по дисциплине «Операционные системы»
Цель, задачи дисциплины, ее место в подготовке бакалавра, специалиста (с учетом требований фгос)

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск