- Linux console (Русский)
- Реализация
- Виртуальные консоли
- Текстовый режим
- Framebuffer консоль
- Горячие клавиши
- Шрифты
- Предпросмотр и временные изменения
- Постоянные изменения
- HiDPI
- Звуковые сигналы
- Смотреть также
- Нужные команды Linux
- Главное это уметь узнать, найти справку по той или иной команде:
- Команды Linux для Red Hat, Fedora, CentOS
- Команды Linux для Arch, Monjaro
- Команды Linux для Debian, Ubuntu, Mint.
- Команды Linux для работы в терминале
- Управление процессами (программами)
- Работа с файлами и папками
- Работаем с разделами носителей информации
- Управляем пользователями
- Сеть
- Использование утилиты ifconfig
- Исправляем битые или отложенные пакеты
- Перезагрузить или выключить систему, используем — systemctl
Linux console (Русский)
Состояние перевода: На этой странице представлен перевод статьи Linux console. Дата последней синхронизации: 3 августа 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Linux консоль — консоль, реализованная в ядре Linux, стала первой функциональностью ядра, разработанной в 1991 году. Является способом взаимодействия с пользователем — позволяет ядру и другим процессам отправлять пользователю текстовые данные, а также получать данные, введённые пользователем. Обычно для ввода используется клавиатура, а для вывода – монитор. Linux-консоль поддерживает так называемые виртуальные консоли — консоли, которые отделены логически, но используют те же клавиатуру и дисплей.
Данная статья описывает основы консоли Linux и как настроить отображения шрифтов. Настройка клавиатуры описана в подстранице Конфигурация клавиатуры в консоли.
Реализация
Консоль, в отличии от сервисов которые взаимодействуют с пользователем напрямую, является частью ядра системы. Это отличает ее от эмуляторов терминала, таких как 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 | Прерывает текущую задачу |
Шрифты
Примечание: Эта секция написана для Linux консоли. Для альтернативных реализаций, поддерживающих большее количество функций (Полная поддержка шрифтов Юникод, современных графических адаптеров и т.д.) смотрите KMSCON или похожие проекты.
По стандарту, виртуальная консоль использует встроенный в ядро шрифт с набором символов 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, можете использовать данный шрифт:
$ setfont -h8 /usr/share/kbd/consolefonts/drdos8x8.psfu.gz
Для большого шрифта, можете рассмотреть шрифт terminus-font , он доступен в различных размерах. Например ter-132n .
Примечание: setfont влияет только на активную консоль, в других консолях изменений не будет.
Постоянные изменения
Переменная FONT в /etc/vconsole.conf используется для применения шрифта при загрузке системы для всех консолей. Смотрите vconsole.conf(5) для деталей.
Для отображения символов Č, ž, đ, š or Ł, ę, ą, ś используйте шрифт lat2-16.psfu.gz :
Вторая часть набора символов ISO/IEC 8859 будет размера 16. Вы можете поменять размер шрифта используя другие значения (например lat2-08 ). Для регионов определяемых спецификацией ISO 8859, смотрите Части ISO 8859
Для использования шрифта в пользовательском пространстве при загрузке системы используйте хук consolefont в /etc/mkinitcpio.conf . Смотрите mkinitcpio (Русский)#HOOKS для подробностей.
Если шрифт не применяется после загрузки системы, или изменения временные, то скорее всего шрифт сбрасывается когда графический драйвер инициализируется и консоль меняется на framebuffer. Как решение, загружайте графический драйвер раньше, для примера смотрите Kernel mode setting (Русский)#Ранний запуск KMS, [2] или другими способами сделайте загрузку framebuffer перед применением /etc/vconsole.conf .
HiDPI
Звуковые сигналы
Смотреть также
Нужные команды Linux
Для работы в терминале требуется знать много команд, которые не часто бываю нужны, и поэтому со временем забываются. Размещаю на своем сайте самые «распространенные» команды linux, которые необходимы бывают при настройке системы.
В список включаю и некоторые полезные команды которые известны многим «линуксоидам», но пригодятся новичкам. Получится своего рода шпаргалка и полезное для тех кто только изучает эту тему.
Конечно же эти команды вы можете найти не только на моем сайте — информация широко распространена и известна, секрета не составляет. Делитесь этой информацией со своими друзьями и соратниками…
Главное это уметь узнать, найти справку по той или иной команде:
man ваша_команда — выводит справку по этой команде.
ваша_команда —help — выводит справку по этой команде.
Команды Linux для Red Hat, Fedora, CentOS
sudo dnf install имя_пакета — установить нужный пакет.
sudo dnf config-manager —add-repo адрес_репозитория — добавить сторонний репозиторий.
sudo dnf upgrade — обновить все пакеты до самых свежих.
sudo dnf remove — удалить ненужный пакет.
sudo dnf autoremove — удалить все ненужные зависимости.
Команды Linux для Arch, Monjaro
sudo pacman -S имя_пакета — установить нужный пакет.
sudo yaourt -S имя_пакета — установить пакет из AUR, если его нет в основном репозитарии.
sudo pacman -Sy — обновить сведения о пакетах.
sudo pacman -Syu — обновить все пакеты до самых свежих.
sudo pacman -R имя_пакета — удалить ненужный пакет.
sudo pacman -Rs имя_пакета — удалить ненужный пакет со всеми зависимостями.
Команды Linux для Debian, Ubuntu, Mint.
sudo apt install — установка пакета.
sudo apt-add-repository — добавление репозитория.
suto apt update — обновить сведения о пакетах.
sudo apt upgrade — обновить все пакеты.
sudo apt full-upgrade — полное обновление системы
sudo apt list — список пакетов.
sudo apt search — поиск пакетов по имени.
sudo apt show — показать подробную информацию о пакете.
sudo apt remove — удалить пакет.
sudo apt edit-sources — редактировать файл источников программного обеспечения.
Команды Linux для работы в терминале
man — команда для вызова справки к пакету или команде, вводим эту команду и после пробела команду или пакет, для которой нужна инструкция.
history — Отображает все недавно введённые вами команды.
cd — перейти в нужный вам каталог, cd адрес каталога.
clear — понятно из самого слова, очищает окно терминала.
&& — разделяет команды, например если необходимо выполнить сразу несколько команд друг за другом, вводим команды и разделяем их этим знаком. По окончании нажимаем Enter — программы начнут выполнятся.
sudo — дает права администратора на выполнение команды.
sudo su — все последующие действия в терминале будут выполнятся от имени администратора.
sudo gksudo — запускает приложение с графическим окружением от имени администратора.
Управление процессами (программами)
kill — Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса . PID процесса можно узнать, введя top .
top — отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU.
xkill -введите её, затем щёлкните по тому окну, которое нужно закрыть.
killall — убивает процессы на которые вы укажете. К примеру — killall firefox
Работа с файлами и папками
file — выводит информацию о файле.
rename — переименовывает файл.
mkdir — создать новую папку там где вы находитесь.
Работаем с разделами носителей информации
lsblk — выводит информация о ваших дисках и разделах.
umount — демонтирует раздел.
df — показывает размер диска и размер свободного пространства.
free — сколько свободно и занято ОЗУ.
uname — информация о системе.
uname -a — информация о имени компьютера и ядре.
Управляем пользователями
whoami — отображает имя пользователя.
useradd — создает нового пользователя.
userdel — удаляет пользователя.
usermod — меняет учетную запись пользователя, переместить домашнюю папку пользователя, назначить дату когда заблокировать учетку и т.д.
Сеть
ip —help — инструкция по работе с командой ip , команда имеет большое применение и множество атрибутов введя эту команду вы сможете изучить и понять ее возможности и правила использования.
ip adress - показывает сведения о сетевых адресах.
ping - проверка подключения к сети, определенному адресу.
ip a - посмотреть сетевые интерфейсы и их mac адреса в том числе.
Использование утилиты ifconfig
Для Ubuntu и Debian необходимо установить предварительно пакет
или в других, таких как Manjaro
После установки используем команду
Исправляем битые или отложенные пакеты
Откройте терминал и в терминале попробуйте следующие команды, в той же последовательности:
sudo apt-get --fix-broken install