Урок 2. Основные bash команды для работы в терминале

 

Работа в командной строке очень важна в Linux. Во-первых, система не всегда имеет графическую оболочку. Во-вторых, многие задачи легче и быстрее выполнить через командную строку, чем в графической оболочке.

Общение человека с машиной осуществляется посредством специальных команд, которые вводятся в терминале в текстовом режиме. Специальная программа преобразует введенные текстовые команды в машинный код и передает ее системе. Такая программа называется интерпретатор, которая запускается автоматически при входе пользователя в систему.

Наиболее распространенные интерпретаторы Shell и Bash. Bash более мощный интерпретатор, поэтому по умолчанию во многих системах запускается Bash.

Bash имеет свои встроенные команды, кроме того пользователи могут создавать свои собственные команды.

При входе пользователя в систему необходимо авторизоваться, то есть ввести логин и пароль. Причем в системах Linux  введенный пароль не отображается. После успешной авторизации появляется строка следующего вида:

Рис.1. Вид bash терминала в Linux

Любой пользователь при входе в систему попадает в свой родной каталог, который находится в каталоге /home.

Рассмотрим некоторые команды, чтобы понять как работает система.

Формат ввода команд следующий: Команда  [необязательные опции] опции [необязательный аргумент] аргумент

Некоторые команды используются с опциями и аргументами, некоторые - вообще работают без них.

Опции бывают одно буквенными либо целыми словами. Перед одно буквенными опциями всегда стоит дефис -, а перед опциями-словами - уже два дефиса. 

Опции предназначены для выполнения дополнительных действий и у каждой команды они разные, однако некоторые могут совпадать.

В качестве аргументов выступают названия файлов или каталогов.

 

Базовые команды


ls - отображение содержимого текущего каталога:

Отображение файлов и каталогов
Рис. 2. Отображение файлов и каталогов

ls /каталог - отображение файлов и каталогов в указанном каталоге:

Отображение файлов и каталогов с ls
Рис. 3. Отображение файлов в конкретном каталоге

ls -a или ls --all- отображение скрытых файлов и каталогов:

Отображение скрытых объектов
Рис. 4. Отображение скрытых объектов

Имена скрытых файлов и каталогов начинаются с точки.

ls -F или ls --classify  - отображение типа файла:

Отображение типа файла
Рис. 5. Отображение типа файла

Символ

Обозначение

*

Исполняемый файл

/

Каталог

=

Сокет

@

Ссылка

|

FIFO

без знака

Обычный файл (текстовый, медиа  т.д.)

 

Однобуквенные опции можно объединять, в то время как опции-слова нельзя. Например, ls -aF  - отображает абсолютно все файлы, а также их тип:

Отображение типа файла
Рис. 6. Отображение типа файла

cat файл - просмотр текстового документа:

Вывод содержимого файла с помощью cat
Рис. 7. Вывод содержимого файла с помощью cat

cat не самая удобная команда, поэтому можно воспользоваться программой less, которая позволяет постранично просматривать содержимое документа. В таблице ниже представлены команды для работы с данной программой:

 

Название клавиш

Действие

<PageDown> или пробел

Перемещение на одну страницу вперед

<PageUp>

Перемещение на одну страницу назад

<Enter> или стрелка вниз

Перемещение на одну строку вперед

Стрелка вверх

Перемещение на одну строку назад

Стрелка влево

Прокрутка страницы влево

Стрелка вправо

Прокрутка страницы вправо

g или p

Перемещение вперед к концу файла

1g

Перемещение назад к началу файла

q

Завершение работы команды less


pwd - определение текущего каталога:

Отображение текущего каталога
Рис. 8. Отображение текущего каталога

cd  /каталог - переход в указанный каталог:

Навигация по каталогам
Рис. 9. Навигация по каталогам

cd ~ - возврат в свой домашний каталог.

cd .. - переход в родительский каталог текущего каталога.

Следует помнить, что с помощью команд также запускаются уже установленные утилиты (программы), которые находятся в каталогах /bin, /sbin, /usr/bin, /usr/sbin.

Причем название команд очень часто совпадает с названием каталогов самих утилит в упомянутых выше каталогах.

Например, следующие команды вызывают соответствующие утилиты, которые находятся в каталогах /bin, /sbin.

date - вывод текущей даты:

Отображение текущей даты в системе
Рис. 10. Отображение текущей даты в системе

cal - вывод календаря:

Календарь
Рис. 11. Календарь
 Справка

Linux содержит множество команд и опций и все запомнить невозможно. Поэтому во всех дистрибутивах уже имеется встроенное руководство пользователя, где можно найти информацию по всем командам.

Руководство man  состоит из следующих разделов:

  1. Команды пользовательского уровня
  2. Системные вызовы и коды ошибок ядра
  3. Библиотечные функции
  4. Драйверы устройств и сетевые протоколы
  5. Форматы файлов
  6. Игры и демонстрационные программы
  7. Различные документы и файлы
  8. Команды системного администрирования
  9. Внутренние интерфейсы и спецификации ядра

 Формат обращения к руководству выглядит так: man [номер раздела] название_команды.

Номер раздела указывается, если необходима информация о команде с конкретного раздела, потому что и ногда одна и та же команда может быть сразу в нескольких разделах. Например, man ls

Справка для команды ls
Рис. 12. Справка для команды ls

При вызове man запускается программа less для постраничного просмотра файла. Как работать с less вы уже знаете.

man date

Справка по команде date
Рис. 13. Справка по команде date

С помощью man можно узнать какие опции поддерживаются запрашиваемой командой. Кроме того, можно воспользоваться командой whatis, чтобы получить краткое описание команды.

whatis ls

Вывод команды whatis
Рис. 14. Вывод команды whatis

Альтернативой команды man может служить команда info.

info cd

Вывод команды info
Рис. 15. Вывод команды info

А что если я не помню название команды, но помню что она делает?

Для этого есть команда apropos ключевое_словоНапример, apropos content

Отображение списка команд по ключевому слову
Рис. 16. Отображение списка команд по ключевому слову

apropos day

Поиск команд по слову day
Рис. 17. Поиск команд по слову day

Необязательно запоминать все команды - достаточно понять как устроено встроенное руководство. Кроме того, те, кто не знают английский, могут воспользоваться Google.