Litvek - онлайн библиотека >> Уильям Шоттс >> Учебники и самоучители по компьютеру и др. >> Командная строка Linux. Полное руководство >> страница 3
ничего более. Ядро играет важную роль, конечно, потому что обеспечивает работу операционной системы, но одного его, разумеется, недостаточно.

Ричард Столлман (Richard Stallman), гениальный философ, основатель движения свободного программного обеспечения (Free Software), фонда свободных программ (Free Software Foundation) и проекта GNU, автор первой версии компилятора GNU C Compiler (GCC) и общественной лицензии GNU General Public License (GPL) и прочая и прочая, настаивает на названии «GNU/Linux» как отражающем вклад проекта GNU. Но даже при том, что проект GNU предшествовал появлению ядра Linux и вклад проекта заслуживает самой высокой оценки, использование его названия в названии операционной системы можно расценивать как несправедливость в отношении всех остальных. Кроме того, я считаю, что технически более точным было бы название «Linux/GNU», потому что сначала загружается ядро, а потом все остальное выполняется на его основе.

Под общепринятым названием «Linux» подразумевается ядро и все остальное бесплатное и открытое программное обеспечение, которое можно найти в типичном дистрибутиве Linux, — то есть вся экосистема Linux, а не только компоненты GNU. Кроме того, на рынке операционных систем чаще отдается предпочтение названиям из одного слова, например: DOS, Windows, Solaris, Irix, AIX. Я решил использовать популярную форму. Но если вы предпочитаете название «GNU/Linux», подставляйте мысленно недостающую часть, когда будете читать эту книгу. Я не буду возражать.

Часть I. Командная оболочка

1. Что такое командная оболочка


Говоря о командной строке, на самом деле мы имеем в виду командную оболочку (shell). Командная оболочка — это программа, которая принимает команды, введенные с клавиатуры, и передает их операционной системе для выполнения. Практически все дистрибутивы Linux поставляются с командной оболочкой из проекта GNU, которая называется bash. Имя bash — это аббревиатура от названия Bourne Again Shell, отражающего тот факт, что bash является улучшенной заменой sh, первоначальной командной оболочки для Unix, написанной Стивом Борном (Steve Bourne).

Эмуляторы терминалов


При использовании графического интерфейса для взаимодействия с командной оболочкой нам понадобится еще одна программа — эмулятор терминала. Заглянув в меню рабочего стола, вы наверняка обнаружите такую программу. В KDE используется konsole, в GNOME — gnome-terminal, однако соответствующий пункт в меню часто называется просто «terminal» (или «терминал»). Для Linux существует также множество других эмуляторов терминала, но все они решают одну и ту же задачу: предоставляют доступ к командной оболочке. Со временем у вас наверняка появятся свои предпочтения, в зависимости от «рюшечек и бантиков», которые они имеют.

Первые удары по клавишам


Итак, приступим. Запустите эмулятор терминала! После появления окна на экране вы увидите в нем нечто подобное:

[me@linuxbox ~]$

Это называется приглашением к вводу (shell prompt) и появляется всякий раз, когда командная оболочка готова принять ввод. В разных дистрибутивах приглашение выглядит по-разному, но обычно включает строку имя_пользователя@имя_компьютера, за которой следует имя текущего каталога (подробнее об этом чуть ниже) и знак доллара.

Если последний символ в приглашении — знак решетки (#), а не знак доллара, это означает, что сеанс в терминале обладает привилегиями суперпользователя. То есть либо вы зарегистрировались как пользователь root, либо запустили эмулятор терминала, который автоматически устанавливает привилегии суперпользователя (администратора).

Будем считать, что пока все идет хорошо, и попробуем что-нибудь ввести. Наберите на клавиатуре какую-нибудь бессмыслицу, например:

[me@linuxbox ~]$ kaekfjaeifj

Поскольку это бессмыслица, командная оболочка немедленно сообщит об этом и даст вам второй шанс:

bash: kaekfjaeifj: команда не найдена

[me@linuxbox ~]$

несколько слов о мыши и фокусе ввода
Для работы с командной оболочкой достаточно одной клавиатуры, однако эмулятор терминала позволяет также использовать мышь. X Window System (механизм, который воспроизводит графический интерфейс на экране) поддерживает прием быстрого копирования с помощью мыши. Если выделить текст, нажав левую кнопку и переместив указатель мыши над ним (или выполнив двойной щелчок на слове), он будет скопирован в специальный буфер, которым управляет X. Нажатие средней кнопки мыши вызовет вставку текста в позицию курсора. Попробуйте проделать этот фокус.

Не пытайтесь использовать комбинации CTRL+C и CTRL+V для выполнения копирования и вставки в окне терминала. Эти команды там не работают. В командной оболочке эти комбинации клавиш имеют другое значение, присвоенное им задолго до появления Microsoft Windows.

Графическое окружение вашего рабочего стола (скорее всего, KDE или GNOME) работает очень похоже на графическое окружение Windows и, вероятнее всего, реализует политику «щелкни, чтобы передать фокус ввода». Это означает, что для передачи фокуса ввода в окно (его активизации) на нем нужно щелкнуть мышью. Это противоречит традиционному поведению X «фокус следует за мышью», когда для передачи фокуса ввода в окно достаточно просто навести на него указатель мыши. Окно не поднимется на передний план, пока вы не щелкнете на нем мышью, но способно принять фокус ввода. Настройка политики «фокус следует за мышью» упростит работу с окном терминала. Попробуйте, я думаю, вам понравится. Соответствующие параметры находятся в программе настройки вашего диспетчера окон.

История команд


Если теперь нажать клавишу со стрелкой вверх, после приглашения к вводу появится предыдущая команда kaekfjaeifj. Это называется историей команд. Большинство дистрибутивов Linux по умолчанию запоминают последние 500 команд. Нажмите клавишу со стрелкой вниз, и предыдущая команда исчезнет.

Управление курсором


Вызовите предыдущую команду, еще раз нажав клавишу со стрелкой вверх. Теперь попробуйте понажимать клавиши со стрелками влево и вправо. Видите, как меняется позиция курсора в командной строке? Благодаря этому легко можно редактировать команды.

Некоторые простые команды1


Теперь, когда вы понажимали клавиши, попробуем ввести несколько простых ­команд. Первая команда date. Она выводит текущие время и дату:

[me@linuxbox ~]$ date

Thu Oct 25 13:51:54 EDT 2012

Родственная ей команда cal по умолчанию выводит календарь текущего месяца:

[me@linuxbox ~]$ cal

October 2012

Su Mo Tu We Th Fr Sa

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

Чтобы увидеть объем свободного пространства на дисках, введите df:

[me@linuxbox ~]$ df

Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в

/dev/sda2 15115452 5012392