Что означает linux terminal

Linux=Terminal?

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

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

Тестовое окружение

Для демонстрации настроек и работы с системами операционной системы Linux будем использовать Ubuntu 20.04 Server версию. Необходимо установить базовую систему и создать обычного пользователя. В результате должно получиться нечто похожее на снимок ниже:

Для подготовки лабораторной операционной системы также потребуется установить дополнительное ПО на сервер. Это будет Xvfb и Xpra (их описание будет в статье далее). Установить их можно соответствующими командами:

apt-get update && apt-get -y install xvfb imagemagick (последний нужен для корректного преобразования памяти в картинку)

apt-get update && apt-get -y install xpra

Проверка и отчасти демонстрация результатов может производиться на любом хосте в сети с сервером. Для тестов в качестве второй машины использовалась операционная система Kali Linux, включенная в локальную сеть вместе с Ubuntu сервером.

Создаем рабочий стол

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

xvfb — приложение, которое создано для работы с графикой на тех системах, где даже на уровне железа может и не быть видеокарты или другого устройства вывода. Все операции инструмент проводит в оперативной памяти. Применение инструмента нашлось в рендеринге, фоновых операциях с графикой. Стоит заметить, что это ПО даёт только лишь возможность взглянуть на экран, но не имеет инструментов для взаимодействия с его интерфейсами. Поэтому, чтобы картинка менялась, придется немного покодить для автоматизации. К примеру, для браузера можно использовать скрипты для Selenium.

Продемонстрируем, как можно выстроить работу с помощью xvfb . Главной единицей взаимодействия для данной тулзы является устройство Screen или просто экран. По умолчанию существует только один экран с разрешением 1280x1024x8 (ШиринаХВысотаХГлубина). Выполним следующие команды на сервере:

1. Установим X11 приложения — apt install x11-apps . Нам понадобится калькулятор для демонстрации интерфейса.

2. Откроем экран для отрисовки калькулятора:

3. Запустим калькулятор на созданном экране — DISPLAY=$DISPLAY /usr/bin/xcalc &

4. Создадим из экрана картинку, которую можно будет просмотреть на клиенте —

Выполним команду на клиенте, чтобы увидеть результат:

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

Xpra в противовес инструменту xvfb имеет полный функционал по взаимодействию с системой. Можно сказать, это своеобразный аналог VNC, который может использовать в качестве транспорта протокол ssh, tcp и несколько других, достаточно лишь настроить на целевой системе сервер для приема соединения, а на клиенте использовать верный протокол для взаимодействия. Оставим эту настройку для читателя (тестирование на виртуальных машинах не рекомендуется, так как у ПО есть проблемы с поддержкой, виртуальные машины просто зависают). А в качестве второго эксперимента проведем печать интерфейса приложения прямо из запущенного контейнера Docker.

Читайте также:  Операционные системы windows базы данных

Для проведения этого теста нам понадобится установить Docker для операционной системы Ubuntu. Инструкции к его установке можно найти вот здесь. В инструкции достаточно подробное описание, потому перейдем сразу к этапу создания Image, который будет использоваться для контейнера целевой машины. Для создания контейнера нам нужно сделать файл “Dockerfile” и наполнить его следующими данными:

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

Вместо заключения

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

Данная статья была написана в преддверии старта курса Administrator Linux. Basic от OTUS. Узнать подробнее о курсе и посетить бесплатный урок можно по этой ссылке.

Источник

Основы работы с терминалом Linux

В данной статье речь пойдёт о терминале и командах Linux. Терминал, или командная строка – это стандартный способ взаимодействия с сервером Linux.

Примечание: Для выполнения примеров, приведённых в статье, нужен сервер Linux. Данное руководство выполнено на сервере Ubuntu 14.04, но подходит для любого другого современного дистрибутива Linux.

Эмулятор терминала

Эмулятор терминала – это программа, которая позволяет использовать терминал в графической среде. Большинство людей используют ОС с графическим пользовательским интерфейсом (GUI), потому эмулятор терминала необходим многим пользователям Linux-сервера.

Наиболее популярными эмуляторами являются:

  • Mac OS X: iTerm 2
  • Windows: PuTTY
  • Linux: Terminal, KDE Konsole, XTerm

Каждый эмулятор терминала имеет свой индивидуальный набор функций.

Оболочка Linux

В системе Linux оболочкой называется интерфейс командной строки, который интерпретирует команды пользователя и файлы сценариев. Существует несколько поулярных оболочек (например, оболочка Борна (sh) и оболочка С (csh)). Каждая оболочка имеет свой собственный набор функций и по-своему интерпретирует команды, но все оболочки обеспечивают перенаправление ввода и вывода, установку переменных и тестирование.

Примечание: Данное руководство выполнено в оболочке bash, которая является оболочкой по умолчанию большинства дистрибутивов Linux.

Командная строка

Впервые входя на сервер, вы видите Message of the Day (MOTD), сообщение, которое включает в себя различную информацию, например, версию дистрибутива Linux, установленную на сервер. После этого вы получаете доступ к командной строке (или к оболочке командной строки), с помощью которой можно запускать команды.

Стандартная командная строка Ubuntu 14.04 выглядит так:

Она содержит следующие данные:

  • 8host – имя текущего пользователя;
  • webapp – имя хоста;

– текущий каталог (в bash символ тильды соответствует домашнему каталогу, путь к нему – /home/8host).

  • $ – символ, который означает конец командной строки, после которого появится ввод пользователя с клавиатуры.
  • Ниже приведён пример командной строки пользователя root, который находится в каталоге /var/log.

    Обратите внимание: данная строка заканчивается символом #, это стандартный символ командной строки пользователя root. В Linux root является суперпользователем, который имеет все привилегии и может выполнить любую задачу на сервере.

    Выполнение команд

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

    Каждая запущенная команда является отдельным процессом. Если команда выполняется на переднем плане (по умолчанию все команды выполняются именно так), то пользователь не сможет работать с терминалом, пока команда не будет выполнена.

    Важно отметить, что в системе Linux почти всегда учитывается регистр, включая имена файлов и каталогов, команды, аргументы и опции. Если что-то не работает, проверьте написание команды.

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

    Запуск команд без опций и аргументов

    Чтобы запустить команду без аргументов и опций, просто введите саму команду и нажмите RETURN.

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

    Запуск команд с аргументами

    Многие команды принимают аргументы, или параметры, которые могут влиять на их поведение. К примеру, в качестве аргумента команды cdчасто используется имя каталога, в который нужно перейти. Например, чтобы перейти в /usr/bin, нужно ввести:

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

    Команды с опциями

    Большинство команд имеют список опций, или флагов, которые позволяют изменять поведение команды.

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

    Для примера рассмотрим некоторые опции команды ls:

    • -l: включает подробный листинг, который предоставляет дополнительные детали (права доступа, права собственности, размер файлов и т.п.).
    • -a: выводит полный список файлов, которые хранятся в каталоге (включая скрытые файлы).

    Флаг -l команде ls передаётся так:

    Такая команда выведет много дополнительной информации о файлах.

    Как уже говорилось, опции можно группировать. Например, вы можете передать команде ls флаги -l и –a одновременно. Для этого можно запустить:

    Но лучше скомбинировать их так:

    Теперь команда выведет подробные данные обо всех файлах, включая скрытые.

    Команды с опциями и аргументами

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

    К примеру, чтобы просмотреть полное содержимое каталога /home, можно использовать:

    Такая команда вернёт подробные данные о каждом файле заданного каталога.

    Переменные окружения

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

    Просмотр переменных

    Чтобы просмотреть все переменные окружения, установленные для определённой сессии терминала, используйте env:

    Вывод этой команды обычно очень объёмен. Найдите в нём запись PATH:

    Переменная окружения PATH – это разделённый двоеточиями список каталогов, в которых оболочка будет искать исполняемые программы или сценарии при выполнении команды. Например, команда env находится в каталоге /usr/bin, но при выполнении команды не нужно указывать путь к ней, поскольку он уже указан в переменной PATH.

    Значения переменных

    Чтобы извлечь значение переменной, укажите перед её именем $.

    Например, чтобы вывести значение переменной PATH, можно использовать команду echo:

    Чтобы узнать значение переменной HOME (по умолчанию это домашний каталог текущего пользователя), попробуйте перейти в домашний каталог:

    Если запрашиваемая переменная не установлена, терминал вернёт пустую строку.

    Установка значений переменных

    Чтобы установить значение переменной окружения, введите имя переменной, поставьте символ =, а затем укажите нужное значение:

    Обратите внимание, что если вы устанавливаете существующую переменную, её исходное значение будет перезаписано. Если переменная не существует, она будет создана.

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

    Также на существующие переменные можно ссылаться при установке переменной. К примеру, если вы установили приложение в /opt/app/bin, вы можете добавить этот каталог в конец переменной PATH с помощью такой команды:

    Теперь запросите значение переменной PATH:

    Имейте в виду: установленные таким образом переменные окружения будут действительны только для текущего сеанса. То есть если вы выйдете из системы или перейдёте в новую сессию, внесенные в окружение изменения не сохранятся.

    Примечание: Больше о работе с переменными можно узнать в руководстве «Чтение и установка переменных среды и оболочки на сервере Linux».

    Источник

    Вместе изучаем Linux. Введение. Терминал и полезные команды

    Вместе изучаем Linux

    Здравствуйте! Я Анатолий Гусляков, модератор сайта Comss.ru. С сегодняшнего дня мы открываем серию интересных тем под общим названием «Вместе изучаем Linux». Темы обсуждений будут в виде статей или сообщений, в которых будут рассматриваться различные материалы по изучению Ubuntu и его производных систем. Материал будет выкладываться не только администрацией ресурса, но и пользователями, желающими поделится своими знаниями (интересны именно личные знания, без копипаста со сторонних ресурсов). Если будут выкладываться объемные темы, предварительно необходимо обговорить с администрацией ресурса, возможно предложенная тема будет выложена в виде отдельной статьи.

    Цель — изучение азов Linux систем. Методика, наверное, не совсем обычная, учителей не будет, вернее, каждый пользователь принимающий участие, и будет являться учителем. Открыто в добродушной и теплой обстановке мы будем делиться своими знаниями. Каждая тема обсуждения (урока) будет заканчиваться практическим закреплением новых знаний на своей системе и комментариями со скриншотами.

    Начнем первое обсуждение!

    Терминал и полезные команды

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

    Терминал — графическая программа эмулирующая консоль, говорит нам пользовательская документация с сайта help.ubuntu.ru.

    Все команды терминала работают и в консоли. Консоль работает без графической оболочки и как правило необходима при проблемах с запуском системы.

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

    Примеры наиболее популярных команд (терминал можно запустить с помощью горячих клавиш: Ctrl+Alt+T):

    sudo apt-get update (обновление индекса пакетов)

    sudo apt-get upgrade (непосредственное обновление программ)

    Рассмотрим составляющие команды:

    • sudo — команда запуска с правами администратора (после ее ввода необходимо ввести пароль администратора, сам пароль не виден, но пугаться не стоит, он вводится и затем жмем клавишу enter);
    • apt-get — является мощным инструментом по установке и обновлению пакетов;
    • update — обновление списка пакетов, upgrade — обновление самих пакетов.

    sudo apt-get install название_программы — установка программы;

    sudo apt-get remove название_программы — удаление программы;

    Программы лучше всего устанавливать, добавляя их репозитории, это даст возможность дальнейшего автоматического обновления программы, предварительно проверив что программы нет в Центре приложений Ubuntu (таким образом проверяем если данный репозиторий у нас не подключен).

    Для большинства команд можно получить справку, введя после команды дополнительную команду —help. Пример: sudo apt-get update —help

    Рекомендую ознакомиться и добавить в закладки ссылку: Очень полезные команды Linux на одном листе.

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

    И напоследок несколько интересных команд:

    uname -a — команда выводит на экран версию ядра Linux;

    netstat -tup — список активных сетевых соединений;

    apt-get moo — команда хорошего настроения

    Популярные эмуляторы терминала

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

    Рассмотрим наиболее популярные эмуляторы терминала:

    Guake — ниспадающий терминал, напоминающий консоль из популярной игры Quake. Терминал загружается в память, поэтому вызов терминала происходит быстрее стандартного терминала. Доступен в репозитории Ubuntu, поэтому установить можно из Центра приложений Ubuntu.

    Final term — «умный» эмулятор терминала. Запоминает вводимые команды и при следующем наборе предлагает их в выпадающем меню. Как и большинство эмуляторов терминала, Final term поддерживает работу горячих клавиш, но через редактирование файла настроек. К сожалению, при ознакомлении он завис, но на это есть объяснение, Final term длительное время не выходит из этапа альфа тестирования.

    Переходим к установке. На момент написания данной статьи репозиторий программы не работал, поэтому устанавливать будем из исходников. Дополнительный инструмент Git, который установим для установки Final term нам пригодится в дальнейшем для установки других программ.

    sudo apt-get install git build-essential cmake intltool (необходимые довольно популярные инструменты)

    sudo apt-get install valac libgtk-3-dev intltool clutter-gtk-1.0 libkeybinder-3.0-dev libgee-0.8-dev libnotify-bin libmx-dev (дополнительные пакеты для GTK )

    git clone https://github.com/p-e-w/finalterm.git (загружаем исходники)

    cd finalterm/ (переходим в папку finalterm)

    mkdir build (создаем папку build )

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

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

    sudo make install (непосредственно установка)

    Terminator — кроссплатформенный эмулятор терминала, поддерживающий системы Microsoft Windows, Mac OS X, Linux , Unix X11. Удобный эмулятор терминала, позволяет создать горизонтальные и вертикальные вкладки, настроить отображение интерфейса, множество горячих клавиш и подключить дополнительные плагины.

    Установить можно из Центра приложений Ubuntu.

    RXVT (цветной терминал с поддержкой unicode) — очень легковесный эмулятор терминала. Никаких настроек не обнаружил. По минимализму напоминает встроенный XTerm, однако в RXVT удалены некоторые функции, такие как: эмуляция Tektronix 4014 и конфигурирование в инструментальном стиле.

    Доступен в родном репозитории Ubuntu.

    Ну а тем, кто продолжает использовать стандартный Терминал предлагаю его немного украсить рисунком, например пингвином по имени Tux (официальный талисман Linux).

    sudo apt-get install cowsay fortunes-ru

    Далее открываем домашнюю папку (папка Home/имя пользователя), включаем отображение скрытых файлов и редактируем файл с названием .bashrc, добавляя в него строчку: fortune | cowsay -f tux

    Всем отличного настроения. До встречи в обсуждениях темы.

    Источник

    Читайте также:  Car traffic для windows
    Оцените статью