Раздел помощи SpaceWeb

Краткое руководство по командной строке Linux

15 дек, 2023

Командная строка – одно из наиболее полезных и эффективных средств для разработчиков и пользователей компьютеров в целом. Но, когда вы только начинаете, ее использование может показаться сложным и немного пугающим.

В этой статье мы постараемся максимально просто объяснить составляющие интерфейса командной строки и основы ее работы, чтобы вы могли начать использовать ее для ваших повседневных задач или работы.

Различие между консолью, командной строкой (CLI), терминалом и оболочкой

Давайте начнем с того, что же такое командная строка.

Люди часто используют слова «терминал», «консоль», «командная строка» (CLI) и «оболочка». взаимозаменяемо, но на самом деле они представляют собой разные вещи.

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

  1. Консоль

Консоль – это физическое устройство, которое позволяет вам взаимодействовать с компьютером.

Простыми словами, это ваш экран компьютера, клавиатура и мышь. Как пользователь, вы взаимодействуете с компьютером через свою консоль.

  1. Терминал:

Терминал – это среда текстового ввода и вывода. Это программа, которая действует как оболочка и позволяет нам вводить команды, которые обрабатываются компьютером.

Иными словами, это «окно», в котором вы вводите фактические команды, которые ваш компьютер будет обрабатывать в дальнейшем.

  1. Оболочка

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

Как и терминал, оболочка – это программа, поставляемая по умолчанию во всех операционных системах, но ее также можно установить и удалить пользователем.

Разные оболочки имеют различный синтаксис и характеристики. Также возможно установить несколько оболочек на компьютер и запускать каждую из них при необходимости.

В большинстве операционных систем Linux и Mac оболочка по умолчанию – Bash, в то время как в Windows это PowerShell. Некоторые другие распространенные примеры оболочек – Zsh и Fish.

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

Сценарии представляют собой последовательность инструкций (команд), которые можно сохранить в файле и выполнить в любое удобное время.

Важно помнить, что терминал – это программа, в которой будет выполняться оболочка. Но обе программы независимы. Это означает, что вы можете запускать любую оболочку в любом терминале, так как между этими двумя программами нет зависимости.

  1. Командная строка или 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

Вывод:

.gtkrc-2.0
sweblogo.jpg  
host.jpg
template
.filter

Одновременный запуск с аргументами и опциями 

Синтаксис записи команды с опциями и аргументами:

команда -опции аргументы

Пример:

Команда «ls -la /home» выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):

spaceweb@cs52412:~$ ls -la /home

Вывод:

total 12
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 в своей работе. Кроме того, так, вы сможете получить усиленный контроль над своей операционной системой.