- Различие между консолью, командной строкой (CLI), терминалом и оболочкой
- Требования для доступа к командной строке
- Работа с командной строкой
Командная строка – одно из наиболее полезных и эффективных средств для разработчиков и пользователей компьютеров в целом. Но, когда вы только начинаете, ее использование может показаться сложным и немного пугающим.
В этой статье мы постараемся максимально просто объяснить составляющие интерфейса командной строки и основы ее работы, чтобы вы могли начать использовать ее для ваших повседневных задач или работы.
Различие между консолью, командной строкой (CLI), терминалом и оболочкой
Давайте начнем с того, что же такое командная строка.
Люди часто используют слова «терминал», «консоль», «командная строка» (CLI) и «оболочка». взаимозаменяемо, но на самом деле они представляют собой разные вещи.
Понимание четкого различия между поможет вам прояснить многие вещи и понять эту тему. Кратко рассмотрим каждый из этих терминов.
-
Консоль
Консоль – это физическое устройство, которое позволяет вам взаимодействовать с компьютером.
Простыми словами, это ваш экран компьютера, клавиатура и мышь. Как пользователь, вы взаимодействуете с компьютером через свою консоль.
-
Терминал:
Терминал – это среда текстового ввода и вывода. Это программа, которая действует как оболочка и позволяет нам вводить команды, которые обрабатываются компьютером.
Иными словами, это «окно», в котором вы вводите фактические команды, которые ваш компьютер будет обрабатывать в дальнейшем.
-
Оболочка
Оболочка – это программа, которая действует как интерпретатор командной строки. Она обрабатывает команды и выводит результаты. Оболочка интерпретирует и обрабатывает команды, вводимые пользователем.
Как и терминал, оболочка – это программа, поставляемая по умолчанию во всех операционных системах, но ее также можно установить и удалить пользователем.
Разные оболочки имеют различный синтаксис и характеристики. Также возможно установить несколько оболочек на компьютер и запускать каждую из них при необходимости.
В большинстве операционных систем Linux и Mac оболочка по умолчанию – Bash, в то время как в Windows это PowerShell. Некоторые другие распространенные примеры оболочек – Zsh и Fish.
Оболочки также работают как языки программирования, в том смысле, что с их помощью вы можете создавать сценарии для выполнения определенной задачи.
Сценарии представляют собой последовательность инструкций (команд), которые можно сохранить в файле и выполнить в любое удобное время.
Важно помнить, что терминал – это программа, в которой будет выполняться оболочка. Но обе программы независимы. Это означает, что вы можете запускать любую оболочку в любом терминале, так как между этими двумя программами нет зависимости.
-
Командная строка или CLI (интерфейс командной строки)
CLI – это интерфейс, в котором можно ввести команды для обработки компьютером. Проще говоря, это пространство, в котором вы вводите команды, которые компьютер будет обрабатывать.
Это практически то же самое, что и терминал, и, как правило, эти термины можно использовать взаимозаменяемо.
Интересно отметить, что у большинства операционных систем есть два разных типа интерфейсов:
- Интерфейс командной строки (CLI), который принимает команды в качестве входных данных для выполнения задач компьютера.
- Графический пользовательский интерфейс (GUI), в котором пользователь видит объекты на экране и щелкает по ним, а компьютер реагирует на эти события, выполняя соответствующую задачу.
Важно отметить, что интерфейс командной строки предоставляет более детальный контроль и автоматизацию действий, чем графический пользовательский интерфейс.
Требования для доступа к командной строке
Для доступа к командной строке на различных операционных системах можно использовать следующие приложения:
- Для MacOS: Терминал (по умолчанию), iTerm 2;
- Для Windows: PuTTY;
- Для Linux: Терминал, KDE Konsole, XTerm.
Далее мы будем работать на сервере с ОС Ubuntu 22.04 через Терминал.
Если вы только подбираете сервер, то мы рекомендуем вам обратить внимание на виртуальные серверы VPS/VDS от Spaceweb. С нами вы можете настроить сервер под свои уникальные задачи и обеспечить полный контроль с root-доступом.
С технологией виртуализации KVM и возможностью создания кастомизированных тарифов вы можете оптимизировать количество ядер, оперативной памяти и дисковой квоты в соответствии с вашими требованиями.
Кроме того, наш инфраструктурный сервис предоставляет возможность эффективно распределять нагрузку и повышать отказоустойчивость ваших проектов. Свяжитесь с нами, и мы поможем подобрать вам подходящий сервер!
Работа с командной строкой
Вход на сервер
Для входа на сервер в операционной системе Ubuntu 22.04 предусмотрены два метода: текстовая консоль и графический терминал.
Как вызвать командную строку? Необходимо зажать горячие клавиши Ctrl+Alt+F1. Для возврата в графический интерфейс воспользуйтесь комбинацией клавиш Ctrl+Alt+F7.
Как открыть терминал в Линукс? Достаточно нажать Ctrl+Alt+T.
Внизу экрана появится строка командной строки, которая представляет собой последовательность символов, указывающую на готовность к приему команд:
spaceweb@sweb:~$
Где:
- «spaceweb» – имя текущего пользователя (суперпользователя/администратора);
- «sweb» – имя хоста (сервера);
- «:» – разделитель;
- «~» – текущая директория, в которой выполняется команда пользователя (по умолчанию /home/<пользователь>);
- «$» – символ приглашения ввода для пользователей с обычными правами;
- «#» – символ приглашения ввода для суперпользователя/администратора root (например, «root@cs52412:~#»).
Базовые команды для настройки сервера
После создания нового сервера необходимо выполнить несколько шагов по его базовой настройке.
Для входа на сервер под учетной записью созданного пользователя выполните следующую команду:
ssh -p №port demo@adress
Где:
- «№port» – номер указанного порта при первоначальной настройке сервера;
- «demo» – имя пользователя;
- «adress» – IP-адрес сервера.
Для входа на сервер под учетной записью root используйте команду, заменив «IP_АДРЕС_СЕРВЕРА» на публичный IP-адрес вашего сервера:
ssh root@IP_АДРЕС_СЕРВЕРА
Для создания новой учетной записи пользователя введите команду, заменив имя «USER» на любое другое:
adduser USER
Для открытия конфигурационного файла в текстовом редакторе под root-пользователем выполните команду:
nano /etc/ssh/sshd_config
Для изменения строки в открывшемся конфигурационном файле найдите, например, строку «Port 22» и замените число 22 на любое другое число (от 1025 до 65536).
После внесения изменений сохраните и закройте файл, зажав сочетание клавиш CTRL+X, затем нажмите Y, а в конце – «ENTER».
Для перезапуска службы SSH выполните следующую команду:
service ssh restart
Для выполнения команды с привилегиями root перед ней добавьте слово «sudo»:
sudo command_to_run
Для завершения сессии выполните команду:
exit
Основные команды Линукс
Существует много команд для работы с интерфейсом командной строки (CLI), но мы покажем вам лишь наиболее часто используемые:
Команда | Выполняемое действие |
---|---|
pwd |
Отображает текущий каталог |
ls |
Отображает список файлов в текущем каталоге |
ls -l |
Отображает подробный список файлов в текущем каталоге |
cd <каталог> |
Изменяет текущий каталог на новый каталог |
cd … |
Изменяет текущий каталог на родительский каталог |
clear |
Очищает окно интерфейса командной строки |
mkdir <имя-папки> |
Создает новую папку с именем \<имя-папки\> |
touch <файл> |
Создает новый файл с именем \<файл\> |
cp <файл> <каталог> |
Копирует файл с именем \<файл\> в каталог с именем \<каталог\> |
cp -r <папка> <каталог> |
Копирует папку с именем \<папка\> в каталог с именем \<каталог\> |
mv <текущее-имя> <новое-имя> |
Переименовывает файл или папку с именем \<текущее-имя\> в \<новое-имя\> |
mv <файл-или-папка> <каталог> |
Перемещает файл или папку с именем \<файл-или-папка\> в каталог с именем \<каталог\> |
rm <файл> |
Удаляет файл с именем \<файл\>. Удаляет файл с именем \<файл\> |
rm -r <имя-папки> |
Удаляет папку с именем \<имя-папки\> |
Эти команды позволяют выполнить различные операции с файлами и каталогами, предоставляя более гибкий способ взаимодействия с компьютерной системой.
Обзор других команд, аргументов и опций
Команды выполняются последовательно, и для выполнения следующей появляется разрешение командной строки (если не используются специальные скрипты).
Для выполнения команды достаточно ввести ее и нажать клавишу Enter.
Чтобы получить подробное описание команды Linux, например, ip address, введите команду man с именем команды:
man ip address
Запуск без аргументов и опций
При запуске команд без аргументов:
- «cd» возвращает в домашнюю директорию текущего пользователя;
- «ls» выводит список файлов и директорий в текущем каталоге.
Пример:
Выполнив команду «ls» без параметров, получаем список файлов в каталоге:
spaceweb@cs52412:~$ ls
sweblogo.jpg template host.jpg
Запуск с аргументами (параметрами)
Большинство команд предназначены для запуска с передачей аргументов.
Наиболее распространенное использование команды «cd» – вызов с аргументом, который отображает путь к директории, в которую следует перейти:
cd /usr/bin
Запуск с опциями
Многие команды также поддерживают опции (флаги, ключи) запуска, позволяющие изменять результат выполнения команды. Опции представляют собой одиночный символ после символа «-» или в расширенной форме после «–».
Пример:
Выполнив команду «ls» с опциями -A, -S, -1, получаем список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру:
spaceweb@cs52412:~$ ls -AS1
Вывод:
sweblogo.jpg
host.jpg
template
.filter
Одновременный запуск с аргументами и опциями
Синтаксис записи команды с опциями и аргументами:
команда -опции аргументы
Пример:
Команда «ls -la /home» выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):
spaceweb@cs52412:~$ ls -la /home
Вывод:
drwxr-xr-x 3 root root 4096 Aug 20 18:34 .
drwxr-xr-x 22 root root 4096 Aug 10 07:10 .
drwxr-xr-x 4 spaceweb spaceweb 4096 Aug 24 19:45 spaceweb
Заключение
Командная строка Linux открывает бесконечные возможности для управления системой и выполнения разнообразных задач.
В этом кратком руководстве мы представили инструкции, которые помогут вам научиться основам командной строки и воспользоваться мощью Linux в своей работе. Кроме того, так, вы сможете получить усиленный контроль над своей операционной системой.