Работа в командной строке очень важна в Linux. Во-первых, система не всегда имеет графическую оболочку. Во-вторых, многие задачи легче и быстрее выполнить в терминале, чем в графической оболочке.
Общение человека с машиной осуществляется посредством специальных команд, которые вводятся в терминале в текстовом режиме. Специальная программа преобразует введенные текстовые команды в машинный код и передает ее системе. Такая программа называется интерпретатор, которая запускается автоматически при входе пользователя в систему.
Наиболее распространенные интерпретаторы Shell и Bash. Bash более мощный интерпретатор, поэтому по умолчанию во многих системах запускается Bash.
Bash имеет свои встроенные команды, кроме того пользователи могут создавать свои собственные команды.
При входе пользователя в систему необходимо авторизоваться, то есть ввести логин и пароль. Причем в системах Linux введенный пароль не отображается.
Любой пользователь при входе в систему попадает в свой родной каталог, который находится в каталоге /home.
Рассмотрим некоторые команды, чтобы понять как работает система.
Формат ввода команд следующий:
Команда [необязательные опции] опции [необязательный аргумент] аргумент
Некоторые команды используются с опциями и аргументами, некоторые — вообще работают без них.
Опции бывают одно буквенными либо целыми словами. Перед одно буквенными опциями всегда стоит дефис -, а перед опциями-словами — уже два дефиса.
Опции предназначены для выполнения дополнительных действий и у каждой команды они разные, однако некоторые могут совпадать.
В качестве аргументов выступают названия файлов или каталогов.
Базовые команды
ls — отображение содержимого текущего каталога
ls /каталог — отображение файлов и каталогов в указанном каталоге
ls -a или ls —all — отображение скрытых файлов и каталогов
Некоторые файлы начинаются с точки. В линуксе точкой обозначаются скрытые файлы и каталоги.
ls -F или ls —classify — отображение типа файла
Как видно выше некоторые файлы заканчиваются специальными символами. Данные символы обозначают определенный тип файлов. В таблице ниже приводится описание данных символов:
Символ | Обозначение |
* | Исполняемый файл |
/ | Каталог |
= | Сокет |
@ | Ссылка |
| | FIFO |
без знака | Обычный файл (текстовый, медиа т.д.) |
Однобуквенные опции можно объединять, в том время как опции-слова нельзя.
Например,
ls -aF — отображает абсолютно все файлы, а также их тип.
cat файл — просмотр текстового документа
cat не самая удобная команда, поэтому можно воспользоваться командой less, которая позволяет постранично просматривать содержимое документа. В таблице ниже указаны какие клавиши можно использовать при работе с командой less:
Название клавиш | Действие |
<PageDown> или пробел | Перемещение на одну страницу вперед |
<PageUp> | Перемещение на одну страницу назад |
<Enter> или стрелка вниз | Перемещение на одну строку вперед |
Стрелка вверх | Перемещение на одну строку назад |
Стрелка влево | Прокрутка страницы влево |
Стрелка вправо | Прокрутка страницы вправо |
g или p | Перемещение вперед к концу файла |
1g | Перемещение назад к началу файла |
q | Завершение работы команды less |
pwd — определение текущего каталога
cd /каталог — переход в указанный каталог
cd ~ — возврат в свой домашний каталог.
cd .. — переход в родительский каталог текущего каталога.
Следует помнить, что с помощью команд также запускаются уже установленные утилиты (программы), которые находятся в каталогах /bin, /sbin, /usr/bin, /usr/sbin.
Причем название команд очень часто совпадает с названием каталогов самих утилит в упомянутых выше каталогах.
Например, следующие команды вызывают соответствующие утилиты, которые находятся в каталогах /bin, /sbin:
date — вывод текущей даты
cal — вывод календаря
Вызов справки
Linux содержит множество команд и опций и все запомнить невозможно. Поэтому во всех дистрибутивах уже имеется встроенное руководство пользователя, где можно найти информацию по всем командам.
Руководство man состоит из следующих разделов:
- Команды пользовательского уровня
- Системные вызовы и коды ошибок ядра
- Библиотечные функции
- Драйверы устройств и сетевые протоколы
- Форматы файлов
- Игры и демонстрационные программы
- Различные документы и файлы
- Команды системного администрирования
- Внутренние интерфейсы и спецификации ядра
Формат обращения к руководству выглядит так:
man [номер раздела] название_команды
Номер раздела указывается, если необходима информация о команде с конкретного раздела, потому что иногда одна и та же команда может быть сразу в нескольких разделах.
Например,
man ls — отображение подробной информации о команде ls
При вызове man запускается программа less для постраничного просмотра файла.
Как работать с less ты уже знаешь.
man date — отображение подробной информации о команде date
С помощью man можно узнать какие опции поддерживаются запрашиваемой командой.
Кроме того, можно воспользоваться командой whatis, чтобы получить краткое описание команды:
whatis ls — краткое описание команды ls
Альтернативой команды man может служить команда info:
info cd — краткое описание команды cd
А что если я не помню название команды, но помню что она делает?
Для этого есть команда apropos ключевое_слово.
Например,
apropos content — поиск команд по ключевому слову content
Слева отображаются команды, а справа — их описание. В каждом описании присутствует ключевое слово content.
apropos day — поиск команд по ключевому слову day
Необязательно запоминать все команды — достаточно понять как устроено встроенное руководство. Кроме того, те, кто не знают английский, могут воспользоваться Google.