15 июня 2017

Магия командной строки в Linux

Командная строка или терминал — устройство ввода-вывода команд, рабочее место на многопользовательских ЭВМ, монитор с клавиатурой, в графических оболочках UNIX-подобных операционных систем.
К UNIX-операционным системам относятся: MacOS и ОС созданные на ядре Linux. В обеих системах по умолчанию используется окно терминала для управления программами с помощью команд, набираемых на клавиатуре, либо копированием и вставкой текстовых команд в окно терминала. Выполняются команды после нажатия клавиши Enter (Ввод).

В Windows по умолчанию используется консольное окно cmd.exe (в основном им пользуются системные администраторы и продвинутые пользователи).

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

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

Встроенные - это команды, которые не нужно устанавливать, они уже встроены в терминал по умолчанию.

1. Встроенные команды терминала.

Найдите и откройте в системном меню любой системы Linux программу ТерминалKDE - Konsole).

В окне терминала введите и выполните команду:

xclock

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


Нажатие сочетания клавиш Ctrl+C отменяет команду. Нажмите данное сочетание и окно с часами закроется.

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

cal

или

ncal

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


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

Встроенные команды cal и ncal могут показывать календарь на любой выбранный вами год. Для этого после этих команд через пробел нужно указать желаемый год. Для примера я выбрал календарь на 2025 год:

cal 2025

ncal 2025

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


По сравнению с cal, команда ncal имеет больше аргументов для добавления к команде. Например, чтобы определить пасхальный день для католиков в 2018 году, нужно после команды ncal, добавить через пробел аргумент -e, а для православных добавить -o:


Как видно после вывода команд, католическая пасха в 2018 будет 1-го апреля, а православная - 8-го апреля.

Посмотреть другие аргументы к календарям в терминале можно в справке к команде, выполнив команду: cal -help.

Введите и выполните команду:

date

Команда date делает вывод актуального дня недели, месяца, числа, настоящего времени и года:


Чтобы посмотреть в терминале имя пользователя/логин и имя хоста/компьютера введите и выполните следующие команды:

whoami - имя пользователя, которое вы вводили во время установки системы. А также оно же является логином при входе в систему и имя пользователя Домашней папки.

hostname - имя хоста/компьютера, которое также было введено вами во время установки системы.

Эти имена отображаются в строке приветствия терминала:


Введите и выполните команду:

top

top (table of processes) — консольная команда, которая выводит список работающих в системе процессов и информацию о них.


Введите и выполните команду:

 sensors

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


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

Введите и выполните команду:

uname

Эта команда без аргументов выводит информацию о системе.
Если к этой команде добавить аргумент -a, вы получите информацию:  о системе; хосте; ядре на котором работает система; архитектуру системы и время установки дистрибутива.

uname с аргументом -r выводит информацию об актуальном ядре.

Команда ls выводит информацию в терминале о Домашнем каталоге.

Если добавить к команде аргумент -a, то помимо Домашнего каталога вы увидите все скрытые файлы и папки в нём, название которых начинается с точки:

ls и ls -a

Команда free выводит информацию о памяти вашего компьютера (ОЗУ) в настоящий момент в килобайтах: total - всего; used - использовано; free - свободно.
free -m - в мегабайтах, а free -g - гигабайтах.


Помимо встроенных команд, в репозиториях многих дистрибутивов Linux, есть ещё немало других интересных команд.

2. Некоторые интересные предустановленные команды. 

Например, в терминале можно определить скорость вашего интернет-соединения. Установите следующей командой speedtest-cli:

sudo apt install speedtest-cli

А теперь выполните команду на определение скорости вашего интернет-соединения:

speedtest


А также в терминале можно узнать погоду в вашей местности или любом другом городе, посёлке, селе. Для этого прежде нужно установить программу cURL.

sudo apt install curl

А теперь введите и выполните команду, которая определит погоду в вашей местности на три дня, с прогнозом на: утро; полдень; вечер и ночь, на каждый день:

curl wttr.in


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

Чтобы посмотреть в терминале прогноз погоды в любой другой местности земного шара, введите после команды curl wttr.in слеш и в кавычках название местности. Для примера я выбрал первое что пришло на ум, это посёлок на крайнем севере с деревянными тротуарами - Туруханск:

curl wttr.in/"Туруханск"


Команда screenfetch выводит в терминале информацию о вашей системе. Установите её следующей командой:

sudo apt install screenfetch

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

screenfetch


Команда inxi также делает вывод о системе и "железе".
Установите inxi следующей командой:

sudo apt install inxi

Теперь выполните команду которая выдаст полную информацию о вашей системе и "железе":

inxi -F


Заключение.

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

 Если кто-то хочет глубже узнать о терминальных командах, я вам рекомендую скачать бесплатный справочник Скотта Граннемана "Linux. Карманный справочник". Просто наберите в Google Скотт Граннеман и задайте поиск.

Удачи.

Вам также может быть интересно: 

Терминальные команды в Linux