Командная строка Linux - Шоттс Уильям
Эмуляторы терминалов
При использовании графического интерфейса для взаимодействия с командной оболочкой нам понадобится еще одна программа — эмулятор терминала. Заглянув в меню рабочего стола, вы наверняка обнаружите такую программу. В KDE используется konsole, в GNOME — gnome-terminal, однако соответствующий пункт в меню часто называется просто «terminal» (или «терминал»). Для Linux существует также множество других эмуляторов терминала, но все они решают одну и ту же задачу: предоставляют доступ к командной оболочке. Со временем у вас наверняка появятся свои предпочтения, в зависимости от «рюшечек и бантиков», которые они имеют.
Первые удары по клавишам
Итак, приступим. Запустите эмулятор терминала! После появления окна на экране вы увидите в нем нечто подобное:
[[email protected] ~]$
Это называется приглашением к вводу (shell prompt) и появляется всякий раз, когда командная оболочка готова принять ввод. В разных дистрибутивах приглашение выглядит по-разному, но обычно включает строку имя_пользователя@имя_компьютера, за которой следует имя текущего каталога (подробнее об этом чуть ниже) и знак доллара.
Если последний символ в приглашении — знак решетки (#), а не знак доллара, это означает, что сеанс в терминале обладает привилегиями суперпользователя. То есть либо вы зарегистрировались как пользователь root, либо запустили эмулятор терминала, который автоматически устанавливает привилегии суперпользователя (администратора).
Будем считать, что пока все идет хорошо, и попробуем что-нибудь ввести. Наберите на клавиатуре какую-нибудь бессмыслицу, например:
[[email protected] ~]$ kaekfjaeifj
Поскольку это бессмыслица, командная оболочка немедленно сообщит об этом и даст вам второй шанс:
bash: kaekfjaeifj: команда не найдена
[[email protected] ~]$
несколько слов о мыши и фокусе ввода
Для работы с командной оболочкой достаточно одной клавиатуры, однако эмулятор терминала позволяет также использовать мышь. X Window System (механизм, который воспроизводит графический интерфейс на экране) поддерживает прием быстрого копирования с помощью мыши. Если выделить текст, нажав левую кнопку и переместив указатель мыши над ним (или выполнив двойной щелчок на слове), он будет скопирован в специальный буфер, которым управляет X. Нажатие средней кнопки мыши вызовет вставку текста в позицию курсора. Попробуйте проделать этот фокус.
Не пытайтесь использовать комбинации CTRL+C и CTRL+V для выполнения копирования и вставки в окне терминала. Эти команды там не работают. В командной оболочке эти комбинации клавиш имеют другое значение, присвоенное им задолго до появления Microsoft Windows.
Графическое окружение вашего рабочего стола (скорее всего, KDE или GNOME) работает очень похоже на графическое окружение Windows и, вероятнее всего, реализует политику «щелкни, чтобы передать фокус ввода». Это означает, что для передачи фокуса ввода в окно (его активизации) на нем нужно щелкнуть мышью. Это противоречит традиционному поведению X «фокус следует за мышью», когда для передачи фокуса ввода в окно достаточно просто навести на него указатель мыши. Окно не поднимется на передний план, пока вы не щелкнете на нем мышью, но способно принять фокус ввода. Настройка политики «фокус следует за мышью» упростит работу с окном терминала. Попробуйте, я думаю, вам понравится. Соответствующие параметры находятся в программе настройки вашего диспетчера окон.
История команд
Если теперь нажать клавишу со стрелкой вверх, после приглашения к вводу появится предыдущая команда kaekfjaeifj. Это называется историей команд. Большинство дистрибутивов Linux по умолчанию запоминают последние 500 команд. Нажмите клавишу со стрелкой вниз, и предыдущая команда исчезнет.
Управление курсором
Вызовите предыдущую команду, еще раз нажав клавишу со стрелкой вверх. Теперь попробуйте понажимать клавиши со стрелками влево и вправо. Видите, как меняется позиция курсора в командной строке? Благодаря этому легко можно редактировать команды.
Некоторые простые команды1
Теперь, когда вы понажимали клавиши, попробуем ввести несколько простых команд. Первая команда date. Она выводит текущие время и дату:
[[email protected] ~]$ date
Thu Oct 25 13:51:54 EDT 2012
Родственная ей команда cal по умолчанию выводит календарь текущего месяца:
[[email protected] ~]$ 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:
[[email protected] ~]$ df
Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
/dev/sda2 15115452 5012392 9949716 34% /
/dev/sda5 59631908 26545424 30008432 47% /home
/dev/sda1 147764 17370 122765 13% /boot
tmpfs 256856 0 256856 0% /dev/shm
Аналогично, чтобы увидеть объем свободного пространства в памяти, введите команду free:
[[email protected] ~]$ free
Всего Использовано Свободно Общее Буфер/кэш Доступно
Память: 1542700 583852 290880 9940 667968 908384
Подкачка: 1046524 0 1046524
Завершение сеанса работы с терминалом
Завершить сеанс работы с терминалом можно, либо закрыв окно эмулятора терминала, либо введя команду exit:
[[email protected] ~]$ exit
консоль за кулисами
Даже если не запущен ни один эмулятор терминала, за ширмой графического рабочего стола продолжают выполняться несколько сеансов терминалов. Получить доступ к этим виртуальным терминалам, или виртуальным консолям, в большинстве дистрибутивов Linux можно с помощью комбинаций клавиш, начиная с CTRL+ALT+F1 до CTRL+ALT+F6. После перехода к сеансу вы увидите приглашение к регистрации в системе, где нужно ввести имя пользователя и пароль. Для переключения из одной виртуальной консоли в другую используйте клавиши ALT и F1–F6. Чтобы вернуться в графическое окружение рабочего стола, нажмите ALT+F7.
1 Часть вывода команд в Linux переведена на русский язык, часть — нет. В дальнейшем те системные сообщения и результаты выполнения команд, выводимые на консоль, которые в локализованной версии Linux переведены, мы будем приводить на русском, остальные — на английском. В тех случаях, когда русский перевод консольного вывода важен для изложения, он будет приводиться в сносках внизу страницы. — Примеч. ред.
2. Навигация
Первое, что мы попробуем изучить (после пробных нажатий на клавиши), — навигацию в файловой системе Linux. В этой главе введем в обиход следующие команды:
• pwd — выводит название текущего рабочего каталога.
• cd — выполняет переход в другой каталог.
• ls — выводит список содержимого каталога.
Дерево каталогов файловой системы
Так же как Windows, Unix-подобная операционная система, такая как Linux, организует свои файлы в иерархическую структуру каталогов. То есть каталоги (в других системах их иногда называют папками) имеют древовидную организацию и могут содержать файлы и другие каталоги. Первый каталог в файловой системе называется корневым каталогом. Корневой каталог содержит файлы и подкаталоги, которые в свою очередь также содержат файлы и каталоги, и так далее.
Обратите внимание, что в отличие от Windows, где для каждого устройства хранения создается отдельная файловая система, в Unix-подобных системах, таких как Linux, всегда имеется только одна файловая система, независимо от числа приводов или устройств хранения, подключенных к компьютеру. Устройства хранения подключаются (или, как принято говорить, монтируются) к разным точкам дерева в соответствии с желанием системного администратора, человека (или нескольких человек), ответственного за обслуживание системы.