- •1. Состав компьютерной системы
- •6 Уровней:
- •2. Функции операционной системы. . Операционная система как расширенная машина и менеджер ресурсов
- •3. Этапы развития операционных систем
- •4. Ос реального времени. Распределенные и сетевые ос
- •5. Принципы разработки современных ос
- •12. Основные понятия, концепция ос
- •13. Ядро ос. Основные понятия (монолитные системы, многоуровневые системы, виртуальные машины)
- •14. Ядро ос. Микроядро//модуль клиент-сервер
- •15. Классификация ос
- •16. Мультипрограммирование или многозадачность, критерии организации мультизадачности
- •17. Многопроцессорность: сложность планирования загрузки процессоров, конфликты доступа к общим ресурсам
- •18. Процессы. Основные понятия, состояния процессов
- •19. Обработка прерываний, вектор прерывания
- •20. Алгоритмы планирования процессов
- •21. Создание процессов
- •Процессы Windows
- •22. Идентификаторы
- •23. Системные вызовы для управления процессами
- •24. Форматы исполняемых файлов
- •25. Основные команды Unix для управления процессами
- •26. Память. Типы адресов
- •27. Методы распределения памяти между процессами без использования внешнего накопителя
- •28. Методы распределения памяти между процессами с использованием внешнего накопителя
- •29. Виртуальная память. Способы организации виртуальной памяти. Страничная организация виртуальной памяти. Сегментная и странично - сегментная организация виртуальной памяти.
- •34. Файловая система Unix, виртуальная файловая система vfs
- •35. Файловые ситемы fat, ntfs. Поддержка длинных имен
- •49. Сравнение вариантов организации взаимодействия сетей
- •51. Программирование сокетов
- •52. Открытая система. Стандартные платформы.
- •53. Интерфейс пользователя ос unix. Метасимволы в именах файла.
53. Интерфейс пользователя ос unix. Метасимволы в именах файла.
Метасимволы используются для поиска имен файлов, посредством их упрощается задача указания файлов или групп файлов как аргументов команды.
Поиск всех символов (метасимвол *)
Метасимвол * осуществляет поиск любой строки символов, включая нулевую (пустую) строку. Вы можете использовать * для обозначения полного или частичного имени файла. Просто символ * ищет все имена файлов и справочников в текущем каталоге, за исключением тех, которые начинаются с точки. Чтобы посмотреть метасимвол * в действии, введите его как аргумент в команде echo: echo *. В ответ система распечатает перечень всех имен файлов в вашем текущем каталоге.
Символ * может представлять символы в любой части имени файла. Например, если вы знаете, что несколько файлов имеют одинаковые первые и последние буквы, то вы можете выдать запрос, основываясь на этом факте. Если в вашем каталоге находятся файлы FATE, FE, FADED_LINE, FIG3.4E, FINE_LINE, FAST_LINE, то для отображения всех этих файлов на экране введите команду:
ls F*E
Вы можете, например, с помощью метасимвола * найти все файлы с именами memo в системном каталоге:
ls */memo
Поиск по одному символу (метасимвол ?)
Метасимвол ? осуществляет поиск любого одного символа в имени файла за исключением лидирующей точки. Предположим, вы имеете книгу, в которой 12 глав и хотите получить список глав до 9-ой главы. Если ваш каталог содержит следующие файлы:
Chapter1, Chapter2, Chapter5, Chapter9, Chapter11
то введите команду ls с метасимволом ? для получения всех глав, которые начинаются со строки "Chapter" и заканчиваются одним символом:
$ ls Chapter?
Chapter1 , Chapter2, Chapter5, Chapter9
$
Хотя метасимвол осуществляет поиск одного символа, вы можете использовать его для поиска более одного символа в имени файла. Например, вы получите перечень всех остальных глав в текущем каталоге, если введете следующую команду:
ls Chapter??
И, конечно, чтобы получить список всех глав в текущем каталоге, используйте метасимвол *:
ls Chapter*
Поиск одного набора (метасимвол [])
Если вы хотите, чтобы shell нашел любой символ из перечисленных вами символов, то заключите эти символы в квадратные скобки. Предположим, ваш каталог содержит следующие файлы: cat, fat, mat, rat. Если вы воспользуетесь в качестве части имени файла шаблоном [crf], то shell будет искать имена файлов, в которые входят либо буква ``c'', либо буква ``r'', либо буква ``f'' в указанной позиции. Пример:
$ ls [crf]at
cat fat rat
$
54. Стандартные потоки I\O и диагностики. Конвееры и фильтры. Возможности Shell.
Стандартные потоки ввода-вывода
Оболочка оперирует с вводимой и выводимой информацией посредством файлов специального вида - ``потоков (streams)''. Стандартный вывод - это файл, в который оболочка выводит результаты работы команд - по умолчанию, на экран Вашего терминала. Стандартный ввод (обычно это клавиатура) является источником данных для команд. Если команда считывает данные из стандартного ввода, она делает это до тех пор, пока Вы не введете Ctrl-d в новой строке.
Если команда завершает выполнение с ошибкой, на экран обычно выводится сообщение об ошибке. Это сообщение принадлежит отдельному стандартному потоку для ошибок.
Вы можете перенаправить вывод вместо этих потоков в другие - например, в файл или команду. Ниже приведены операции перенаправления, которые использует оболочка при работе со стандартным вводом или выводом.
Создание конвейеров
Конвейер - это соединение стандартного вывода одной команды со стандартным вводом другой. Вы можете сделать это, указав команды в нужном порядке и разделив их вертикальной чертой `|' (иногда называемой ``трубой (pipe)'').
Например, Вы хотите посмотреть длинный список файлов в каталоге '/usr/bin', используя средство форматирования текста less. Введите:
$ ls -la /usr/bin | less [Enter]
Shell - интерпретатор командного языка
В этом разделе описаны команды и символы, имеющие специальное значение, которые позволяют:
* находить с помощью шаблона и манипулировать группами файлов;
* запускать команду в фоновом режиме или в определенное время;
* выполнять последовательно группу команд;
* перенаправлять стандартный ввод и вывод;
* завершать работающие программы.
