- •Особенности системы. Основные понятия
- •Основные компоненты ос unix
- •Начало работы с командной строкой, командами, процессами
- •Вход пользователя
- •Ввод простых команд
- •Печать времени
- •Получение информации о работающих пользователях
- •Уничтожение процесса
- •Выход пользователя
- •Формирование команд
- •Формат команд
- •Стандартные файлы
- •Перенаправление стандартного ввода-вывода
- •Организация конвейеров команд
- •Использование метасимволов
- •Файловая система ос unix
- •Общие сведения
- •Структура
- •Именование файлов
- •Механизм защиты файлов
- •Работа с файлами и каталогами
- •Вывод содержимого каталога
- •Изменение текущего каталога
- •Создание каталога
- •Вывод имени текущего каталога
- •Переименование каталога
- •Удаление пустого каталога
- •Вывод содержимого файла, конкатенация файла и создание файла
- •Переименование и перемещение файлов
- •Копирование файлов
- •Удаление файлов и каталогов
- •Установка и изменение режима доступа к файлу
- •Лабораторная работа №6 Управление процессами в ос Linux
- •Введение
- •О процессах linux
- •Клонирование процессов, процессы init и exec
- •Стандартные ввод и вывод
- •Элементарные операции над процессами
- •Перенаправление ввода и вывода
- •Операторы перенаправления ввода-вывода Linux перечислены в таблице 1.
- •Связывание процессов с помощью каналов (конвейеров)
- •Многозадачность
- •Приоритетный и фоновый режимы
- •Мониторинг многозадачной среды
- •Информация о состоянии процессов. Мониторинг процессов с помощью ps
- •Теперь, посмотрим результат вывода следующей команды:
- •Получение списка пользователей, работающих в системе
- •Запуск команд в заданное время с помощью команд at и batch
- •Запуск команд в определенное время с помощью команды at
- •Первая команда
- •После ввода всей команды вы увидите на дисплее нечто, наподобие:
- •Управление многозадачностью
- •Использование команды nohup
- •Изменение приоритета команд с помощью nice
- •Изменение приоритета работающего процесса с помощью renice
- •Прекращение процесса с помощью kill
- •Лабораторная работа №7 Командный интерпретатор shell
- •Запуск и выход из оболочки
- •Интерпретация командной строки
- •Последовательное выполнение команд (символ ;)
- •Специальные символы
- •Поиск всех символов (метасимвол *)
- •Поиск по одному символу (метасимвол ?)
- •Использование кавычек для отмены значения символа пробел
- •Создание простых программ shell и их выполнение
- •Ограничения при именовании программ shell
- •Переменные
- •Позиционные параметры
- •Специальные параметры
- •Именованные переменные
- •Удаление переменных
- •Присвоение значений переменным
- •Использование команды read
- •Арифметические операции: команда let
- •Конструкции языка программирования Shell
- •Комментарии
- •Оператор for
- •Оператор while
- •Условные операторы. Оператор if ... Then
- •Общий формат конструкции if
- •Безусловная передача управления
- •Отладка программы
- •Лабораторная работа №8 Работа в графической среде X Windows
- •К кнопка
- •Линейка пиктограмм
- •Кнопки виртуальных Рабочих столов
- •Список задач
- •Настройка kde
- •Центр управления kde
- •Настройка Панели
- •Добавление ссылок на приложения в Панель kde
- •Работа с файлами и каталогами в kde
- •Файловая система
- •Файловый менеджер Konqueror
- •Операции с файлами и каталогами с помощью файлового менеджера Konqueror
- •Создание файлов и каталогов
- •Изменение атрибутов файла
- •Редактирование файла
- •Работа со стандартными приложениями kde
- •Уничтожение окон в kde (аварийное закрытие программ)
- •Выход из kde
- •Ваши последние действия
- •Содержание
-
Удаление файлов и каталогов
Команда: rm
Формат: rm [флаги] file…
Действие: команда удаляет один или более файлов из каталога. Файлы может удалять только пользователь, имеющий право записи в данный каталог. Разрешения на чтение/запись собственно файла не требуется
Флаги: допускаются три флага:
-
f – отменяет режим запроса подтверждения;
-
r – рекурсивное удаление всего содержимого данного каталога, а затем самого каталога (если в качестве аргумента команды задано имя каталога, то выдается сообщение об ошибки, при наличии -r содержимое рекурсивно удаляется);
-
i (интерактивный режим) – запрашивается подтверждение у пользователя перед удалением каждого файла.
Пример
-
Удаление файлов file1 file2 file3, а затем отмена удаления file1.
$ rm -i file[1-3]
file1: n -(no – нет)
file2: y -(yes – да)
file3: y -(yes – да)
-
Удаление всех файлов в каталоге texts и удаление каталога texts.
$ rm –r /usr/group1/user1/texts/*
$ rmdir /usr/group1/user1/texts
Другое решение:
$ rm –r /usr/group1/user1/texts
Примечание 1
Восстановить уничтоженный файл в ОС UNIX невозможно.
Примечание 2
Ввиду того, что под шаблон «.*» подходит каталог «..», никогда не делайте команды rm -r . * .
-
Установка и изменение режима доступа к файлу
Команда: chmod (change mode)
Формат: chmod mode file
где mode – код защиты
Действие: команда позволяет установить и изменить права доступа по чтению, записи и выполнению для одного или более файлов
Код защиты: код защиты mode может быть задан в числовом (в восьмеричной системе) или символьном виде
Числовой код защиты применяется, если необходимо установить полный код защиты файла. В этом случае невозможно установить одни права доступа без изменения остальных. Восьмеричный код защиты представляет собой число из нескольких (от одной до четырех) восьмеричных цифр, каждая из которых представляет три бита. Биты обозначают следующие права доступа:
-
4000 – разрешение смены идентификатора пользователя;
-
2000 – разрешение смены идентификатора группы;
-
1000 – сохранение образа файла в области выгрузки после
отсоединения от него всех процессов;
-
0400 – разрешение чтения владельцу файла;
-
0200 – разрешение записи владельцу файла;
-
0100 – разрешение выполнения владельцу файла;
-
0070 – разрешение чтения, записи и выполнения группе;
-
0007 – разрешение чтения, записи и выполнения прочим
пользователям.
Символьная форма позволяет установить выборочные биты кода защиты и имеет вид:
[ugoa] [+ – =] [rwxstugo], где
-
u – владелец;
-
g – группа;
-
o – прочие;
-
a – все категории пользователей (по умолчанию);
-
+ – разрешить доступ;
-
– – запретить доступ;
-
= – назначить доступ;
-
r – чтение;
-
w – запись;
-
x – выполнение;
-
s – смена идентификатора пользователя или группы;
-
t – сохранение образа файла в области выгрузки;
-
ugo – оставить текущие значения бита доступа.
Пример
-
Установка режима доступа к файлам f1,f2,f3.
$ chmod 644 f1 f2 f3 (где 644 соответствует rw-r--r---)
-
Изменение режима доступа к файлам f1,f2,f3.
$ ls -l
-r-- --- --- ... f1
-r-- --- --- ... f2
-r-- --- --- ... f3
$ chmod a=r, u+w f1 f2 f3
или (эквивалентный вариант изменения прав доступа)
$ chmod u=rw, go=r f1 f2 f3
$ ls -l
-rw- r-- r-- ... f1
-rw- r-- r-- ... f2
-rw- r-- r-- ... f3
$ chmod o-r f1 f2 f3
$ ls -l
-rw- r-- --- ... f1
-rw- r-- --- ... f2
-rw- r-- --- ... f3
(другие пользователи, не входящие в группу, потеряли право читать файлы)
Контрольные вопросы
-
Назовите основные компоненты и свойства ОС UNIX.
-
Какой символ в UNIX служит приглашением к работе?
-
Какие возможности предусмотрены в ОС UNIX для исправления ошибок при наборе текста команд?
-
Каким образом можно остановить выполнение команды?
-
Какая команда выдает информацию о состоянии процесса?
-
Опишите действие команды kill.
-
Опишите формат команд в системе UNIX.
-
С помощью какой процедуры можно направить результаты команды в некоторый файл (вместо вывода на терминал)?
-
С помощью какой процедуры можно направить данные некоторой команде не с вашего терминала, а из другого источника?
-
Можно ли направить данные от одной команды к другой, не пользуясь временным файлом? Если да, то как называется эта процедура и как ее вызвать?
-
Каково значение символов *, ?, [ ] в именах файлов и каталогов?
-
Какой тип файловой системы используется в UNIX? Дайте ее определение.
-
Назовите соглашения по наименованию каталогов и файлов в ОС UNIX?
-
Какие три уровня прав доступа по чтению и записи существуют в UNIX? Как они обозначаются?
-
Определите действие каждой из следующих команд: ls, mv, cd, mkdir, rmdir.
-
Если вы забыли свое положение в файловой системе, каким образом вы определите, где находитесь?
-
Как вы можете узнать каталог по имени файла?
-
Опишите действие каждой из следующих команд: >, cat, mv, cp, rm.
-
Укажите результаты следующих команд:
-
cat file file2;
-
cat file1 file2 > file3;
-
cat file4.
-
Что представляет собой команда установки и изменения режима доступа к файлам? Зачем вам может понадобиться ее использовать?
-
Опишите результаты следующих команд:
-
chmod 755 file1;
-
chmod 664 file2;
-
chmod 700 file1.
Практическая часть
-
Войдите в систему UNIX.
-
Посмотреть рабочий каталог.
-
Посмотрите дату и информацию о работающих пользователях. Команды задать в одной строке.
-
Даны команды подсчета числа пользователей и числа файлов в текущем каталоге:
1) $ who > temp 2) $ ls > temp
$ wc –l < temp $ wc –l < temp
Пересмотреть эти команды с точки зрения использования программных каналов вместо временных файлов.
-
В каталоге userX (X – номер компьютера) составьте следующее дерево каталогов
,
где X – номер вашего компьютера.
-
Просмотреть содержимое собственного каталога (userX). При просмотре использовать различные флаги.
-
Удалить каталог К4.
-
Переименовать каталоги: К5 в К11, К6 в К12, К7 в К31, К8 в К32, К9 в К121.
-
В каталоге К2 создать два содержательных файла объёмом 5 – 10 строк с произвольным именем.
-
Просмотреть содержимое этих файлов командой cat.
-
Переместить файлы в каталог К9.
-
Сделать конкатенацию файлов и направить результат в файл file3 в том же каталоге.
-
Просмотреть файл file3.
-
Скопировать файл file3 в остальные каталоги.
-
Удалить каталог К1 со всем его содержимым с помощью команды rm –r.
-
Переименовать файл file3 в file1.
-
Изменить режим доступа к файлу file1 (например, разрешить изменение файла всем пользователям).
-
Удалить файл file1 из каталога К2.
-
Удалить оставшиеся каталоги и файлы.
