2.7 Командные оболочки (интерпретаторы)

Для управления ОС используется командные интерпретаторы (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.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email