> Лекция пятая -- Linux как операционная среда (Часть 2) Коротко излагается содержание глав @учебника ``Введение в ОС Linux''|http://heap.altlinux.ru/alt-docs/textbooks/LinuxIntro.george/index.html@. Без демонстрации примеров особого смысла не имеет. > Принципы устройства Linux >> Краткое содержание предыдущей серии . Всё можно понять . Все мы -- процессы . Все они -- файлы . Все наши файлы -- текстовые . Всё делает оболочка с помощью утилит >>> О примерах 0 Примеры запускаются в терминале на соседнем рабочем столе 0 Пример: @посмотреть рабочие столы|run://showworkspaces@ 0 <Внимание!> В примерах нет и тысячной доли возможностей Linux! > Смешение языцей >> Текст как посредник между чловеком и системой Для эффективной работы фалй должны быть <текстовые> . Системные настройки -- @^/etc^|run://ls /etc;;file /etc/p*@, пользовательские настройки -- @^.{файл}^ в домашнем каталоге|run://ls .??*;;file .??*@ . Системные старт/стопные сценарии @^/etc/init.d^|run://ls /etc/init.d/;;file /etc/init.d/n*@ . Утилиты обработки текста (например, ^info coreutils^) .. Строчные: ^cat^, ^tac^, @^tail^|run://tail /etc/passwd@, ^head^, @^sort^|run://sort /etc/passwd@, ^head^, @^grep^|run://grep linux /etc/passwd@, ... .. Работа со словами: @^wc^|run://wc /etc/passwd@, @^cut^|run://cut -d: -f1,5 /etc/passwd@, ... .. Посимвольные: @^tr^|run://tr 'aeui' 'eaiu' < /etc/passwd@, @^iconv^|run://cal \| iconv -f koi8-r -t cp1251@, ... Синтаксис этих файлов <разный>. > Утилиты >> Промежуточный итог: Linux как операционная среда Среда работы в Linux: . Общее пространство имён: файловая система . Общий инструментарий: ФС+текст+процессы . Каждая подзадача имеет инструмент решения . Много инструментов решения одной задачи . Информационная подсистема man/info Детали налицо, необходим <конструктор>. > Триединая оболочка >> Человек не должен работать. Работать должна машина. Человек должен думать. Задачи: . Унификация ручного управления и программы . Взаимодействие с утилитами . Краткость и простота Триединство: 1 Высокоуровневый язык программирования 1 Интерпретатор командной строки 1 Оболочка -- каркас конструктора Имеется <несколько видов> shell. Самая популярная -- ^bash^. > Интерпретатор >> Быстрота + качество = удобство . Входные и выходные сценарии: ^.bash_prifile^, ^.bashrc^, ^.bash_logout^ . @Привязка к клавишам|run://bind -P \| head -20@, ^.inputrc^ . @Сокращения|run://alias;;ll t*@, @задание сокращений|run://alias lm='ls -m';;lm@ . @Достраивание|run://ls te Op ;@ . @Шаблоны для имён файлов|run://echo D*;;ls D*@ . @Окружение:run://set@, @настройка подсказки|run://PS1='OpenLectory > ';;;;@ > Конструктор >> Утилиты + оболочка = решение задачи . Взаимодействие по вводу и выводу: ^>^, ^<^, ^|^ и т. д. . Взаимодействие по управлению: код ошибки, PID дочернего процесса . Анализ результатов работы: подстановка, код ошибки и т. д. . Простота наиболее частых действий: .. Все переменные строковые .. Утилиты запускаются по имени .. Перенаправление В/В за > Размеченный текст >> Выражайтесь регулярно! . Регулярное выражение . Редактирование текстового потока: sed, awk . Полуавтоматическое редактирование Утилиты: ^tr^, ^grep^, ^sed^, ^sort^, ^tail^, ^vim^ Утилиты: ^tr^ / ^sed^ / ^awk^ / ^perl^, ^man^, ^info^ Конструкции: "` `", "|", "$?", ">", и т. п. > Главы учебника +2 @Милай! -- закричал он. -- Что же это, а? Кель сетуасьен! Стелла, что же ты, эта, смотришь!.. Где селёдка? У него же потребности!.. У него же они растут!.. Мои труды читать надо!|http://heap.altlinux.ru/engine/Heap/PNVS#line_3813@ +3 _А. и Б. Стругацкие. ``Понедельник начинается в субботу''._ @Учебник ``Введение в Ос Linux''|http://heap.altlinux.ru/alt-docs/textbooks/LinuxIntro.george/index.html@, главы 2-9.