Терминальные программы что это

Содержание

Это terminal концепция, описывающая группу устройств ввода и вывода (клавиатура, мышь, монитор и т. д.) и конфигурации (параметры на устройствах). Рассмотрим устройство, которое вы используете для чтения этого документа; вы находитесь на настольном компьютере с мышью, клавиатурой и монитором? Или мобильное устройство с экраном с сенсорным экраном с возможностью сенсорного ввода и клавиатуры Bluetooth? Все это можно считать терминалом; они представляют собой группы устройств, взаимодействующих друг с другом.

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

A session — это активная связь между терминалом и другими устройствами. Это элемент, который содержит процессы пользователя, удостоверение данных и запускает собственный экземпляр win32k в csrss.exe (подсистема времени выполнения client-server). Если терминал не подключен к сеансу, он будет подключен в ближайшее время или находится в процессе уничтожения.

Существуют разные типы терминалов, но два наиболее распространенных из них — консоль и удаленные.

5 Терминальный клиент

Консоль и удаленный терминал

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

Другим распространенным терминалом remote является терминал. Удаленный терминал — это терминал, где все входные и выходные данные подключены к удаленной системе и не подключены напрямую. Например, клавиатура, мышь и монитор, связанные с удаленным сеансом, физически расположены в другой системе с удаленным терминалом протокола удаленного рабочего стола (RDP). Этот терминал создается поставщиками протоколов (RDP, Citrix, VMware и т. д.), которые интегрируются с интерфейсом служб удаленных рабочих столов . Устройства ввода и вывода, связанные с этим, считаются «удаленными».

Win32k и другие программы могут использовать WTS API, такие как WTSQuerySessionInformation, чтобы помнить, что пользователь подключен к компьютеру удаленно. Это полезно при перенаправлении устройств; некоторые функции необходимо отключить, учитывать дополнительную задержку или принимать различные пути.

Что происходит при удаленном подключении к компьютеру?

Ниже приведены примеры того, как терминалы и сеансы связаны в общем сценарии протокола удаленного рабочего стола (RDP).

Пользователь перед компьютером

Diagram of using console terminal.

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

Использование другого компьютера для удаленного подключения

Diagram of using a remote terminal.

ЗАЧЕМ НУЖЕН ТЕРМИНАЛЬНЫЙ СЕРВЕР?

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

Пользователь возвращается на компьютер и записывается обратно в терминал консоли.

Diagram of returning to console terminal after using remote terminal.

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

Время существования удаленного терминала

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

Несколько терминалов и сеансов

В операционных системах, таких как Windows 10 Multisession и Windows Server с установленной ролью узла сеансов удаленных рабочих столов (RDSH), несколько пользователей могут войти в систему и иметь подключенный терминал, как показано ниже. В этом случае по-прежнему существует только один консольный терминал/сеанс, но несколько удаленных терминалов и сеансов.

Diagram of remote and a console terminal.

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

Графические адаптеры и терминалы WDDM

Чтобы получить графику из удаленного терминала, вам потребуется косвенный драйвер Windows display Driver Model (WDDM) для настройки параметров виртуального монитора и обработки образа рабочего стола для клиента. Существует один экземпляр драйвера удаленного непрямого отображения WDDM для каждого удаленного терминала, который удаленный драйвер WDDM может предоставлять до 16 мониторов удаленному сеансу.

Драйверы удаленного непрямого отображения WDDM могут дублировать возможности отображения удаленной системы. Например, если монитор в удаленной системе равен 1080p с частотой 60 Гц, драйвер удаленного косвенного отображения WDDM может предоставить монитор 1080p 60Гц в удаленном сеансе; или если удаленный клиент работает на iPad, драйвер удаленного косвенного отображения WDDM для этого удаленного терминала предоставит монитор, соответствующий возможностям отображения iPad.

Емкости дисплея GPU WDDM всегда связаны с терминалом консоли. Это означает, что локальный монитор, предоставляемый с помощью полного драйвера WDDM, непрямого драйвера отображения консоли или драйвера WDDM Display Only отображает только терминал консоли, поэтому текущий сеанс консоли. Например, в сеансе консоли будет предоставлен полный GPU WDDM с двумя локальными мониторами. Тем не менее этот адаптер перечисляется в удаленном сеансе без подключенных мониторов.

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

Источник: learn.microsoft.com

Что такое терминальный сервер и зачем он нужен

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

Изображение записи

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

Немного истории: прообраз терминального сервера

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

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

Например, в 2019 году IBM выпустила один из самых мощнейших мэйнфреймов — Z15. Выглядит как огромный системный блок.

мейнфрейм

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

Для удобства работы с мэйнфреймами были разработаны терминалы, или терминальные устройства ввода данных и отображения результатов. Обычно терминал состоял из клавиатуры и «монитора».

терминал

На картинке — модель IBM 2260. Похожа на персональный компьютер, но у нее не было системного блока с процессором, жестким диском и материнской платой. Терминал не производил никаких вычислений, а просто передавал информацию мейнфрейму и выводил его ответы.

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

С ЭВМ могли работать сразу несколько операторов — до нескольких сотен. Но по очереди — процессорное время делилось между всеми пользователями. Задержек пользователи не замечали, потому что процессор ЭВМ был относительно быстрым, а время на каждого пользователя не таким уже большим.

Что такое терминальный сервер и как работает

Терминальный сервер (ТС), или Remote Desktop Services(RDS), — это один или несколько серверов, к которым операторы подключаются удаленно и используют их ресурсы — например, память или мощности процессора. Условно, это один мощный компьютер, на котором одновременно работают много пользователей. Подключаться можно как через локальную сеть, так и через интернет.

Читайте также:
На английском сайте указано что программа open source что это значит

Для работы с мэйнфреймами операторы использовали терминалы. Для работы с терминальным сервером операторы используют тонкие, или терминальные, клиенты.

Обычно тонкий клиент — это специальное устройство: маленький системный блок с процессором, видеокартой и без жесткого диска. Вместо жесткого диска обычно используется схема с разъемом IDE, флеш-памятью и микросхемой, которая реализует логику жесткого диска. К устройству подключается питание, мышь, монитор, принтер, клавиатура — готово.

тонкий клиент

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

Монитор, клавиатура и тонкий клиент — это потомок терминальных устройств для работы с мэйнфреймом. Только вместо мэйнфрейма — терминальный сервер.

Для каких целей служит терминальный сервер

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

Например, в компании есть отдел закупок из 10 человек. Они работают всего в нескольких программах: Word, Excel, почта в браузере, CRM. Набор программ небольшой, но для каждого ПК нужна лицензия на ОС и продукты Microsoft. Также каждого сотрудника нужно обеспечить компьютером и установить необходимое программное окружение.

В итоге на 10 человек расходов может быть на несколько сотен тысяч рублей. Плюс к ним нужно приставить системного администратора, который будет обслуживать ПК и регулярно обновлять ПО.

Что можно сделать вместо этого?

  1. Купить один мощный терминальный сервер, 10 устаревших или не очень производительных ПК и настроить терминальный доступ.
  2. Установить на терминальном сервере набор ПО и приложений.

Сотрудники/пользователи подключатся через тонкий клиент и смогут пользоваться мощностями терминального компьютера и всем установленным ПО. Для них в работе ничего не изменится: есть стандартный рабочий стол, ОС, программы.

Для администратора здесь открываются широкие возможности:

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

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

Преимущества терминального сервера

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

  • Удобнее мониторить трафик и лишать сотрудников прав на ресурсы, если они, например, загружают через браузер тяжелые видеозаписи.
  • Выше безопасность: меньше вероятность взлома или выноса информации с сервера.
  • Программы работают стабильнее, потому что терминальный сервер производительнее и надежнее любого ПК.
  • Высокая скорость работы с дисками из-за кэширования. Например, если в одной из сессий пользователь работал в Microsoft Office, то для других пользователей эта же программа будет загружаться так, будто они ее уже включали.
  • Экономится память — код ПО не дублируется при загрузке программ, которые уже работают.
  • Администратор тратит меньше времени на починку ПО и обслуживание ПК — например, замену сгоревших жестких дисков. Тонкие клиенты практически не нуждаются в обслуживании.
  • Если в компании использовали десктопные компьютеры, терминальный сервер сэкономит место в офисе на размещении системных блоков. Также тонкие клиенты не шумят, в отличие от системных блоков с жесткими дисками и видеокартами. Меньше расходы на электроэнергию.
  • Доступ к рабочему месту можно получить из любой точки, где есть интернет.
  • Лицензия на программы понадобится не на все ПК, а только одна — на терминальный сервер.

Недостатки терминального сервера

Их меньше, чем преимуществ, но минусы у технологии есть:

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

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

Виртуальный рабочий стол или терминальный сервер?

Терминальный сервер — это технология удаленного доступа сотрудников к ресурсам одного или нескольких серверов. По описанию эта технология похожа на VDI ( Virtual Desktop Infrastructure).

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

Сравним технологию виртуализации рабочих столов и терминального сервера

У пользователей терминального сервера одна ОС на всех, как и набор приложений. В VDI для каждого пользователя создается отдельная виртуальная машина на сервере — со своей ОС и набором ПО. Пользователь может устанавливать новые программы или удалять текущие, если у него есть соответствующий уровень доступа. В Selectel VDI можно настроить в облаке на базе VMware.

Архитектура терминального сервера: ОС, клиентские приложения, связь с рабочим столом

Стандартный терминальный сервер состоит из четырех частей:

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

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

  • службу поддержки,
  • непосредственно приложения и рабочее ПО,
  • обработку запросов, технические программы, общение между терминалами,
  • резервирование.

Суммарная мощность сервера должна превышать заявленное потребление на 30-40%, не считая потенциал для расширения штата.

ОС. Почти всегда в современных терминальных серверах стоит ОС Windows Server. Именно в этой операционной системе устанавливаются службы удаленных рабочих столов.

Протокол связи с удаленными рабочими столами

Стандартный протокол для связи с удаленными рабочими столами — Remote Desktop Protocol, разработанный компанией Microsoft. Это основной протокол удаленного доступа для терминалов на Windows, при этом клиентские приложения есть и для Linux, и для FreeBSD, и для MAC OS.

Протокол RDP — прикладной, он передает данные. Со стороны клиента входные данные от клавиатуры и мыши, со стороны сервера — графические: это могут быть изображения, но скорее команды на отрисовку изображения на экране пользователя.

протокол rpd

Для Linux есть еще варианты терминальных серверов, которые работают по протоколам NX или XDMCP.

Клиентские приложения. ПО, которое обеспечивает подключение к серверу со стороны клиента (пользователя), — Remote Desktop Connection (RDC) или Terminal Services Client (TSC).

Лицензирование терминального сервера

Для использования ОС Windows Server и подключения клиентов к серверу он должен иметь лицензию, которая называется CAL. После получения и активации лицензий они устанавливаются и хранятся на сервере лицензий или в службе лицензирования терминалов — Terminal Services Licensing Service.

служба удаленных рабочих столов

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

Как подобрать терминальный сервер

Для этого нужно понять:

  • Какие приложения и сервисы будут использоваться, сколько они потребляют ресурсов.
  • На каких ОС работают приложения. Если критическое большинство работает только под Windows, то ОС Linux и решения под него вам не выбрать.
  • Сколько сотрудников будет пользоваться? Если говорить о ядрах, то на одного пользователя обычно требуется 2 ядра по 2,5-3 ГГц, 512 Мб оперативной памяти на терминальную сессию. Но многое будет зависеть от характера работы пользователя: для офисных программ может хватить и одного ядра, а для команды разработчиков, которые периодически запускают компиляторы, может не хватить и трех.
  • Есть ли планы по масштабированию? Если да, стоит выбрать базу под сервер, в которую можно поставить несколько процессоров и увеличить ОЗУ и число дисков.
  • Какие диски нужны — SATA HDD, SAS HDD или SSD? У каждой системы своя скорость чтения и записи. Плюс не забываем про отказоустойчивость и выбор RAID. Так, если выбирать RAID 0, объем жестких дисков нужно увеличить вдвое.
  • Также можно заложить запас производительности в 20-30% под пиковые нагрузки.
Читайте также:
Для чего нужна программа кредо

Как может помочь инфраструктура Selectel

В качестве терминального можно арендовать выделенный сервер готовой конфигурации. Мы уже собрали и протестировали десятки конфигураций с разным количеством ядер и типом дисков. Получить готовый сервер с установленной ОС можно в течение 2-60 минут после заказа.

выбор сервера

Если вы не нашли подходящей конфигурации, можно арендовать сервер кастомной сборки с нужными вам характеристиками. Произвольные конфигурации собираются от 1 до 5 дней. Все серверы Selectel размещаются в дата-центрах уровня Tier III.

Аренда терминального сервера RDP

Выбирайте облачный сервер на технологии RDP и организуйте удаленные рабочие места для команды.

Установка и настройка терминального сервера

Кратко рассмотрим типичный процесс настройки и установки терминального сервера по шагам:

Перед установкой на сервере уже должен быть создан RAID-массив, ОС Windows Server, а дисковая система разбита на два раздела: для ОС и приложений и данных пользователей.

  1. На будущем терминальном сервере открываем диспетчер сервера через Панель управления — Администрирование — Диспетчер серверов. Переходим по вкладке Локальный сервер.
  2. В окне Мастер добавления ролей и компонентов в типе установки выбираем Установка ролей или компонентов: выбираем сервер — Далее — отмечаем Службы удаленных рабочих столов.
  3. Отмечаем две службы в службах ролей: Узел сеансов удаленных рабочих столов — Далее — Установить.
  4. В окне Выбор служб ролей выбираем Узел сеансов удаленных рабочих столов и Лицензирование удаленных рабочих столов.
  5. После установки перезагружаем сервер.

Дальше нужно разобраться с лицензированием.

1. В диспетчере серверов сконфигурируем службу лицензирования. Указываем имя сервера в разделе Лицензирование. В разделе Средства»— Remote Desktop Services — Диспетчер лицензирования удаленных рабочих столов активируем сервер.

2. В мастере выбираем автоматический метод подключения.

3. В диспетчере серверов в Службе удаленных рабочих столов в разделе лицензирования прописываем имя сервера.

4. После мастер активации сервера запустит мастер установки лицензий. В зависимости от программы окна для ввода могут выглядеть по-разному. В них вводятся данные о приобретенной лицензии. Возможно, нужно будет указать тип (на устройство или на пользователя) и количество лицензий.

5. После установки лицензии появятся в Диспетчере лицензирования.

В других ОС процесс установки может отличаться.

Для каких задач пользователя подойдет терминальный сервер

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

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

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

Впрочем, есть исключение: если большое количество сотрудников постоянно работают в одной программе. В таком случае можно настроить терминальный сервер только под эту программу. Например, так делают с 1С — пользователи 1С иногда даже не догадываются, что их программа работает не на рабочем ПК, а на отдельном сервере.

Источник: selectel.ru

Терминальные программы что это

Данное изображение и все последующие взяты отсюда.

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

Linux

Вы можете найти терминальное приложение в меню приложений вашего дистрибутива Linux. Кроме того, вы можете нажать Ctrl + Alt + T на клавиатуре или использовать панель запуска приложений и выполнить поиск по слову Terminal .

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

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

То, как вы открываете терминал, также может зависеть от того, какой дистрибутив Linux вы используете.

macOS

Обычный способ открыть приложение терминала в macOS — открыть Spotlight Search и выполнить поиск Terminal . Вы также можете найти приложение терминала в папке приложения внутри Finder.

Когда вы открываете терминал, вы видите окно, похожее на изображение ниже:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

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

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

Изучите основные команды терминала

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

В зависимости от вашей операционной системы вы будете запускать команды терминала в определенной оболочке. Для Linux это, скорее всего, Bash , для более новых версий macOS — Zsh , а для Windows — PowerShell . Эти оболочки различаются по своим функциям, но у них общие основные команды.

Примечание

Вы можете думать о командах как о небольших программах, которые встроены в вашу оболочку или могут быть добавлены внешними приложениями. В PowerShell команды также называются cmdlets.

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

Вот команды Windows, которые вы рассмотрите:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

Слова, написанные прописными буквами, являются ссылками на аргументы, допускаемые командами.

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

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

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

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

Чтобы начать работу, узнайте свой текущий рабочий каталог:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

На скриншоте выше вы можете получить представление о том, что вы можете делать с библиотекой rich . В конце концов, терминал не обязательно должен быть темным!

Теперь, когда ваш экран заполнен сверху вниз, вы можете снова очистить окно терминала. Для этого можно использовать clear команду:

(venv) $ clear

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

В некоторых терминалах вы можете использовать Ctrl + L или Cmd + L в качестве сочетаний клавиш для очистки экрана.

В этом разделе вы узнали, как использовать pip непосредственно из терминала. Для любого Python-разработчика крайне важно знать, как использовать pip в терминале, поскольку это помогает эффективно управлять пакетами, используемых в проектах, и обновлять их.

Если вы хотите узнать больше о виртуальных средах и pip , вы можете ознакомиться с учебником Real Python по виртуальным средам Python и учебным пособием о том, как использовать Python pip для управления зависимостями ваших проектов . Оба являются важными инструментами, которые облегчат вашу жизнь как разработчика Python.

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

Взаимодействие с Git

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

В этом разделе вы узнаете, как взаимодействовать с Git непосредственно из терминала. Вы будете инициализировать репозиторий Git, отслеживать файлы и создавать коммиты.

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

Читайте также:
Что за программа хлебопечки без глютена

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

Создание репозитория Git

Первым шагом в использовании Git является инициализация репозитория . Репозиторий — это контейнер, в котором хранятся все файлы вашего проекта, папки и метаданные.

Создайте новый репозиторий Git с помощью следующей команды:

$ git init Initialized empty Git repository in ⮑ /Users/realpython/Desktop/rp_terminal/.git/

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

Примечание

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

После инициализации репозитория вы можете проверить статус вашего репозитория:

$ git status On branch main No commits yet Untracked files: (use «git add . » to include in what will be committed) hello_terminal.py venv/ nothing added to commit but untracked files present (use «git add» to track)

Команда git status показывает текущий статус вашего репозитория: на какой ветке вы находитесь и есть ли какие-либо коммиты .

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

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

Кроме того, git status показывает, какие файлы Git не отслеживает. Вы можете игнорировать определенные файлы и папки, например, папку venv/ , чтобы Git не отслеживал их.

Какие файлы игнорировать

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

  • Файлы, содержащие конфиденциальную информацию, например, пароли или закрытые ключи.
  • Двоичные файлы, создаваемые процессом сборки, например, скомпилированные исполняемые файлы или файлы объектов.
  • Файлы, специфичные для вашей локальной среды разработки, такие как файлы виртуальной среды или файлы конфигурации редактора, специфичные для пользователя
  • Временные файлы или файлы, созданные вашей операционной системой, такие как .DS_Store в macOS или Thumbs.db в Windows
  • Логи или другие файлы, которые генерируются вашим приложением во время выполнения.

Просмотрите GitHub’s collection of .gitignore templates , чтобы получить представление о наиболее часто встречающихся файлах .gitignore. Там же вы найдете Python specific .gitignore example.

Вы можете игнорировать файлы в Git, создав файл .gitignore и указав в нем файлы и папки, которые вы хотите игнорировать:

$ echo «venv» > .gitignore

Как вы узнали ранее, эта команда создает новый файл с именем .gitignore и записывает venv в него. Проверьте текущие элементы в вашем репозитории Git, используя другую команду, которую вы уже знаете:

$ ls -a . .git hello_terminal.py .. .gitignore venv

Теперь у вас есть .gitignore файл рядом с вашим hello_terminal.py файлом, вашей venv/ папкой и .git/ папкой . Чтобы проверить, игнорирует ли Git venv/ папку , запустите git status еще раз:

$ git status On branch main No commits yet Untracked files: (use «git add . » to include in what will be committed) .gitignore hello_terminal.py nothing added to commit but untracked files present (use «git add» to track)

Отлично, Git теперь показывает только файлы .gitignore и hello_terminal.py как неотслеживаемые файлы. Git знает, что файлы есть, но вы еще не добавили их в репозиторий.

Отслеживание файлов с помощью Git

Когда вы начинаете новый проект, вы, вероятно, захотите отслеживать свои изменения с течением времени. В предыдущем разделе вы инициализировали новый репозиторий с расширением git init . Теперь пришло время начать отслеживать файлы.

Вы используете git add команду, чтобы сообщить Git, какие файлы вы хотите отслеживать:

$ git add .

Помните точку . в списке каталогов раньше? Точка указывает на текущий каталог. Использование . в конце команды git add указывает Git отслеживать все файлы в текущем каталоге. После того, как вы добавили файлы в репозиторий, вы можете проверить статус ваших файлов с помощью git status команды:

$ git status On branch main No commits yet Changes to be committed: (use «git rm —cached . » to unstage) new file: .gitignore new file: hello_terminal.py

В выводе видно, что файлы hello_terminal.py и .gitignore добавлены и готовы к фиксации:

$ git commit -m «Initiate git repository» [main (root-commit) 7b20833] Initiate git repository 2 files changed, 2 insertions(+) create mode 100644 .gitignore create mode 100644 hello_terminal.py

С помощью команды git commit вы делаете снимок текущего состояния ваших файлов и сохраняете его в истории репозитория. Флаг -m добавляет сообщение с описанием ваших изменений. Вывод показывает ветку, в которой вы находитесь, и количество измененных файлов.

После того, как вы зафиксируете какие-либо изменения, рекомендуется снова проверить состояние вашего репозитория Git:

$ git status On branch main nothing to commit, working tree clean

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

Рабочий процесс, который вы использовали в этом разделе, является типичным при использовании Git в терминале. Вы используете команду git add , чтобы сообщить Git, какие файлы отслеживать. Затем вы используете git commit для создания снимка текущего состояния ваших файлов и сохраняете его в истории репозитория.

Кроме того, рекомендуется часто использовать git status для проверки текущего состояния вашего репозитория.

Хотя вы получили некое представление об использовании Git в терминале, Git может предложить вам как разработчику Python гораздо больше. Если вы хотите узнать больше о Git, вы можете ознакомиться с введением в Git и GitHub для разработчиков Python и изучить дополнительные советы по работе с Git для разработчиков Python .

Следующие шаги

Чем больше вы пользуетесь терминалом, тем привычнее вам будет. Интересный способ внедрить терминал в свои рабочие процессы в качестве разработчика Python — создать скрипты Python с интерфейсами командной строки. Например, вы можете создать:

  • Приложение-викторина с Python
  • Средство проверки подключения к сайту в Python
  • Приложение To-Do из командной строки с Python и Typer
  • Генератор дерева каталогов Python для командной строки
  • Приложение Weather CLI с Python
  • Wordle Clone с Python и Rich

Помимо использования pip и Git для управления вашими проектами Python, есть еще больше примеров с использованием терминала:

  • Интерфейсы командной строки. Многие популярные библиотеки и фреймворки Python, такие как Django , Flask и Poetry , включают в себя интерфейсы командной строки, которые позволяют выполнять такие задачи, как создание новых проектов, запуск серверов разработки и управление базами данных.
  • Автоматизация и сценарии. Терминал позволяет автоматизировать повторяющиеся задачи и создавать сценарии для управления рабочим процессом разработки, например, для запуска тестов или развертывания приложения .
  • Отладка. Терминал может быть полезен для отладки вашего кода. Например, вы можете использовать print() или logging in Python , чтобы вывести что-либо в терминале и понять, что происходит в вашем коде. Вы также можете использовать pdb для отладки кода Python .
  • Производительность. Многие инструменты командной строки работают быстрее, чем их аналоги с графическим интерфейсом, и идеально подходят для работы с большими наборами данных или выполнения сложных задач, таких как обработка и анализ данных .

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

Заключение

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

В этом уроке вы узнали, как:

  • Найти терминал в операционной системе
  • Открыть терминал
  • Осуществить навигацию по файловой системе с помощью основных команд
  • Создать файлы и папки с помощью терминала
  • Управлять пакетами с помощью pip команд
  • Отслеживать файлы с помощью Git в терминале

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

Источник: proglib.io

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru