Свободные программы и системы в школе
Добавить в закладки К обложке
- Введение. Зачем программам быть свободными? - Страница 1
- 0.1 Право и экономика ПО - Страница 2
- 0.2 Применимость СПО при реализации «Обязательного минимума...» - Страница 3
- 0.3 Логика и последовательность освоения СПО - Страница 4
- Глава 1. Краткое введение в открытые ОС - Страница 5
- 1.1 Операционные системы - Страница 6
- 1.2 Практическая интеграция - Страница 9
- 1.3 Почему командная строка? - Страница 16
- 1.4 Сеанс работы и команды - Страница 18
- 1.5 Файлы и файловые структуры - Страница 22
- 1.6 Процессы - Страница 31
- 1.7 Переменные - Страница 35
- 1.8 Конвейер - Страница 38
- 1.9 Элементы обработки текста - Страница 40
- 1.10 Элементы программирования оболочки - Страница 45
- 1.11 Справочник по наиболее употребительным стандартным командам ОС - Страница 50
- 1.12 Перечень стандартных команд ОС - Страница 56
- Глава 2. Графический пользовательский интерфейс - Страница 60
- 2.1 Оконная система «Икс» и XFree86 - Страница 61
- 2.2 Цветной сэндвич - Страница 62
- 2.3 «Чистая» «Икс» - Страница 63
- 2.4 Окноводы - Страница 64
- 2.5 Столоначальники - Страница 65
- 2.6 Триумф интерфейса над пользователем? - Страница 66
- 2.7 От какого наследства нам не стоит отказываться? - Страница 67
- 2.8 Зачем нужны «легкие» среды? - Страница 68
- 2.9 Базовая функциональность оконного менеджера - Страница 69
- 2.10 «Виджеты» - Страница 70
- 2.11 Расширенная функциональность оконного менеджера - Страница 71
- 2.12 Оконные менеджеры «BlackBox» и «FluxBox» - Страница 72
- 2.13 Оконный менеджер «WindowMaker» - Страница 73
- 2.14 Оконный менеджер «IceWM» - Страница 74
- 2.15 Интегрированные графические среды - Страница 75
- 2.16 Плюсы и минусы интегрированных сред - Страница 76
- 2.17 Общие черты интегрированных сред - Страница 77
- 2.18 «Гном» (Модельная среда сетевых объектов GNU) - Страница 78
- 2.19 «КДЕ» (Настольная среда K) - Страница 80
- Глава 3. Пакет «Мозилла» - Страница 81
- 3.1 Базовая функциональность «Мозилла»66 - Страница 82
- 3.2 «Мозилла»: как это сделано - Страница 84
- Глава 4. «Открытый Офис» - Страница 85
- 4.1 Словарный процессор «OpenWriter» - Страница 86
- 4.2 Редактор электронных таблиц «OpenCalc» - Страница 90
- 4.3 Редактор векторной графики «OpenDraw» - Страница 93
- Глава 5. Редактор растровой графики «ГИМП» - Страница 97
- 5.2 Источники и параметры и форматы представления растровой графики - Страница 98
- 5.3 Общие сведения о «ГИМП» - Страница 99
- 5.4 «ГИМП» – программируемый графический редактор - Страница 100
- 5.5 Фильтрация и синтез изображений - Страница 102
Еще одна локализационная сложность связана с ограничением восьмибитной кодировки: размер одного набора символов ограничен 256 и, соответственно, за вычетом управляющих символов и символов псевдографики места в нем хватает только на обычную и расширенную латиницу, обычную латиницу и русскую кириллицу или обычную латиницу и украинскую кириллицу.
Работать с текстами, включающими одновременно большее количество символов, можно, используя кодовые таблицы Юникод (стандарт ИСО/МЭК 10646) и кодировку UTF8. Однако не все ОС поддерживают корректную работу текстовых утилит при переменной длине символов. Кроме того, применять при этом вшитый знакогенератор видеоадаптера уже не представляется возможным, и для терминального режима нужен встроенный в драйвер программный знакогенератор. Проблемы, связанные с UTF8-локалью, должны быть решены в современных ОС в течение ближайших лет.
Команда как файл и переменная $PATH
Обратите внимание на переменную $PATH (у Алисы ее значение оказалось равным «/home/alice/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/games»). Значение переменной $PATH интерпретируется оболочкой как список имен каталогов, разделенных двоеточиями. Когда оператор вводит команду, оболочка просматривает эти каталоги в поисках исполняемого файла с именем, совпадающим с именем введенной команды.
Большинство стандартных команд ОС реализовано в виде отдельных программ (исключение составляют так называемые встроенные команды51). Чтобы оболочка нашла и запустила соответствующую программу, путь к ней (т.e. имя каталога, в котором содержится эта программа) должен содержаться в списке, составляющем переменную $PATH. Текущий каталог не исключение – чтобы поиск программы осуществлялся и в нем, он должен в явном виде присутствовать в этом списке52.
Рис. 1-66В приведенном на Рис. 1-66 примере Алиса проверяет значение $PATH, затем добавляет в начало списка текущий каталог и убеждается, что значение переменной приняло искомую форму. (Этот пример демонстрирует особенности экранирования, выполняемого двойными кавычками. Они экранируют пробелы, но, в отличие от апострофов, не мешают раскрытию специальных символов и имен переменных).
Хотя стандартом не определены каталоги, в которых содержатся исполняемые файлы команд, в большинстве современных ОС основным таким каталогом является «/usr/bin/».
Добавление в PATH текущего каталога считается весьма легкомысленным; по крайней мере, суперпользователь никогда не должен этого делать53. Удобным является присутствие в PATH каталога «~/bin/» (в нашем примере «/home/alice/bin/»). В него пользователь может помещать собственные сценарии и другие программы.
Команду, соответствующую программе, чей код размещен вне путей, перечисленных в PATH, можно издать, указав полное или относительное имя файла (например, команда «./моя_программа -o» запустит программу, содержащуюся в файле «моя_программа» в текущем каталоге). Файл должет быть исполняемым.