Linux консоль что это такое

Linux console (Русский)

Linux консоль — консоль, реализованная в ядре Linux, стала первой функциональностью ядра, разработанной в 1991 году. Является способом взаимодействия с пользователем — позволяет ядру и другим процессам отправлять пользователю текстовые данные, а также получать данные, введённые пользователем. Обычно для ввода используется клавиатура, а для вывода – монитор. Linux-консоль поддерживает так называемые виртуальные консоли — консоли, которые отделены логически, но используют те же клавиатуру и дисплей.

Данная статья описывает основы консоли Linux и как настроить отображения шрифтов. Настройка клавиатуры описана в подстранице Конфигурация клавиатуры в консоли.

Contents

Реализация

Консоль, в отличии от сервисов которые взаимодействуют с пользователем напрямую, является частью ядра системы. Это отличает ее от эмуляторов терминала, таких как xterm (Русский), которые реализованы на уровне пользовательского пространства и являются обычными приложениями. Консоль оставалась компонентом ядра Linux, но имела заметные изменения, такие как графический вывод (framebuffer) и поддержка Юникода.

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

Виртуальные консоли

Консоль в представлении пользователя это набор виртуальных консолей. Они создают впечатление параллельной работы нескольких терминалов: в каждую из виртуальных консолей могут быть залогинены разные пользователи. Они могут работать в своих оболочках и иметь собственные настройки шрифтов. Каждая консоль использует устройство /dev/ttyX и вы можете переключится между ними сочетанием клавиш Alt+FX , где X номер виртуальной консоли начиная с 1. Устройство /dev/console автоматически привязывается к активной виртуальной консоли.

Текстовый режим

Изначально Linux был создан как ядро для управления оборудованием ПК, консоль была разработана по стандартам IBM CGA/EGA/VGA, которые поддерживали на тот момент все ПК. Графические возможности, предоставляемые этим стандартом предоставляли простое отображение 80*25 сетки символов с поддержкой 16 цветов. Этот устаревший режим был похож на принцип работы текстовых терминалов, таких как VT100. Все еще существует возможность загрузиться в текстовом режиме, если оборудование поддерживает его, но большинство современных дистрибутивов (в том числе Arch Linux) используют framebuffer консоль.

Framebuffer консоль

Так как Linux был портирован на различные архитектуры, которые не использовали VGA-совместимых графических адаптеров и не поддерживали текстовый режим, требовалась другая реализация. Framebuffer консоль была разработана для предоставления стандартной консоли среди всех доступных платформ и представляла собой VGA-подобный интерфейс независимый от используемого графического оборудования. Таким образом, консоль Linux — это не эмулятор терминала, а сам по себе терминал. Она использует тип терминала linux и в значительной мере совместима с VT100.

Горячие клавиши

Горячие клавиши Описание
Ctrl+Alt+Del Перезапускает систему (указанно символической ссылкой /usr/lib/systemd/system/ctrl-alt-del.target )
Alt+F1 , F2 , F3 , . Переключает на n-ую виртуальную консоль
Alt+ ← Переключает на предыдущую виртуальную консоль
Alt+ → Переключает на следующую виртуальную консоль
Scroll Lock Когда Scroll Lock активен, ввод и вывод заблокированы
Ctrl+c Закрывает текущую задачу
Ctrl+d Вставляет EOF
Ctrl+z Прерывает текущую задачу

Шрифты

По стандарту, виртуальная консоль использует встроенный в ядро шрифт с набором символов CP437 [1] , но это можно изменить.

Linux консоль по умолчанию использует кодирование UTF-8, но из-за особенностей VGA-совместимого framebuffer, консольный шрифт ограничен стандартными 256 или 512 глифами. Если в шрифте более чем 256 глифов, то количество цветов уменьшается с 16 до 8. Для корректного отображения нужного символа требуется специальная карта трансляции, называемая unimap. В настоящее время большинство консольных шрифтов имеют встроенную unimap, но исторически она загружалась отдельно.

Пакет kbd предоставляет инструменты для смены шрифта и его отображения в виртуальной консоли. Доступные шрифты находятся в директории /usr/share/kbd/consolefonts/ . Шрифты с расширением .psfu или .psfu.gz имеют встроенную карту трансляций Юникод.

Списки раскладок, являющиеся связью между нажатой клавишей и символом используемым системой, находятся в директории /usr/share/kbd/keymaps/ , подробности смотрите на странице Конфигурация клавиатуры в консоли.

Предпросмотр и временные изменения

Показывает таблицу глифов или символов шрифта.

setfont временно меняет шрифт, если команде передано имя шрифта (находящегося в директории /usr/share/kbd/consolefonts/ ), например:

Название шрифта чувствительно к регистру. Без параметров setfont возвращает консоли стандартный шрифт.

Для смены на маленький шрифт размера 8×8, можете использовать данный шрифт:

Для большого шрифта, можете рассмотреть шрифт terminus-font , он доступен в различных размерах. Например ter-132n .

Постоянные изменения

Переменная FONT в /etc/vconsole.conf используется для применения шрифта при загрузке системы для всех консолей. Смотрите vconsole.conf(5) для деталей.

Для отображения символов Č, ž, đ, š or Ł, ę, ą, ś используйте шрифт lat2-16.psfu.gz :

Вторая часть набора символов ISO/IEC 8859 будет размера 16. Вы можете поменять размер шрифта используя другие значения (например lat2-08 ). Для регионов определяемых спецификацией ISO 8859, смотрите Части ISO 8859

Источник

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

Тут живут драконы и нет ментейнеров (вместо эпиграфа)

Очень сжатое боевое описание «что есть псевдо-терминал» и «консоль».

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

Терминал — обобщённое название как программы, так и специальной железки (таких больше нет в природе). Особое исключение — когда вы запускаете путти или ещё кого-то для подключения к последовательному порту коммутатора/рутера/модема (или даже сервера), то вы выступаете (точнее компьютер с путти выступает) в роли терминала (название «терминал» — потому что терминирует кабель (то есть висит на самом конце) ).

Читайте также:  Самая стабильная windows 10 ltsc

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

Когда запускается шелл, то он получает в своё распоряжение виртуальное устройство /dev/tty, которое у каждого процесса своё — это «обратная» часть терминала. Передняя часть в случае кабеля реализуется путти+компьютер, в случае консоли компьютера, специализированным ядерным драйвером (виртуальными консолями). Важно: драйвер эмулирует наличие терминала.

Существует интерфейс unix98 (/dev/ptmx), который позволяет создать парочку из «входа и выхода» для всех обратившихся программ. В этом случае одна половинка изображает из себя «обратную» половинку, а вторая — консоль. Используется, в частности, openssh’ем и x’овыми терминалками.

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

В качестве самой частой программы со стороны «программы» выступает getty разных видов (mgetty, agetty и т.д.), задачей которой является выставление скорости работы канала и запуск команды login для ввода пароля.

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

Каждое устройство по рисованию (терминал, виртуальная консоль и т.д.) имеют свой набор возможностей (поддерживаемых символов и команд). Тип терминала задаётся переменной TERM, но только в смысле, что он говорит программам, с каким терминалом они работают. Невозможно переменной TERM заставить терминал эмулировать другие терминалы — он про эту переменную ничего не знает.

Внезапное применение: KVM, XEN (и, я не уверен, но, кажется, OpenVZ) используют этот механизм для доступа к консоли виртуальных машин: в виртуальной машине создаётся специализированное устройство, взаимодействующее с демоном в dom0. С точки зрения domU — у него есть последовательное устройство для терминала. Чтобы на этом устройстве увидеть строчку login, нужно прописать в inittab строчку с вызовом getty и разрешить логин (/etc/securetty).

В dom0 демон видит последовательное устройство от domU, создаёт соответствующий псевдотерминал с помощью /dev/ptmx). Созданные устройства для подключения терминалов появляются в /dev/pts/*. Помимо этого consoled пишет в xenstore кому какой домен соответствует, специализированные терминалки (xenconsole) умеют это читать и выполнять. Когда даётся команда xl console (xm console), то она всего лишь вызывает xenconsole с заданным параметром.

Вместо xenconsoled можно использовать любую другую терминалку — хоть minicom, хоть cu, хоть socat, хоть putty. После подключения к консоли правильным является задать тип используемой консоли (set TERM=linux или set TERM=xterm, установка в vt100 даст чёрно-белый экран).

Ровно так же можно организовать подключение к машине по модему (если кто их ещё помнит) — модемы просто «удлиняют» последовательный порт на N километров. С одной стороны нужно настроить модем на автоответ и повесить mgetty (и не забыть про /etc/securetty), с другой стороны нужно набрать номер и получить обычное сообщение login.

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

Основным моментом, который нужно осознать, является то, что в tty всегда есть два участника, один из которых умеет рисовать (сам, или выбрасывая содержимое на экран так, чтобы терминалка пользователя это нарисовала), а другой — даёт команды что рисовать и принимает последовательности нажатия кнопок.

Источник

Консоль для новичка. Часть 1.

В этом посте я попытаюсь познокомить новичков с консолью Linux’a основываясь не столько на теории, сколько на практических примерах.

Для того, что бы попасть в консоль можно нажать Ctrl+Alt+F1, а что бы вернуться обратно в свою графическую среду — Alt+F7. Либо просто воспользоваться предложенным графически решением в вашем главном меню.

И так дорогой читатель — ты вошел в консоль. Первым делом, что бы чувствовать себя уютнее надо оглядеться, для этого мы выполним команду pwd:

Этой командой мы определили в какой директории мы сейчас находимся (т.е. какая директория в данный момент рабочая). В моем случае — это моя домашняя директория. Кстати, pwd, если мне не изменяет память расшифровывается именно как — print work directory (распечатать/вывести на экран рабочую директорию)

Далее было бы не плохо узнать, а что у нас в ней есть? Для этого воспользуемся утилитой ls:

$ ls
Images Other Work Рабочий стол

$ ls -l
total 0
drwxr-xr-x 3 vir vir 80 2008-07-06 11:30 Images
drwxr-xr-x 3 vir vir 72 2008-07-06 14:30 Other
drwxr-xr-x 3 vir vir 80 2008-07-06 11:59 Work
drwxr-xr-x 2 vir vir 48 2008-07-15 11:41 Рабочий стол

$ ls /var/
backups cache crash games lib local lock log mail opt run spool tmp

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

Теперь не отходя далеко от команды ls, можно рассказать и о путях к файлам и директориям в Linux’e. Пути в Linux’e могу быть относительными и абсолютными. Корнем (родителем) всего дерева директорий, является директория «/«. Именно от нее все и начинается (например /home/vir). Теперь на примере:

$ ls
Images Other Work Рабочий стол
vir@home:

$ ls Images/
Wallpapers
vir@home:

Первой командой я опять просматриваю список директорий и файлов, которые находяться в моей домашней директории, одна из них — директория Images. Второй раз я просматриваю список файлов и директорий для Images пользуясь относительным путем, путь который начинается от моей рабочей директории (pwd). То есть находясь в директории /home/vir/ я могу указать относительный путь для Images. А в третьем примере я указываю полный (абсолютный) путь от корня (/home/vir/Images), который не зависит от моей рабочей директории.

Читайте также:  Linux add execute permission

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

$ cd Images/
vir@home:

/Images$ pwd
/home/vir/Images
vir@home:

/Images$ pwd
/home/vir/Images
vir@home:

/Images$ cd…
vir@home:

Теперь вы можете спокойно, с помощью консоли дрейфовать по просторам вашей файловой системы. На этом первая часть серии статей «Консоль для новичка» заканчивается. Ждите продолжений. Спасибо за внимание.

Источник

Консоль Linux

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

Запустить консоль Linux можно запустив терминал (Ctrl+Alt+T зависит от сборки), находится он в
Пуск (Меню) → Администрирование → Терминал (Или слева при раскрытии меню, зависит от оболочки..)
Для KDE: Пуск (Kickoff) → Система → Терминал. Или в файловом менеджере Dolphin он всегда под рукой горячая клавиша F4.

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

Например перейдём в папку и напишем ./start-tor-browser

В Линуксе расширение файла может не быть, исполняемым может быть любой файл у которого стоят разрешения на выполнение (можно выставить правой клавишей в свойствах или chmod +x ./start-tor-browser ) в Виндовс обычно исполняемые только .exe и ещё некоторые файлы.

Управление консолью Linux

Часто понадобится запрашивать привилегии суперпользователя root для многих действий связанных с установкой, изменением файлов итп. Для этого предусмотрен механизм предоставления необходимого количества привилегий, но не более — sudo . Эта команда следует перед другими и вводится пароль пользователя для разрешения на запуск, в Линуксе везде где производятся существенные изменения — запрашивается пароль.

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

В редких случаях и это не советуется, можно запросить права суперпользователя и что-то сделать под ним не вводя каждый раз sudo , если поставить Debian или разные серверные дистрибутивы, в консоли необходимо прописать su , но поскольку в сборках пароль суперпользователя не задан, то можно получить доступ к суперпользователю написав
sudo su

Если ввести любую команду, напрмиер, apt , то можно увидеть описание или apt и 2 раза TAB и увидеть только список функций. Если написать man apt попадаем в описание (мануал) к текущей функции. Ещё помощь можно получить в утилитах, к примеру если ввести ls —help ..

При работе в консоли (терминале) в текстовым редактором nano , чтоб сохранить изменения нажмите закрыть Ctrl+X и подтвердите сохранение, отмена Ctrl+C (во многих случаях прервать любое действие эта команды Ctrl+C или q ).

Ctrl+D отключиться (отлогиниться) от текущего пользователя, сервера. Повторное нажатие закрывает консоль..

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

Для копирования используется сочетание Ctrl+Shift+C , для вставки Ctrl+Shift+V (альтернатива: правая кнопка мышки или Ctrl+Insert с Shift+Insert).

Можно ещё не мучить себя и использовать любой текстовой редактор с графическим режимом:

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

Историю команд можно посмотреть введя history , если нажимать стрелки вверх вниз, будут подставляться прошлые введённые команды. Повторить команду можно введя !! (два восклицательных знака, но стрелку вверх и энтер(ввод) быстрее..)

Команды консоли Linux

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

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

Типичное использование консоли:

Было несколько раз на старых сборках, после обновления заглючивало оболочку и компьютер отказывался перезагружаться или выключаться , но из консоли подчинился:

Изменение прав и/или владельца можно осуществить через Действия root (Root Actions Servicemenu). Подробнее права Линукс chmod описаны в соседней статье.. ( -R рекурсивно пройти по всем файлам/каталогам внутри)

Иногда необходимо выяснить какой дистрибутив , название и прочие данные:

Посмотреть диски в системе:

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

-y — соглашаться со всеми вопросами установщика, он обычно сообщает всякие глупости, мол необходимо дополнительно будет поставить связанные библиотеки или приложение займёт столько то места на диске.. В основном используются install и remove . Можно перечислить сразу несколько пакетов для установки sudo apt install -y name1 name2.

Дописать в конец файла:

Если вместо >> поставить > , то файл перезапишется.

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

echo может иметь иметь опции/параметры:

Если включена -e, Escape последовательности для вставки специальных символов:

Внутри sh скрипта во флаге echo -e нет необходимости если указан интерпретатор для исполнения сценария(скрипта) #!/bin/sh, консоль использует более новый #!/bin/bash..

Скопировать фалы rsync:

Как-то словил проблему при копировании на диск с 5900 оборотов и меньшей максимальной скоростью диска, на 7200 оборотов (он на порядок быстрее), видимо переполнение буферов идёт или ещё что-то, винт разгоняет копирование свыше 120-160мб/с и принимающий начинает щёлкать головкой, в то время как на 5900 скоростей свыше 90мб/с не замечал. В итоге помогло ограничение скорости копирования. Выставил чуть меньше 90мб/с и вуаля никаких щелчков. Утилита очень полезна если необходимо передать файл на другой сервер или для передачи файлов с ломающегося диска.

Читайте также:  Иконка проводник windows 10

В случае присутствия пробелов будут ошибки — возьмите в кавычки, я обычно такой формой пользуюсь:

-a, —archive — работа в режиме архивирования, сохраняются права доступа и информация о владельцах.
—partial — сохранять частично переданные файлы.
—progress — показать % выполнения во время передачи.
-P — эквивалент для —partial —progress (сохранять недокаченные файлы, показывать прогресс).
—ignore-existing — пропускать уже существующие на приёмнике disc2 (так можно немного ускорить, например для видео, они точно не меняются).
—delete — удалять те, которых нет на источнике disc1.
—bwlimit=KBPS — ограничение скорости копирования.
-v — показывать подробности.
-c — сравнивать файлы при помощи подсчёта контрольных сумм (по умолчанию по дате и размеру). Выполняется очень долго..
-n — ничего не делать, только показать что будет скопировано.

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

Возможно пригодится и знание базовых команд для перемещения и управления файлами..

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

cd — переходит в указанную папку, например cd

ls — линейно выводит список папок и файлов в текущей директории или указанной
ls /home . Чтоб вывести построчно с указанием прав и владельца необходимо добавить аргумент -l . Чтоб увидеть скрытые файлы и папки -a . Отсортировать по размеру -S . Отсортировать по расширению -X .
В итоге имеем команду ls -la или ls -la /путь/к/каталогу .

du * — считает размер директории, например du -hs * или du -hc /путь .
Аргументы:
-h — human-readable показывает вес файлов в Кб, Мб итд..
-с — подсчитывает сумму..
-s — показать только общий вес файлов..
А вот как можно вывести в отсортированном виде du -hc * | sort -rn

find — Поиск файлов и директорий

Думаю примеров достаточно, за остальным в man find..

Бывает необходимо найти где находится в системных папках та или иная утилита

cat — выводит содержимое файла, например cat /proc/bus/input/devices .

Ещё можно заниматься извращениями, например, копирование содержимого файла Linux в другой файл cat файл1 > файл2
Если файл был не пустым, он будет перезаписан, если воспользоваться >> будет дописан в конец файла2. Можно склеить два отдельных файла в один: cat файл1 файл2 > файл3

mkdir — создаёт директорию, например mkdir -p /путь/к/папке -p создаст рекурсивно все каталоги, если их нет иначе будет выдавать сообщение об ошибке, мол старшего каталога нет..
Сразу с правами mkdir -p -m 755 /путь/к/папке

cp — копирует файл/папку, cp опции файл-источник файл-приемник
cp -r /что /куда

-r — рекурсивно, все подкаталоги
-a = -dR —preserve=ALL не будет следовать по ссылкам (копировать от туда все файлы), а только рекурсивно скопирует: ссылки, файлы, папки с сохранением атрибутов.
-f, —force — перезаписывать существующие файлы
-i, —interactive — спрашивать, необходимо ли перезаписывать существующие файлы
-L — копировать не символические ссылки, а то, на что они указывают
-n — не перезаписывать существующие файлы
-P — не следовать символическим ссылкам
-s — не выполнять копирование файлов в Linux, а создавать символические ссылки
-u — скопировать файл, только если он был изменён
-x — не выходить за пределы этой файловой системы
-p — сохранять владельца, временные метки и флаги доступа при копировании
-t — считать файл-приемник директорией и копировать файл-источник в эту директорию
-v — вывести список обработанных файлов
—attributes-only — не копировать содержимое файла, а только флаги доступа и владельца
Параметров больше, сомотрите man cp в консоли.. (q — выход)

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

mv — позволяет перемещать или переименовывать каталоги и файлы
mv /что /куда

-f — заменять файл, если он уже существует
-i — спрашивать, необходимо ли заменять существующие файлы
-n — не заменять существующие файлы
-u — заменять файл только если он был изменен
-v — вывести список обработанных файлов

  • rm — удаляет файл/папку, например rm -r /путь
    -r — рекурсивно пройти все вложенные папки
    -f — не запрашивать подтверждения операций
  • Специальные обозначения в консоли

    / — означает домашнюю директорию текущего пользователя.

  • $USER — подставить имя текущего пользователя.
  • ./ — указание на текущий каталог
  • ../ — указание на каталог выше, перейти в каталог выше cd .. или cd ../
  • * — Знак подстановки, означает любые символы, например у нас есть ряд файлов для распаковки или не хочется писать всё целиком (актуально если нет графической оболочки, например, при удалённом управлении..)
  • > — перезаписать файл, точнее отправить вывод команды в файл echo ‘Привет’ > /путь/файл.txt
  • >> — дописать в конец
  • <> — подставляет имя каждого файла
  • \ — в конце строки сообщает, что необходимо рассматривать следующую строку как одну цепочку команд..
  • Клавиша TAB во время набора текста — автозаполнение..

    Поздравляю, с этого момента ты продвинутый пользователь Linux : )

    Страница сгенерирована за 0.004134 секунды
    На один процесс веб-сервера: 242 стр./сек.
    Всего Apache может отдать: 61 952 стр./сек.
    Выделено php памяти: 463.2 KB, real_usage: 2 MB

    © Все права защищены 2004 — 2021

    Карта сайта
    Отслеживать изменения в Твиттере
    Политика конфиденциальности

    Браузер построил за сек.
    Полное время сек.

    Источник

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