Что такое интерфейс командной строки линукс

Что такое GUI и CLI

Когда вы переходите на Linux, то, читая статьи по теме или общаясь на форумах, часто сталкиваетесь с такими терминами, как GUI, CLI и реже TUI. В этой небольшой статье мы расскажем, что они означают, и разберёмся, в каком контексте эти аббревиатуры обычно встречаются.

Справедливости ради отметим, что термины GUI, CLI и TUI популярны не только в Linux-среде. Эти слова – часть общекомпьютерного жаргона, и их можно услышать в любых технических обсуждениях, а не только в тех, которые связаны с Linux.

GUI – графический интерфейс пользователя

GUI (Graphical User Interface) — приложением или графическим приложением называют практически любую программу, управление которой осуществляется посредством мыши, тачпада или сенсорного экрана. В рабочем окне отрисованы иконки и другие виджеты, и взаимодействие с программой представляет из себя, в сущности, последовательность нажатий курсором.

GIMP: GUI-приложение для обработки изображений

В Linux возможность графически взаимодействовать с операционной системой предоставляется так называемой средой рабочего стола. Поверх неё можно пользоваться GUI-приложениями, такими как GIMP, VLC, Firefox, LibreOffice, файловый менеджер и т.д. для решения различных задач.

VLC: медиапроигрыватель с GUI

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

CLI – интерфейс командной строки

CLI (Command Line Interface) – это программа в командной строке, которая читает вводимые команды и выполняет запрошенные действия. В целом, любая программа, которой можно пользоваться через команды из терминала, попадает в эту категорию.

APT: пакетный менеджер с CLI в Debian-based дистрибутивах

У старых компьютеров не было мыши или других манипуляторов для управления операционной системой. Всё взаимодействие выполнялось через текстовый ввод и вывод, т.е. через CLI.

Если вам кажется, что это сложно, подумайте об ещё более древних вычислительных машинах, у которых не было даже экрана, на котором отображается набираемый текст. Ввод команд распечатывался принтером на бумаге. Лично мне ни разу в жизни не доводилось пользоваться таким компьютером. Ближайший аналог из того, с чем я имел дело – это схемы на микроконтроллерах, которыми я занимался во время учёбы.

Ушёл ли CLI в прошлое? Вовсе нет. У командной строки есть свои преимущества, особенно если речь идёт о настройке Linux на глубинном уровне: поднятии сетевого брандмауэра, организации локальной сети или даже управлении пакетами.

Со всеми этими вопросами можно разобраться и с помощью GUI-программ, но CLI даёт более прямой и прицельный доступ к операционной системе. В любом случае, работа GUI-приложений также основана на обращении к ОС с помощью команд (которые прописаны в их программном коде).

Многие известные утилиты с GUI представляют из себя графическую обёртку для инструментов CLI. Например Handbrake, популярный медиа-конвертер с открытым исходным кодом, является GUI-надстройкой над CLI-приложением ffmpeg.

Рабочее окно Handbrake

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

TUI – текстовый пользовательский интерфейс

Этот термин встречается реже, чем первые два. TUI (Text User Interface) – это наполовину CLI и наполовину GUI. Непонятно, что это значит? Разберёмся поподробнее.

Как было сказано выше, работа со старыми компьютерами была целиком основана на CLI. Однако некоторый ограниченный спектр возможностей GUI можно имитировать и в текстовом терминале. Это и будет TUI: в отличие от интерфейса командной строки, в нём представлено больше виджетов и доступно управление как и с клавиатуры, так и с помощью мыши.

Links: терминальный браузер

TUI – это сокращение для text-based user interface (текстовый пользовательский интерфейс) или terminal user interface (терминальный пользовательский интерфейс). Слово «текстовый» в этом словосочетании означает, что всё показанное на экране, в сущности, представляет собой большой текст – набор символов, с помощью которого имитируются различные элементы управления, а слово «терминальный» – что обратиться к этому интерфейсу возможно только из терминала.

TUI-приложения не так популярны, как GUI и CLI, но примеров можно найти множество. Так, к этой категории относятся текстовые браузеры и текстовые игры.

Читайте также:  Многоканальный звук windows 10

Ещё один случай, когда TUI может встретиться – это если в процессе установки кодеков на Ubuntu необходимо принять EULA или сделать выбор из нескольких предложенных вариантов настройки. TUI сложнее в управлении, чем GUI и часто требует обучения, но пользоваться им всё-таки проще, чем командной строкой.

Выводы

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

Источник

Основной синтаксис командной строки Linux

Основой интерфейса командной строки UNIX является командный интерпретатор (КИ), являющийся первой и главной программой, запускаемой в сеансе пользователя.

Двусторонний попеременный диалог с командным интерпретатором начинается с приглашения, в ответ на которое пользователь вводит команду, отправляя ее на выполнение управляющим символом LF 0х0А, получает результат ее исполнения на терминале и новое приглашение, сигнализирующее о готовности КИ к исполнению очередной команды.

$ command -х [-у] -z optarg < — l | —long-option>arg1 arg2 . . .

Многие другие диалоговые программы, например lftp, так же будут придерживаться синтаксиса и соглашений, принятых в языке командного интерпретатора.

Базовый синтаксис (подчиняющийся второй части стандарта W: [POSIX]) языка любого командного интерпретатора на самом деле достаточно прост и напоминает язык, близкий к естественному.

Например, rm -f -R Изображения Музыка переводится на человеческий как «удалить (rm) без шума и пыли (-f) и со всеми потрохами (-R) каталоги Изображения и Музыка».

Принято говорить, что команда состоит из лексем (лексических элементов), разделенных пробельными символами — пробелами SP 0x20 и табуляциями HT 0x09 — в любом количестве и сочетании.

Первая лексема — это название команды, за которой следуют ее параметры: сначала опции (они же — ключи, они же — модификаторы) без аргументов (-х [-у]) и (—long-option) или с аргументами (optarg ), а в конце— аргументы ( arg1 arg2) самой команды.

Название команды — это глагол, указывающий ЧТО делать; опции — это наречия и прочие части речи, объясняющие КАК это делать; и наконец, аргументы задают то, с ЧЕМ это делать. В разнообразной документации при описании синтаксиса команды, ее опций и аргументов принято использовать квадратные скобки для указания необязательности опции или аргумента, фигурные скобки и вертикальную черту для указания выбора из вариантов и многоточие для указания повторяемости.

Получив команду, интерпретатор определяет, является ли она псевдонимом, встроенной в интерпретатор, или реализуется внешней программой, подлежащей запуску.

Утилиты which и type

date является /bin/date

ls является алиасом для ‘ls —color=auto’

ls является /bin/ls

pwd встроена в оболочку

pwd является /bin/pwd

which является /usr/bin/which

type встроена в оболочку

При наличии нескольких вариантов команды наивысший приоритет имеют псевдонимы, наименьший — внешние команды. Подстановку псевдонимов можно увидеть, включив трассировку выполнения команд интерпретатора при помощи команды set.

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

Is является алиасом для ‘ls —color=auto’

+ ls —color=auto -ASs

итого 36
12 examples.desktop 4 .bashrc 4 .profile 4 .lesshst
4 .cache 4 .bash_history 4 .bash_logout

В примере с командой m лексема -R означает опцию, требующую выполнить рекурсию (recursion), но не аргумент — объект, подлежащий удалению. В примере с командой m лексема -R означает опцию, требующую выполнить рекурсию (recursion), но не аргумент — объект, подлежащий удалению.

Опции командной строки

В истории развития операционной системы UNIX программы использовали разные способы задания своих опций:
♦ односимвольные, например ls -а -l (что эквивалентно ls -l -а или ls -al или ls -la);
♦ многосимвольные, например find /var -xdev;
♦ длинные, например ps —help;
♦ с аргументами, например kill -n 15 1, или kill -n15 1, или du -В M, или du -BM,

или find /etc -type d, или даже ls —sort=slze;

♦ «нестандартные», например set +x, tar czf tar.tgz

или dd if=/dev/dvd of=dvd.iso.

Знак «минус», предваряющий опции, естественно используется для того, чтобы отличать их от аргументов. Среди прочих, он был выбран потому, что редко встречается как первый символ в аргументах команд (в качестве которых зачастую выступают имена файлов).

И еще потому, что на терминале классической UNIX набор более логичного знака «плюс» (что могло бы означать «включить»,«активировать») требовал достаточных усилий по нажатию клавиши SHIFT. В результате получилось, что, например, в команде set опция х (execution trace) в форме -х включает, а +х выключает трассировку выполнения команд.

В тех редких случаях, когда аргумент команды все же начинается с символа «минус» и тем самым похож на опцию (представим, что нужно выполнить действие над файлом с именем -=filenames=-), специальная опция — сигнализирует о конце списка опций, за которым следуют лексемы, обязанные расцениваться как аргументы, вне зависимости от их написания.

Конец списка опций

stat: неверный ключ — «=»
Попробуйте «stat —help» для получения более подробного описания.

Файл: «-=filename=-»
Размер: 0 Блоков: 0 Блок B/B: 4096 пустой обычный файл
Устройство: fc00h/64512d Inode: 26870044 Ссылки: 1
Доступ: (0600/-rw -) Uid: ( 1000/ john) Gid: ( 1000/ john)
Доступ: 2018-08-24 01:37:21.574640275 +0300

Модифицирован: 2018-08-24 01:37:21.574640275 +0300

Изменён: 2018-08-24 01:37:21.574640275 +0300

Короткие, односимвольные опции (например -l -а) без своих аргументов издревле можно было объединять в группы (-lа или -al), однако их в этом случае сложно отличать от многосимвольных (-xdev) или односимвольных, склеенных со своими аргументами (-ВМ).

Поэтому позже появились длинные (в так называемом GNU-стиле) опции, обозначаемые двумя знаками «минус», позволяющие навести некоторый порядок в виде —block-size=M вместо -ВМ или, предположим,

—dont-descent вместо -xdev.

Командный интерфейс Linux

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

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

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

Именно командный интерфейс в современном виде — аудиоформе — больше не является уделом художественных фантастических произведений, где капитаны межгалактических кораблей командуют кораблям «включить защитное поле». Теперь мы все можем при помощи командного аудиоинтерфейса смартфона найти ближайшую пиццерию или маршрут к нужному месту. Надеюсь, что и алфавитно-цифровая форма командного интерфейса, доставшаяся «в наследство» от UNIX из 70-х годов прошлого века, вас тоже не особо испугает. Ok, Google?

Источник

Всё о работе в командной строке Linux

Лучшая профессиональная работа в Linux немыслима без использования командной строки. Пользователям, привыкшим трудиться в системах с графическим интерфейсом, работа с командной строкой может показаться неудобной: то, что возможно сделать одним перетаскиванием мышью в командной строке потребует ввода с клавиатуры многих слов: команды с аргументами. Однако в Linux этот вид интерфейса всегда был основным, а потому и хорошо развитым. Командная строка (Command Line) или Консоль (Console) или Терминал (Terminal) — интерфейс для управления програмками с помощью команд.

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

Как открыть командную строку в Linux

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

Как получить доступ к командной строке в Ubuntu? Нет ничто проще. Чтобы открыть эмулятор терминала в Ubuntu, выберите на панели пункт «Приложения->Стандартные->Терминал». Опустится эмулятор терминала — Gnome terminal. Также эмулятор терминала Gnome terminal в Ubuntu возможно запустить из окна запуска приложений. Для этого нажмите Alt+F2 и введите в открывшемся окне заглавие программы — «gnome-terminal». Чтобы получить доступ к настоящей текстовой консоли, возможно воспользоваться комбинациями клавиш Ctrl+Alt+F1… Ctrl+Alt+F6. Ctrl+Alt+F7 — переход обратно в графичный режим.

Командная строка, оболочка, консоль — эти термины используются для обозначения взаимодействия человека-оператора с операторной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение итогов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным провиантом — оболочкой ( shell ) . Наиболее распространенной из них, является оболочка проекта GNU bash ( Bourne Again SHell ). Bash строится на оболочке Bourne ( sh ) созданной Стефеном Борном и включает в себя свойства множества иных оболочек — C ( csh ) , Korn ( ksh ), tc ( tcsh ) . Bash была написана Брайаном Фоксом (Brian Fox ) и в истиннее время поддерживается Четом Рейми ( Chet Ramey ).

Что такое командная строка bash?

Bash расшифровывается как Bourne again shell (что возможно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранешней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» – по имена разработчика Стивена Борна). Bash позволяет интерактивно взаимодействовать с компьютером, вводя некоторые команды и получая на них соответствующий отклик. Также этот командный процессор позволяет исполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, благоволит использование переменных, операторов ветвления и цикла. Далее в статье будут приведены наиболее простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать сами использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу инструктивной строки.

Командный интерпретатор bash – это один из нескольких интерпретаторов, доступных в Linux. Иное свое название – Bourne-again shell – интерпретатор bash получил в честь Стивена Борна (Stephen Bourne), творца его ранней версии (/bin/sh). По большей части bash совместим с sh, но содержит множество улучшений, касающихся как функциональность, так и возможности программирования. Bash сочетает возможности интерпретаторов Korn shell (ksh) и C shell (csh) и представляется POSIX-совместимым интерпретатором.

Основные команды для работы в командной строке Linux

Команды для службы с файлами и каталогами:

  • pwd – отобразить путь текущего каталога
  • cd – перейти в указанный каталог
  • ls – показать список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
  • cp – копирование файлов/папок
  • mv – смещение файлов/папок
  • mkdir – создать папку
  • rm – удалить файлы/папки, с ключом -r устраняет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
  • rmdir – удаление порожний папки
  • chmod – изменить права доступа к файлу
  • chown — сменить владельца файла или каталога
  • find — отыскать файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — разыскивать от корневого каталога файлы, содержащие в имени символы .X
  • which — отобразить полный путь выполняемого файла, доступного в данной оболочке, например which ifconfig
  • touch — изменить преходящие отметки файла. Удобно использовать для создания пустых файлов – touch myfile основывает пустой файл myfile .

Системные команды

Эти команды обычно используется от имени суперпользователя ( с бригадой sudo ).

  • reboot – перезагрузка системы
  • poweroff – выключение компьютера
  • reset – очищает окно терминала
  • passwd – переменить свой пароль, а суперпользователю — поменять пароль любого пользователя
  • users — отобразить перечень пользователей, вошедших в систему.
  • yum — установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
  • dpkg — аппарат, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
  • apt-get — установка, устранение или обновление программного обеспечения в дистрибутивах на основе Debian (Ubuntu, Mint и т.п.)

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

  • ps – отобразить список текущих активных процессов
  • lsof — отобразить список открытых файлов процесса или юзера
  • strace — отобразить список системных вызовов
  • last — отобразить историю перезагрузок и регистраций юзеров в системе
  • kill – послать сигнал процессу, обычно используется для принудительного завершения службы процесса.
  • killall – завершение работы всех процессов, имена которых заданы метеопараметром командной строки
  • top – отображение списка текущих процессов и интерактивное управление ими.

Сетевые бригады

  • ifconfig – конфигурация сетевых интерфейсов
  • route — таблица маршрутизации
  • ifup / ifdown — подсоединить /выключить сетевой интерфейс
  • ip — просмотр или изменение параметров конфигурации протокола IP
  • netstat — показать состояние сетевых соединений
  • arp, ping, nslookup, traceroute — наиболее часто используемые бригады сетевой диагностики.

Подсказки по использованию команд в Linux

При работе в командной оболочке Linux, в основной массе случаев, можно получить справочную информацию по использованию конкретной команды, введя ее имя с метеопараметром —help:

ls —help — отобразить справку для команды ls. В большинстве случаев, для получения справочной данных, допускается использование ключа -h

ls -h В операционных системах семейства Linux, более подробную ссылочную информацию можно получить из комплекта документации, известного как man-страницы, поскольку он доступен по бригаде man. Этот комплект включает в себя 8 разделов, содержащих справочную информацию, которую возможно вывести на экран с использованием команды man

Источник

Оцените статью