Archive for the ‘Консоль и шеллы’ Category.

Управляющие последовательности

Основные управляющиеся клавиши, которые используются в таких последовательностях (и имеются на клавиатурах почти любых машин -- как говорят в таких случаях, в любых типах терминалов) -- это клавиши Control и Meta. Continue reading ‘Управляющие последовательности’ »

. .

Навигация и редактирование

Имя команды, ее опции и аргументы образуют т.н. командные "слова". В качестве словоразделителей выступают пробелы. Кроме того, как разделители "слов" интерпретируется ряд специальных символов -- прямой слэш (/) -- элемент пути к файлу, обратный слэш (\), служащий для экранирования специальных символов, и операторы командных конструкций, о которых будет сказано ниже. Continue reading ‘Навигация и редактирование’ »

. .

Переменные

Переменные играют для аргументов команд примерно такую же роль, что и псевдонимы -- для команд. То есть избавляют от необходимости мрачного ввода повторяющихся последовательностей символов. Конечно, это -- далеко не единственное (а может быть, и не главное) назначение переменных, однако на данном этапе для нас наиболее существенное. Continue reading ‘Переменные’ »

. .

Псевдонимы

Вернемся на минуту к команде ls . У читателя может возникнуть вполне резонный вопрос: а если я всегда хочу видеть ее вывод в цвете, да еще с символическим различением типов файлов, да еще в "длинном" формате? Ну и без вывода скрытых файлов мне никак не прожить. И что же -- мне каждый раз вводить кучу опций, чтобы получить столь элементарный эффект? Continue reading ‘Псевдонимы’ »

. .

Кое-что об исключениях

Итак, типичная форма POSIX-команды в обобщенном виде выглядит следующим образом: Continue reading ‘Кое-что об исключениях’ »

. .

Пути к файлам

Для правильного построения аргументов команды требуется рассмотрение ещё одного понятия -- пути к файлу. Путь -- это точное позиционирование файла в файловой системе относительно ее корня (обозначаемого символом прямого слэша -- /) или нашего в ней положения -- текущего каталога (который, напомню, символически обозначается единичной точкой -- .). Continue reading ‘Пути к файлам’ »

. .

Аргументы

Таким образом мы подобрались к понятию аргументов командной директивы. Аргументами определяется, как правило, объект (или объекты) действия команды. В большинстве случаев в качестве аргументов команд выступают имена файлов и (или) пути к ним. Continue reading ‘Аргументы’ »

. .

Пример: опции команды ls

Опции определяют условия выполнения команды. На предыдущей странице был приведён пример команды ls без опций. Однако на самом деле отсутствием опций при ней определяется вид выводимого списка по умолчанию -- как многоколочночного списка, состоящего из имен файлов без учета т.н. скрытых файлов (а таковыми являются файлы, имена которых начинаются с символа точки, почему они еще называются dot-файлами), без каких-либо их атрибутов и без визуального различения файлов различных типов. Continue reading ‘Пример: опции команды ls’ »

. .

Опции

Как уже говорилось, указания имени достаточно для выполнения некоторых команд. Типичный пример -- команда ls (от list), предназначенная для просмотра имен файлов (строго говоря, содержимого каталогов). Данная без аргументов, она выводит список имен файлов, составляющих текущий каталог, представленный в некоторой форме по умолчанию, например, в домашнем каталоге пользователя это будет выглядеть примерно так: Continue reading ‘Опции’ »

. .

Автодополнение

Для правильного применения команд, конечно же, нужно знать их имена и назначение. Однако нас никто не заставляет напрягать пальцы вводом имени команды полностью. Потому что тут на помощь приходит великий метод автодополнения. Continue reading ‘Автодополнение’ »

. .

Командная строка

Основой командного интерфейса является командная строка, начинающаяся с приглашения для ввода. Далее он будет обозначаться милым сердцу россиянина символом длинного зеленого друга -- $, если речь идёт о сеансе обычного пользователя, или символом решётки -- #, для приглашения строки в сеансе администратора. Continue reading ‘Командная строка’ »

. .

Введение в CLI

Мир FOSS не обделён визуальными, или графическими (по нашему, по бразильскому, -- Гуёвым) интерфейсами. Однако роль CLI от этого меньше не становится. Ибо CLI а) исконен в Unix'ах, б) универсален, и в) представляет собой базу, для которой GUI всякого рода являют лишь оболочку. Continue reading ‘Введение в CLI’ »

. .

Интерфейс командной строки. Вступление

На протяжении всей книги нам неоднократно приходилось говорить о командах, а некоторые даже использовать на практике. Потому что командный интерфейс (интерфейс командной строки, Command Line Interface, он же CLI) -- это очередная вечная истина POSIX-мира, постижение которой позволит пользователю эффективно взаимодействовать с системой. Continue reading ‘Интерфейс командной строки. Вступление’ »

. .

Вопрос выбора

Из приведенного краткого обзора можно видеть, что в плане шеллов выбор пользователя достаточно обширен. А ведь я остановился только на самых распространенных. Однако рискну предположить, что большинство начинающих пользователей Linux'а об этом не особо задумываются. Ведь во всех его дистрибутивах в качестве общесистемного шелла и пользовательского шелла по умолчанию принят bash, обладающий как развитыми средствами интерпретации, так и продвинутыми интерактивными возможностями, да еще при сохранении совместимости со стандартом. Так зачем, казалось бы, искать добра от добра? Continue reading ‘Вопрос выбора’ »

. .

Принципы конфигурирования

 Поведение конкретного экземпляра шелла того или иного вида определяется, кроме принадлежности к одному из описанных семейств, также и файлами его конфигурации. Практически все широко используемые шеллы, которые упомянуты в предыдущем разделе, имеют минимум два конфига -- т.н. профильный файл (profile), считываемый при запуске login shell (сиречь главного пользовательского шелла), и rc-файл, из которого берутся настройки любого шелла интерактивного. Continue reading ‘Принципы конфигурирования’ »

. .

Какие бывают шеллы

Большая часть командных оболочек делится, на основе синтаксиса интерпретируемого ими языка, на две группы -- sh- и csh-совместимые. На самом деле различия между ними синтаксисом команд не исчерпываются, а лежат глубже -- в подходе к обработке командных конструкций, к чему мы ещё вернёмся. Continue reading ‘Какие бывают шеллы’ »

. .

О шеллах вообще

Шелл (Shell), именуемый по-русски командной оболочкой, командным интерпретатором, командным процессором или иными, столь же неизящными словосочетаниями, -- это первая программа, с которой сталкивается пользователь любой POSIX-совместимой ОС. И с ним же последним он расстаётся, выходя из системы. Continue reading ‘О шеллах вообще’ »

. .

Командные оболочки. Вступление

Перефразируя классиков советской фантастики, можно сказать, что жизнь дает POSIX'ивисту три радости: дружественный шелл, любимый текстовый редактор и много, очень много приложений для работы. Без любой из первых двух радостей прожить можно. Но это значит, что радостей будет одной меньше. А ведь их всего три. Так что эту главу я посвящаю первой из радостей - шеллам. Тем более, что это еще и первое приложение, с которым сталкивается пользователь после авторизации в системе. Continue reading ‘Командные оболочки. Вступление’ »

. .

Консоль FreeBSD. Служба консольной мыши

В заключение рассказа о текстовой консоли -- о службе консольной мыши. За работу мыши в консольном режиме отвечает программа-демон /usr/sbin/moused. Обычно поддержка мыши включается в стартовом файле /etc/rc.conf. Однако это можно (а иногда и нужно) сделать и вручную, например, после реинициализации системы переходом в однопользовательский режим. Ведь, как уже говорилось, по возврате в режим многопользовательский не все стартовые сервисы активизируются автоматически, и демон консольной мыши -- в их числе. Continue reading ‘Консоль FreeBSD. Служба консольной мыши’ »

. .

Консоль FreeBSD. Переопределяем клавиши

Именно на специальных клавишах можно начать упражнения по переопределению
"умолчальных" значений скан-кодов. Continue reading ‘Консоль FreeBSD. Переопределяем клавиши’ »

. .