Обзор CLI: командная строка и ее возможности

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

Что такое CLI и как он устроен

CLI расшифровывается как «command line interface», что в переводе с английского означает «интерфейс командной строки». Он позволяет управлять различными процессами в операционной системе, например:

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

Интерфейс командной строки включает в себя несколько обязательных элементов. Рассмотрим их подробнее.

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

Командная строка — как можно понять из названия, это поле для ввода команды. В ее состав входят:

  1. Приглашение — обязательный элемент, который расположен в начале командной строки и всегда заканчивается спецсимволом. Приглашение указывает на то, что система готова к вводу команды.
  2. Команда — текстовое указание, какое действие нужно выполнить. Команда состоит из нескольких частей:
  • название команды — обозначение действия, которое нужно выполнить. Это обязательная часть команды;
  • ключ — необязательный элемент, который позволяет применить дополнительные параметры к команде. Он начинается с дефиса или двойного дефиса. Иногда для одной команды может использоваться несколько ключей одновременно;
  • аргумент — еще один необязательный элемент. Он размещается в самом конце команды и содержит входные данные, которые нужны для выполнения команды. Входными данными может быть название файла, путь и многое другое. Иногда для одной команды может использоваться несколько аргументов одновременно.

Плюсы и минусы интерфейса командной строки CLI

CLI имеет свои сильные и слабые стороны, как и любая программа. Начнем с преимуществ командного интерфейса:

  1. Удаленный доступ. Командная строка позволяет подключаться к удаленным компьютерам и серверам, используя логин, пароль и адрес устройства.
  2. Гибкие возможности автоматизации. CLI позволяет настроить автоматическое выполнение повторяющихся задач, и, как следствие, сэкономить время.
  3. Малое потребление ресурсов. CLI, в сравнении с графическим интерфейсом, менее требователен к мощностям устройства. Благодаря этому командная строка запускается даже на слабых ПК.

Если говорить о недостатках командного интерфейса, то основной из них — это сложность работы. CLI включает в себя большое количество команд, причем некоторые действия могут потребовать выполнение нескольких команд по очереди. Это будет достаточно просто для опытного пользователя. Однако у новичка работа с командной строкой может вызвать затруднения.

Источник: Shutterstock. Современная командная строка досталась Windows от ее прародителя MS-DOS

Windows: основные команды CLI

Windows — это группа коммерческих проприетарных операционных систем, разработанных компанией Microsoft. ОС Windows ориентирована преимущественно на управление системой с помощью графического интерфейса, однако оболочка командной строки в ней также присутствует — она сохранилась еще от «прародителя» Windows под названием MS-DOS.

В версиях Windows для ПК можно встретить два интерфейса командной строки:

  1. cmd.exe — его принято называть командной строкой.
  2. PowerShell — интерфейс командной строки, который поддерживает использование командлетов.

Рассмотрим основные команды командной строки Windows.

Управление файлами и папками

cd C:\Users\Username\ — открыть указанную директорию. Вместо C:\Users\Username\ необходимо указать путь к папке, которую вам нужно открыть.

dir — отобразить список файлов, папок и прав доступа к ним в текущей директории.

copy C:\Users\Username\directory\file.txt
C:\Users\Username\new_directory\ — копирование файла в другой каталог.

Здесь:

  • C:\Users\Username\directory\file.txt — путь к копируемому файлу,
  • C:\Users\Username\new_directory\ — путь к директории, в которую нужно скопировать файл.

del C:\Users\Username\directory\file.txt — переместить файл в корзину. Вместо C:\Users\Username\directory\file.txt укажите путь к файлу, который нужно удалить.

erase C:\Users\Username\directory\file.txt — безвозвратно удалить файл. Вместо C:\Users\Username\directory\file.txt укажите путь к файлу, который нужно удалить в обход корзины.

move C:\Users\Username\directory\file.txt C:\Users\Username\new_directory\ — переместить файл в другую директорию.

Здесь:

  • C:\Users\Username\directory\file.txt — путь к переносимому файлу,
  • C:\Users\Username\new_directory\ — путь к директории, в которую нужно перенести файл.

edit C:\Users\Username\directory\file.txt — изменить файл. Вместо C:\Users\Username\directory\file.txt укажите путь к файлу, который вы хотите отредактировать.

print C:\Users\Username\directory\file.txt — вывести содержимое файла на экран. Вместо C:\Users\Username\directory\file.txt укажите путь к файлу.

mkdir C:\Users\Username\directory\ — создать новую папку по заданному пути. Вместо C:\Users\Username\directory\ укажите путь, по которому нужно создать директорию.

rename C:\Users\Username\directory\file.txt — переименовать файл или папку. Вместо C:\Users\Username\directory\file.txt укажите путь к файлу или папке, которую хотите переименовать.

Источник: Shutterstock. CLI (command line interface) в переводе с английского означает «интерфейс командной строки»

Управление процессами и приложениями

shutdown /s — выключить компьютер.

shutdown /r — перезагрузить компьютер.

runas /user:username\administrator cmd — запустить приложение от имени другого пользователя.

Здесь:

  • username — логин пользователя, под которым нужно запустить программу;
  • cmd — имя программы или путь к ней.

reg — запустить редактор реестра.

tasklist — вывести список запущенных задач.

taskkill — принудительно завершить процессы.

Управление дисками

chkdisk C: — проверить диск и вывести статистику на экран. Вместо C: укажите букву диска, который хотите проверить.

defrag C: — начать дефрагментацию диска. Вместо C: укажите букву диска, для которого нужно выполнить дефрагментацию.

recover D:\directory\file.txt — восстановить файл с поврежденного диска. Вместо D:\directory\file.txt укажите путь к файлу, который нужно восстановить.

Управление сетями

ipconfig — вывести список сетевых интерфейсов и информацию по ним.

ping 123.123.123.123 — проверить доступность хоста. Вместо 123.123.123.123 укажите адрес хоста, который нужно проверить на доступность.

tracert — отследить маршрут при передаче данных.

nslookup example.com — узнать IP-адрес ресурса. Вместо example.com укажите доменное имя сайта, адрес которого хотите узнать.

netsh — запустить программу для управления сетевыми настройками.

Вывод системной информации

date — вывести текущую дату системы.

time — вывести текущее время системы.

driverquery — вывести список драйверов и их состояние.

hostname — показать имя компьютера в сети.

systeminfo — показать конфигурацию компьютера.

ver — показать версию Windows.

Источник: Shutterstock. Командная строка в Linux называется Терминал

Linux: основные команды CLI

Linux — это группа UNIX-подобных операционных систем. К ней можно отнести множество популярных ОС: например, Ubuntu, Debian, CentOS, RedHat, Linux Mint и многие другие. Часто эти системы используются при настройке серверов. Например, облачные решения Рег.ру позволяют выбирать популярные дистрибутивы Linux. Также на сайте Рег.ру можно найти каталог предустановленных приложений и ОС.

В ОС семейства Linux также встроена стандартная оболочка командной строки под названием Терминал.

Важно: операционные системы линейки Linux чувствительны к регистру. Например, если вместо man ввести Man, CLI вернет ошибку.

Управление файлами и папками

mkdir ~/username/directory — создать новую папку. Вместо ~/username/directory укажите, по какому пути нужно разметить новую директорию.

touch ~/username/directory/file.txt — создать файл. Вместо ~/username/directory/file.txt укажите путь, по которому нужно создать файл.

cp ~/username/directory/file.txt ~/username/new_directory/file.txt — скопировать файл.

Здесь:
~/username/directory/file.txt — путь, по которому хранится файл;
~/username/new_directory/file.txt — путь, по которому нужно разместить копию.

mv ~/username/directory/file.txt ~/username/new_directory/file.txt — перенести файл.

Здесь:
~/username/directory/file.txt — путь, по которому хранится файл;
~/username/new_directory/file.txt — путь, по которому нужно перенести.

rename ~/username/directory/file.txt — переименовать файл. Вместо ~/username/directory/file.txt укажите путь, по которому размещен искомый файл.

rm file.txt — безвозвратно удалить файл. Вместо file.txt укажите название файла, который нужно удалить.

pwd — узнать путь к директории, в которой вы находитесь в данный момент.

Управление пользователями

useradd username — создать пользователя. Вместо username укажите логин нового пользователя.

passwd username — изменить пароль пользователя. Вместо username укажите логин пользователя, для которого нужно сменить пароль.

userdel username — удалить пользователя. Вместо username укажите логин пользователя, которого нужно удалить.

su username — переключиться на указанного пользователя. Вместо username введите логин пользователя, на которого нужно переключиться.

sudo — выполнить команду от имени суперпользователя.

Установка, обновление и удаление программ

Ubuntu и Debian Fedora и CentOS Назначение команды
sudo apt install program (вместо program необходимо указать название устанавливаемой программы) sudo dnf install program (вместо program необходимо указать название устанавливаемой программы) установить программу
sudo apt update program sudo dnf update обновить списки пакетов
sudo apt upgrade sudo dnf upgrade обновить установленные пакеты
sudo apt remove program (вместо program необходимо указать название удаляемой программы) sudo dnf remove program (вместо program необходимо указать название удаляемой программы) удалить программу

Управление операционной системой

sudo systemctl start service — запустить службу ОС. Вместо service укажите название службы, которую нужно запустить.

sudo systemctl stop service — остановить службу ОС. Вместо service укажите название службы, которую нужно остановить.

ps — отобразить список активных процессов.

top — отобразить активные процессы и системную статистику.

df — вывести на экран информацию о занятом и свободном дисковом пространстве.

ifconfig — отобразить список сетевых интерфейсов.

sudo shutdown now — выключить компьютер.

reboot — перезагрузить компьютер.

Выше приведены наиболее часто используемые команды для разных ОС. Но на самом деле их количество значительно больше. Найти другие команды Windows и Linux можно на официальных сайтах разработчиков. Команды для Windows можно найти на сайте Microsoft, а для Linux — на сайте вашего дистрибутива: например, можно обратиться к документации Debian или CentOS.

В Облаке Рег.ру вы можете сразу заказать облачный сервер с предустановленным приложением и/или ОС. На выбор доступны серверы с Ubuntu, Debian, Fedora, AlmaLinux, RockyLinux, CentOS, AstraLinux.

Галина Петрова

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

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

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

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

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More