Слайд 2UNIX – это семейство многопользовательских, многозадачных ОС.
Компьютер, работающий под управлением
UNIX, может решать одновременно несколько задач, которые принадлежат разным пользователям. Управление этими задачами производится с различных терминалов, присоединенных к UNIX – серверу.
Перед началом работы с ОС необходимо произвести процедуру присоединения к серверу, при которой пользователь должен указать имя машины и пользовательский пароль.
UNIX относится к сетевым операционным системам.
Слайд 3Сетевые операционные системы - системные программные средства, управляющие процессами в компьютерных
сетях, объединенные общей архитектурой, определенными коммуникационными протоколами и механизмами взаимодействия вычислительных процессов.
Предназначены для эффективного решения задач распределенной обработки данных, т.е. обработки данных на нескольких компьютерах, объединенных сетью (локальной или глобальной).
Требования к СОС:
1) единая системная архитектура;
2) обеспечение требуемого высокого уровня прозрачности;
3) высокоуровневая и высоконадежная файловая система.
Слайд 4Единая системная архитектура. Понятие "системная архитектура" охватывает следующие вопросы:
– распределение функций
между узлами сети;
– принципы построения коммуникационных протоколов;
– методы выполнения отдаленных операций типа "клиент–сервер";
– структуру сетевой файловой системы;
– уровни прозрачности доступа к сети;
– принципы защиты данных;
– свойства общесетевого адресного пространства.
Файловая система определяет производительность и надежность всей системы в целом.
Слайд 5ФАЙЛОВАЯ СИСТЕМА И
ОСНОВНЫЕ КОМАНДЫ
LINUX
Слайд 6ФАЙЛОВАЯ СИСТЕМА
Файловая система (ФС) — это часть ОС, включающая:
- совокупность всех
файлов на диске;
- наборы структур данных, используемых для управления файлами;
- комплекс системных программных средств, реализующих операции над файлами (создание, уничтожение, чтение, запись, именование и поиск файлов).
Файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
Слайд 7Структура ФС организована на физическом и логическом уровнях.
Физический уровень задаёт
машинное представление информации на носителях
(в основе – inode (индексный дескриптор));
Логический уровень описывает форму, в которой ФС доступна прикладным программам и пользователям
(иерархическая структура в виде дерева каталогов, символьные имена файлов, команды работы с файлами).
Слайд 8Иерархия каталогов в Linux
/ - Корневой каталог
bin
- Файлы основных команд (утилит)
boot - Файлы загрузки системы
dev - Файлы устройств
etc - Файлы конфигурации системы
home - Домашние каталоги пользователей
lib - Основные разделяемые библиотеки
mnt - Точка монтирования для временно
подключаемых файловых систем
root - Домашний каталог суперпользователя
opt - Дополнительные пакеты ПО
sbin - Основные системные исполняемые файлы
tmp - Временные файлы
usr - Все установленные пакеты программ,
справочная документация
var - Переменные данные (журналы ОС, кэш-файлы)
Слайд 9Типы файлов Linux
Обычный файл (-):
Блок информации,
текст, программа;
Каталог (d): информация о других файлах и каталогах;
Специальный файл устройства (b, c):
Обеспечивает доступ к физическому устройству.
Реализует программный обмен информацией с устройствами;
Именованный канал (FIFO):
Системная структура для обмена данными между процессами;
Символическая ссылка (l): Указатель на файл.
Сокет: Системная структура для сетевого или межпроцессного взаимодействия.
Слайд 10Права доступа к файлу
Три базовых класса доступа к файлу:
User access
(u) -для владельца-пользователя;
Group access (g)-для членов группы, являющейся владельцем файла;
Other access (о) -для остальных пользователей (кроме root).
Три типа прав доступа для каждого класса:
на чтение (read - r);
на запись (write - w);
на выполнение (execute - х).
Операции изменения прав:
'+' — добавить право,
'-' — удалить,
'=' — присвоить.
Символ «-» - права нет, «r,w,x» - право есть.
Слайд 11Команды работы с файлами
$ команда_-ключи_параметры
Ключи – символы, уточняющие
значение команды.
Параметры – имена файлов.
man команда
Вывести на экран справку ОС UNIX по команде и её ключам.
ls -ключи имя
Просмотр содержимого каталога (списка файлов).
ls –l /usr/sbin – получить подробную информацию о содержимом каталога /usr/sbin с атрибутами файлов;
ls –l *.c – получить сведения о файлах текущего каталога, имена которых заканчиваются на «.с».
Слайд 12Атрибуты файлов:
тип файла (каталог, обычный, ссылка и т.д.);
режим доступа ();
число жёстких
ссылок (дополнительных имён);
«владелец» файла;
группа-владелец»;
размер файла в байтах;
дата и время создания или последней модификации;
имя файла.
Слайд 13cd каталог
Смену текущего каталога на указанный.
cd /usr/sbin – перейти
в каталог /usr/sbin;
cd .. – перейти в каталог выше;
cd text – перейти в каталог text, расположенный в текущем каталоге.
cd ~ - перейти в свой домашний каталог.
mkdir каталог
Создание каталога с указанным именем.
mkdir test
mkdir /home/john/programs
pwd
Выдает полное имя текущего каталога.
rmdir каталог
Удаление указанного каталога.
Слайд 14touch файл
Создать файл с указанным именем (1-й способ).
touch а1 – создать пустой файл а1.
cat файл
Выдает содержимое указанного файла на экран.
cat a1 – посмотреть содержимое файла а1.
cat_> файл – 2-й способ создания файла.
(CTRL+c (z) – прекращение работы с командой.)
head, tail –n файл
Посмотреть только первые n строк (head) или
последние n строк (tail) файла.
cp файл(ы) куда
Копирование файла в указанный файл или
каталог.
cp ~/а1 а2– копирование файла а1 в файл а2;
cp а1 /home/john/D1 – файла а1, в указанный каталог D1.
Слайд 15mv файл(ы) куда
Переименование или перемещение файлов.
mv a1
a2 – переименовать файл а1 в а2.
mv a1 ~/D1 – переместить а1 в каталог D1
rm файл(ы)
Удаление указанного файла или группы файлов, заданных шаблоном имени.
rm а1– удаление файла а1;
rm -r * - удаление всех файлов текущего
каталога.
ln файл имя ссылки
Создание жёсткой ссылки на указанный файл с указанным именем.
ln а1 D1/D2/a1_h – создать жёсткую ссылку с именем a1_h в каталоге D2 на файл а1.
ln –s файл имя ссылки
Создание символической ссылки.
Слайд 16vi файл
Редактирование файла.
(если указанный
файл существует, он будет открыт в редакторе, иначе редактор создаст новый файл с заданным именем)
Клавиша
i – режим редактирования;
ESC – выход из режима редактирования;
:w – сохранение текущего файла;
:w file – сохранение файла под именем file;
:wq - сохранение файла и выход из vi;
:r file - вставить в текущий файл содержимое
файла file.
Слайд 17chmod mode file
Изменяет права доступа к
файлу
chmod g-wx а1 – у группы забрать права на
запись и исполнение файла а1.
chmod a+w а1 – всем добавить право на запись
chmod go=r а1 – для файла а1 присвоить права
только для группы и остальных на чтение.
chmod 777 а1 – у всех все права.
grep образец файл
Поиск образца в строках текста файла.
grep 3 * - найти 3 в строках всех файлов
текущего каталога.
grep vova a1 – показать строки файла а1 с
«vova».
Слайд 18cut –fn -d файл
Вывести содержимое n-го столбца файла
с указанным разделителем.
cut –f2 -d” ” а1 – вырезать 2-й столбец
файла а1, отделённый пробелом.
sort файл
Сортирует строки файла (по алфавиту).
-r -сортирует в обратном порядке;
-o файл - сохраняет результат сортировки в
выходном файле;
-u -выводит повторяющие строки только один раз;
-n -сортирует по числовому коду символа;
-kn -по указанному номеру поля (столбцу).
sort -r a1 –o a2 – отсортировать файл а1 в обратном порядке, результат вывести в файл а2.
Слайд 19find имя
Поиск файла (каталога) в файловой системе.
wc -ключ [файл]
Подсчет
символов, строк и слов.
-l – количество строк,
-w – количество слов,
-с – количество символов.
wc –l /etc/passwd – вывести число строк в файле /etc/passwd (число зарегистрированных в системе пользователей).
еcho параметры
Выдает на экран свои параметры.
еcho Hello – выдать на экран «Hello».
Слайд 20Перенаправление стандартного вывода
Используется знак >:
cat a1 - вывод на
экран;
cat a1 > a2 - вывод в файл a2;
cat a1 >> a2 - добавить в конец файла a2
содержимое файла а1.
Перенаправление стандартного ввода
Используется знак <:
mail - ввод сообщения с экрана;
mail < mes - ввод сообщения из файла mes.
Соединение команд конвеером (pipe)
Обозначается знаком |.
Результат выполнения одной команды переходит на выполнение другой команды.
Слайд 21who | wc -l - подсчет числа активных
пользователей;
ls -l /tmp | grep maryann | sort –u | lpr
листинг поиск записей сортировка печать
Стандартный поток ошибок
Сообщения об ошибках, возникающих при выполнении команд, выводятся на экран.
Поток ошибок обозначается 2.
Его можно перенаправить в какой-либо файл.
grep 3 * 2> ~/error – сообщения о том, что в каких-то файлах не найдены строки с 3, отправлены в файл error домашнего каталога.
ls –l D1 2>error.
Слайд 22Командный интерпретатор SHELL
Shell (oболочка) в Linux - это программа, воспринимающая ввод
команд от пользователя и выполняющая их.
Cкрипт - программа на языке shell (script)
(исполняемый файл, содержащий команды).
Создание скрипта:
1) cat > имя_скрипта
2) vi имя_скрипта
Созданный скрипт должен иметь право на исполнение:
chmod a+x имя_скрипта
Запуск скрипта:
1) sh имя_скрипта
2) ./имя_скрипта
Слайд 23 Средства группировки команд:
; - последовательное выполнение команд;
& - фоновое выполнение
предыдущей команды;
&& - выполнение последующей команды при условии нормального завершения предыдущей;
|| - выполнение последующей команды при ненормальном завершении предыдущей.
Для группировки команд также могут использоваться фигурные "{}" и круглые "()" скобки.
k1 && k2; k3
команда "k2" будет выполнена только при успешном завершении "k1"; "k3” - в любом случае.
{k1; k2} &
В фоновом режиме будет выполняться последовательность команд "k1" и "k2".
Слайд 24Shell-переменная.
Имя shell-переменной - это начинающаяся с буквы последовательность букв, цифр и
подчеркиваний.
Значение shell-переменной - строка символов.
Для присваивания значений переменным может использоваться оператор присваивания "=".
При обращении значению shell-переменной необходимо перед именем ставить символ "$".
Например: var2=13
echo $var2
выдаст на экран 13,
echo var2
выдаст на экран var2.
Слайд 25Позиционные параметры и специальные переменные.
В скрипт могут быть переданы параметры. Используются
позиционные параметры (существенна очередность их следования).
Интерпретатор shell автоматически присваивает значения следующим переменным (параметрам): $0 – имя скрипта;
$1..$9 – позиционные параметры;
$? - Результат предыдущей команды
(0-успешно, 1-нет);
$$ - номер процесса;
$! - номер фонового процесса;
$# - число позиционных параметров в скрипте;
$* - перечень параметров, как одна строка;
$@ - перечень параметров, как совокупность слов.
Слайд 26Пример:
vi script_1
ls –l $1 | wc –l; echo $2 | wc
–w
chmod a+x script_1
sh script_1 D1 a1
Скрипт подсчитывает число файлов в каталоге, указанном в параметре $1 и число слов в файле, указанном в параметре $2. Значение параметров $1 и $2 задаются при запуске скрипта через пробел.
Слайд 27 Условный оператор "if"
Оператор "if" имеет структуру
if [
условие ]
then список
[elif условие
then список]
else список
fi
Условия записываются в форме ключей
-gt (>), -lt (<), -le (<=), -ge (>=), -eq (=),
-ne (не равно).
Пример: if [ $1 –ne $2 ]
then cat a1
else echo a1
fi
Слайд 28Оператор выбора "case.
Оператор выбора "case" имеет структуру:
case
переменная in
шаблон) список команд;;
шаблон) список команд;;
...
esac
Пример: case $i in
1) sort a1;;
2) sort –r a1;;
*) cat a1;;
esac
При запуске sh script 1 выполняется сортировка а1, при - sh script 2 - сортировка а1 в обратном порядке, при - sh script 3 – вывод содержимого а1.
Слайд 29Оператор цикла с перечислением "for" имеет структуру:
for переменная [in список значений]
do
список команд
done
Пример: for i in *
do
cat $i
done
-вывести все файлы текущего каталога
Слайд 30Оператор цикла с истинным условием.
Оператор цикла "while" имеет структуру:
while
[ условие ]
do
список команд
done
- Список команд в теле цикла (между "do" и "done") повторяется до тех пор, пока сохраняется истинность условия.
- При первом входе в цикл условие должно выполняться.
- Начальное истинное значение задаётся перед циклом.
Слайд 31
Оператор цикла с ложным условием.
Оператор цикла "until" имеет структуру:
until
[ условие ]
do
список команд
done
- Список команд в теле цикла (между "do" и "done") повторяется до тех пор, пока сохраняется ложность условия.
- При первом входе в цикл условие не должно выполняться.
- Начальное значение условия задаётся перед циклом.
Слайд 32Пример 1: x=0
while [
$x –lt 5 ]
do
cat a1
x=`expr $x + 1`
done
Выводится содержимое файла а1 на экран 5 раз.
Пример 2: x=0
until [ $x –eq 1 ]
do
cat a1
echo ‘show again?’
read x
done
Пока x не равен 1, на экране – содержимое а1. Значение х задаётся с клавиатуры.
Слайд 33Функция в shell.
Функция позволяет подготовить список команд для последующего
выполнения.
Описание функции имеет вид:
имя()
{
список команд
}
имя
- Функция используется для выполнения действия рекурсивно.
for i in *
do
if [ -d $i ]
then
cd $i; fn; cd ..
else
grep 3 $i && echo $i
fi
done
}
fn
Рекурсивный поиск (в каталоге и подкаталогах) файлов, содержащих строки с цифрой 3.