2.3.8.1.1 Командные оболочки (интерпретаторы)
Скачать документДля управления ОС используется командные интерпретаторы (shell). Зайдя в систему, пользователь увидит приглашение - строку, содержащую символ «$» (далее этот символ будет обозначать командную строку). Программа ожидает ввода команд. Роль командного интерпретатора - передавать команды пользователя операционной системе. При помощи командных интерпретаторов можно писать небольшие программы - сценарии (скрипты). Оболочкой по умолчанию в РЕД ОС является «Bash» (Bourne Again Shell) Чтобы проверить, какая оболочка используется, необходимо выполнить команду:
echo $SHELL
Вы можете подробнее ознакомиться с возможностями работы bash, просмотрев наши обучающие видео:
на RuTube:
в Яндекс.Дзен:
в VK Видео:
На наших каналах вы также сможете найти много другой полезной информации.
Командная оболочка 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) выдает список файлов в текущем каталоге. Синтаксис:
ls
Две основные опции:
- -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 (когда обычная команда 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 |
Дата последнего изменения: 06.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.