
- •«Национальный исследовательский ядерный университет «мифи»
- •Н.В. Куликова, е.Н. Петровская
- •XXI век. Общество и образование
- •Глава 1. Исторический экскурс
- •1.1. Отличительные особенности развития электронно-счетного машиностроения
- •1.2. Сферы применения эвм
- •1.3. Этические, правовые и социально-психологические проблемы внедрения эвм
- •Глава 2. Математическое обеспечение
- •2.1. Понятие математического обеспечения
- •2.2. Этапы развития математического обеспечения
- •2.3. Назначение и классификация программного
- •Контрольные вопросы
- •Глава 3. Операционная система
- •3.1. Понятие операционной системы
- •3.2. Типы операционных систем
- •3.2.1. Программное обеспечение системы реального
- •3.2.2. Операционная система пакетной обработки
- •3.2.3. Операционная система разделения времени
- •3.2.4. Системы общего назначения
- •3.3. Основные принципы проектирования
- •3.4. Управление вводом-выводом
- •Вопросы для самоконтроля
- •Глава 4. Схема функционирования операционной системы
- •4.1. Определение основных элементов
- •4.2. Структуры рабочих программ
- •4.3. Уровни операционной системы и виртуальность
- •Контрольные вопросы
- •Глава 5. Иерархическая операционная система
- •5.1. Понятие и структура иерархической операционной
- •5.2. Механизм планирования
- •5.3. Основные блоки операционной системы
- •5.4. Критическая область и синхронизация
- •5.5. Тупики
- •Контрольные вопросы
- •Глава 6. Формальная модель операционной системы
- •6.1. Понятие моделирования и типы моделей
- •6.2. Формальная модель операционной системы
- •6.3. Взаимосвязь процессов и ресурсов
- •6.4. Режимы мультирограммирования
- •Контрольные вопросы
- •Глава 7. Функциональность операционной системы при многозадачных режимах
- •7.1. Система запросов на основную память
- •7.2. Управление запросами
- •7.3. Управление подпулами
- •7.4. Организация управление задачами
- •Контрольные вопросы
- •Глава 8. Идеология совершенствования операционных систем (ос юникс)
- •8.1. Общие положения
- •8.2. Переадресация ввода-вывода
- •8.3. Файловая система ос юникс и ее структура
- •8.4. Ядро системы
- •8.5. Программные компоненты make и sccs
- •8.6. «Генеалогия» системы unix
- •Контрольные вопросы
- •Примерные варианты лабораторных работ по отдельным темам
- •Формат команды
- •Специализированные команды
- •Chkdsk диск:имя_файла.Расш /f /V
- •Перемещение по документу
- •1) Комбинации клавиш:
- •2) Вертикальная полоса прокрутки:
- •3) Кнопки навигатора:
- •Особенности linux
- •Операции с файлами и каталогами
- •Оболочки и команды linux
- •Движение по дереву каталогов
- •Просмотр содержимого каталогов
- •Перенос файлов
- •Уничтожение файлов и каталогов
- •Просмотр содержимого файлов
- •Экранная документация
- •Стандартный ввод и вывод
- •Печать файлов
- •Выход из системы
- •Литература
- •Содержание
- •Глава 1. Исторический экскурс
- •Глава 2. Математическое обеспечение
- •Глава 3. Операционная система
- •Глава 4. Схема функционирования операционной системы
- •Глава 5. Иерархическая операционная система
- •Глава 6. Формальная модель операционной системы
- •Глава 7. Функциональность операционной системы при многозадачных режимах
- •Глава 8. Идеология совершенствования операционных систем (ос юникс)
- •Глава 9. Примерные варианты лабораторных работ по отдельным темам
Уничтожение файлов и каталогов
Для уничтожения файлов используется команда rm (remove).
/home/larry/foo# rm bells shells
/home/larry/foo# ls -F
shells
/home/larry/foo\#
По умолчанию команда rm не выдает предупреждения перед уничтожением файла!
Для уничтожения каталогов используется команда rmdir (remove directory). Эта команда уничтожает каталог только в том случае, если каталог пуст.
Просмотр содержимого файлов
Для просмотра содержимого файлов используются команды more и cat. Команда more выводит содержимое файла на экран по одному экрану за один раз, в то время как команда cat выводит весь файл сразу.
Для того, чтобы увидеть содержание файла shells, введем команду
/home/larry/foo# more
В файле shells содержится список командных оболочек, доступных пользователю в данной системе. В большинстве систем в этот список входят /bin/sh, /bin/bash, /bin/csh.
При использовании программы more для вывода на экран следующей порции текста надо нажимать клавишу Space, а для того, чтобы вывести предыдущую порцию – клавишу b. Чтобы закончить работу команды more, нужно нажать клавишу q.
Команда cat (concatenate) используется для того, чтобы приписывать содержимое одного файла к окончанию другого файла и помещать результат в третий файл.
Экранная документация
Почти все системы семейства UNIX, включая систему LINUX, имеют экранную документацию (man pages). Ее тексты содержат документацию по системным командам, ресурсам, конфигурационным файлам и т. д. и могут быть выведены на экран в процессе работы.
Для доступа к экранной документации используется команда man (manual). Если необходимо узнать, какие есть опции у команды ls, можно ввести команду
/home/larry# man ls
и на экран будет выведена экранная документация для команды ls.
Большинство текстов экранной документации содержит исключительно технические детали команды без особых пояснений.
cd, pwd, cp, mv, rm, mkdir, rmdir
С данной группой команд все очевидно. Следует лишь заметить, что mv может переименовывать не только файлы, но и директории, а cp и rm также прекрасно справляются с директориями, если им указать ключ "-r" (Recursive).
Замечание 1: "cd" без параметров переходит в home-директорию.
Замечание 2: для копирования файла с сохранением пометки о времени следует указывать команде "cp" ключ "-p".
Управление доступом к файлу: chmod
Команда вызывается так:
chmod <режим доступа> имя-файла
Пример: режим доступа – восьмиричное число, по цифре на режим доступа для владельца, группы и остальных (1 - 'x', 2 - 'w', 4 - 'r', цифры складываются):
bobby:~% ls -l file
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:17 file
bobby:~% chmod 775 file
bobby:~% ls -l file
-rwxrwxr-x 1 ivanov lab5 756 Feb 14 20:17 file
Здесь устанавливается разрешение на чтение, запись и выполнение (4+2+1=7) для владельца и группы и только чтение и исполнение (4+1=5) - для всех остальных.
Можно также указывать режим доступа в символьном виде, например, u=rw,g=r,o=. Подробнее про символьное указание режима доступа можно почитать на man-странице команды chmod.
Символьные линки: ln -s
Символьный линк – это специальный вид файла, который не является собственно файлом, а есть ссылка на другой файл. Неким подобием символьных линков являются «ярлыки» (файлы .lnk) в Windows95/NT.
В момент обращения к линку ядро как бы "заменяет" линк файлом, на который он указывает. Для большинства программ (кроме "особо любопытных") то, что какой-то файл является не файлом, а символьным линком, совершенно прозрачно, и они не заметят разницы.
Символьные линки могут указывать как на файлы, так и на директории и даже на другие символьные линки (возможна цепочка типа symlink1µ->µsymlink2µ->µsymlink3µ->µreal_file).
Символьные линки могут ссылаться на файлы в других директориях, причем ссылки могут быть как абсолютными (symlinkµ->µ/etc/termcap), так и относительными (symlinkµ->µ../../etc/termcap), в этом случае файл, на который ссылается линк, ищется не относительно текущей директории, а относительно директории, в которой расположен линк.
Права доступа символьного линка не играют роли – вместо них всегда используются права доступа файла, на который линк указывает.
Символьный линк может ссылаться как на существующий файл, так и на несуществующий, в этом случае он является "висячим линком". Можно даже сделать символьный линк, ссылающийся "сам на себя" (linkµ->µlink).
Для создания символьного линка используется команда "ln" с ключом "-s", при этом указывается что слинковать и куда – порядок параметров такой же, что в командах cp и mv. При просмотре листинга директории в "детальном" формате кроме имени самого линка показывается также, куда он указывает, а самым первым символом (тип файла) ставится "l".
bobby:/tmp/ex1% ls -l
total 1
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt
bobby:/tmp/ex1% ln -s file.txt locallink
bobby:/tmp/ex1% ln -s /etc/fstab abslink
bobby:/tmp/ex1% ln -s ../../etc/termcap rellink
bobby:/tmp/ex1% ls -l
total 1
lrwxrwxrwx 1 ivanov lab5 10 Feb 14 20:45 abslink -> /etc/fstab
-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt
lrwxrwxrwx 1 ivanov lab5 8 Feb 14 20:44 locallink -> file.txt
lrwxrwxrwx 1 ivanov lab5 17 Feb 14 20:45 rellink -> ../../etc/termcap
Возможности, упрощающие работу с командной строкой
Поскольку работа с Unix – это в значительной степени взаимодействие с командной строкой, для облегчения этого процесса существует несколько весьма приятных удобств.
<Tab> может "дописать" имя файла или команды.
Если набрать часть имени файла или команды и нажать <Tab>, то остальная часть имени "допишется" автоматически, если начало однозначно определяет имя.
Быстрое копирование текста. Отметив фрагмент текста в консоли или в окне X, можно вставить его, набрав с клавиатуры или нажав среднюю кнопку мыши (если мышь двухкнопочная – две одновременно в X, или правую кнопку в консоли).
Текст, "уехавший" за верх экрана, еще не исчезает.
Нажав <Shift>+<PgUp>, можно проскроллировать консоль или окно xterm в X .
Оболочки LINUX
Оболочка (командный интерпретатор) является посредником между пользователем и ОС. Она преобразует команды в форму, понятную для ОС. Кроме того оболочка обеспечивает работу многих средств.
BASH – оболочка, используемая по умолчанию (добавлено редактирование командной строки).
CSH (С) – широко известная оболочка, но в ней отсутствует редактирование командной строки.
SH – исходный вариант оболочки Борна, совместимая с BASH.
PDKSH – общедоступная оболочка Корна, сочетающая в себе лучшие черты оболочек Борна и С (редактирование командной строки и история команд).
TCSH – улучшенная версия оболочки С с поддержкой редактирования командной строки;
ASH – усеченная оболочка, используемая при дефиците памяти.
Чтобы знать, какая оболочка используется, необходимо выполнить команду
echo $SHELL.