Для управления ОС используется командные интерпретаторы (shell).
Зайдя в систему, пользователь увидит приглашение — строку, содержащую символ «$» (далее этот символ будет обозначать командную строку). Программа ожидает ввода команд. Роль командного интерпретатора — передавать команды пользователя операционной системе. При помощи командных интерпретаторов можно писать небольшие программы — сценарии (скрипты). Оболочкой по умолчанию в РЕД ОС является «Bash» (Bourne Again Shell) Чтобы проверить, какая оболочка используется, необходимо выполнить команду:
echo $SHELL
Командная оболочка Bash
В bash имеется несколько приемов для работы со строкой команд. Например, используя клавиатуру, можно:
- Ctrl + A — перейти на начало строки.
- Ctrl + U — удалить текущую строку.
- Ctrl + C — остановить текущую задачу.
Можно использовать «;» для того, чтобы ввести несколько команд одной строкой. Клавиши «вверх» и «вниз», позволяют вам перемещаться по истории команд. Для того чтобы найти конкретную команду в списке набранных, не пролистывая всю историю, необходимо набрать:
Ctrl + R
Команды, присутствующие в истории, отображаются в списке пронумерованными. Для того, чтобы запустить конкретную команду, наберите:
! номер команды
если ввести:
!!
запустится последняя из набранных команд.
Иногда имена программ и команд слишком длинны. Bash сам может завершать имена. Нажав клавишу [TAB], можно завершить имя команды, программы или каталога. Например, предположим, что необходимо использовать программу декомпрессии bunzip2. Для этого нужно набрать:
bu
затем нажать [TAB]. Если ничего не происходит, то, вероятно, существует несколько возможных вариантов завершения команды.
Нажав клавишу [TAB] еще раз, пользователь получит список имен, начинающихся с «bu».
Например, может быть:
$ bu buildhash builtin bunzip2
Если далее добавить:
n
(bunzip — это единственное имя, третьей буквой которого является «n»), а затем нажать клавишу [TAB], оболочка дополнит имя и остается лишь нажать «Enter», чтобы запустить команду.
Программу, вызываемую из командной строки, Bash ищет в каталогах, определяемых в системной переменной PATH. По умолчанию, в этот перечень каталогов не входит текущий каталог, обозначаемый «./» (точка слэш), поэтому для запуска программы prog из текущего каталога, надо дать команду:
./prog
Базовые команды оболочки Bash
Все команды, приведенные ниже, могут быть запущены в режиме консоли.
Для получения более подробной информации используйте команду man.
Пример:
man ls
Команда su:
Позволяет получить права администратора. Когда пользователь набирает su, оболочка запрашивает пароль суперпользователя (root). Необходимо ввести пароль и нажать Enter. Чтобы вернуться к правам основного пользователя, необходимо набрать exit.
Команда cd:
Позволяет сменить каталог. Она работает как с абсолютными, так и с относительными путями. Предположим, что находясь в своем домашнем каталоге и пользователь хочет перейти в его подкаталог docs/. Для этого нужно ввести относительный путь:
cd docs/
Чтобы перейти в каталог /usr/bin , нужно набрать (абсолютный путь):
cd /usr/bin/
Некоторые варианты команды:
cd ..
позволяет сделать текущим родительский каталог,
cd —
позволяет вернуться в предыдущий каталог.
Команда cd без параметров переводит в домашний каталог.
Команда ls:
ls (list) выдает список файлов в текущем каталоге. Две основные опции: -a — просмотр всех файлов, включая скрытые, -l — отображение более подробной информации.
Команда rm:
Эта команда используется для удаления файлов.
Синтаксис:
rm имя_файла
У данной программы существует ряд параметров. Самые часто используемые: -i — запрос на удаление файла, -r — рекурсивное удаление (т.е. удаление, включая подкаталоги и скрытые файлы).
Команды mkdir и rmdir:
Команда mkdir позволяет создать каталог, тогда как rmdir удаляет каталог, при условии, что он пуст.
Синтаксис:
mkdir имя_каталога
rmdir имя_каталога
Команда rmdir часто заменяется командой rm-rf , которая позволяет удалять каталоги, даже если они не пусты.
Команда less:
less позволяет постранично просматривать текст.
Синтаксис:
less имя_файла
Для выхода нужно нажать q.
Команда grep:
Данная команда имеет много опций и предоставляет возможности поиска символьной строки в файле.
Синтаксис:
grep шаблон_поиска файл
Команда ps:
Отображает список текущих процессов. Колонка команд указывает имя процесса, колонка PID (идентификатор процесса) — номер процесса (этот номер используется, для операций с процессом, например чтобы «убить» его командой kill).
Синтаксис:
ps аргументы
Аргумент -u предоставляет больше информации, a -x позволяет просмотреть те процессы, которые не принадлежат пользователю (такие как те, что были запущены во время процесса загрузки.).
Команда kill:
Если программа перестала отвечать или зависла, необходимо использовать данную команду, чтобы её завершить.
Синтаксис:
kill РID_номер
Иногда необходимо будет использовать kill -9 PID_number (когда обычная команда kill не дает желательного эффекта). Номер PID выясняется при помощи команды ps.
Горячие комбинации клавиш в Bash
Для удобства запоминания сочетания клавиш сгруппированы по действию. Обратите внимание, что в комбинациях следует использовать левую клавишу Alt, т.к. правая Alt Gr используется как клавиша Compose (специальная клавиша, позволяющая вводить символы с помощью определённых комбинаций клавиш).
Перемещение по тексту
Сочетание | Действие |
Ctrl+a, Home | Переместить курсор в начало командной строки |
Ctrl+e, End | Переместить курсор в конец командной строки |
Ctrl+b, ← | Переход на один символ назад от курсора |
Ctrl+f, → | Переход на один символ вперёд от курсора |
Alt+b, Esc+b | Переместить курсор назад на одно слово |
Alt+f, Esc+f | Переместить курсор вперёд на одно слово |
Ctrl+xx | Переход от курсора в начало строки и обратно |
Редактирование строки
Сочетание | Действие |
Alt+?, Tab+Tab | Автодополнение команды или имени файла |
Ctrl+u | Удалить все символы от курсора до начала командной строки |
Ctrl+k | Удалить все символы от курсора до конца командной строки |
Ctrl+w | Удалить символы от курсора до пробела слева |
Alt+Backspace | Удалить символы от курсора до начала слова |
Alt+d, Esc+d | Удалить символы от курсора до конца слова |
Ctrl+y | Вставить символ, слово или текст, которые были удалены при помощи сочетаний клавиш, приведенных выше |
Alt+y | Просмотреть буфер удалённых слов и вставить интересующее. Работает после нажатия Ctrl+y |
Ctrl+h | Удалить перед курсором один символ |
Ctrl+d | Удалить под курсором один символ |
Alt+\ | Удалить любое количество пробелов вокруг курсора |
Ctrl+_ | Откатить редактирование |
Alt+r, Esc+r | Отменить все изменения содержимого строки |
Alt+c | Заменяет под курсором букву на заглавную и переводит курсор в конец слова |
Alt+u | Переводит все буквы от курсора и до конца слова в заглавные |
Alt+l | Переводит все буквы от курсора и до конца слова в нижний регистр |
Alt+t | Замена текущего слова под курсором на предыдущее слово |
Ctrl+t | Замена символа перед курсором на предыдущий символ |
История команд
Сочетание | Действие |
Ctrl+r | Искать команду по истории |
Ctrl+g | Выйти из режима поиска в истории |
Ctrl+p, ↑ | Предыдущая команда в истории |
Ctrl+n, ↓ | Следующая команда в истории |
Alt+< | Переход к первой команде в буфере истории |
Alt+., Esc+. | Вставить последний аргумент предыдущей команды |
Ctrl+o | Выполняет введённую команду и оставляет её же в командной строке |
Выполнение и вывод на экран
Сочетание | Действие |
Ctrl+l | Очистка экрана |
Ctrl+s | Остановить вывод на экран |
Ctrl+q | Возобновить вывод на экран, если он был приостановлен указанной выше командой |
Ctrl+c | Прервать выполнение текущей команды |
Ctrl+z | Приостановить выполнение текущей команды (для возобновления выполните fg) |
Ctrl+d | Выйти из командной оболочки Bash |
Информационный вывод
Сочетание | Действие |
*+Alt+?, *+Tab+Tab | Показать каталоги, кроме скрытых |
$+Alt+?, $+Tab+Tab | Показать все системные переменные |
Специальные клавиши
Сочетание | Действие |
Ctrl+i | Tab |
Ctrl+m | Enter |
Ctrl+[ | Esc |