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

19 комментариев :

  1. Узнать погоду можно так:
    wget -O - wttr.in -q
    или так:
    wget -O - wttr.in/Krasnoyarsk -q
    Если в название города имеются пробел или другие символы, то необходимо добавить кавычки:
    wget -O - wttr.in/"Saint Petersburg" -q
    wget -O - wttr.in/"Leninsk Kuznetsk" -q
    wget -O - wttr.in/"Petropavlovsk Kamchatsky" -q
    Так же вместо названия города, можно использовать код аэропорта. Например Толмачёво - международный аэропорт Новосибирска:
    wget -O - wttr.in/OVB -q
    Можно в браузере открыть:
    wttr.in/krasnoyarsk
    будет так:
    http://storage5.static.itmages.ru/i/17/0513/h_1494701299_9787257_6d81a0fd65.png

    ОтветитьУдалить
  2. Очень полезная статья. Для себя я узнал много нового. Спасибо, Владимир!

    ОтветитьУдалить
  3. Благодарю за статью. Напоминает "пасхалки". Мелочь, а приятно.

    ОтветитьУдалить
  4. По поводу программы speedtest то она из snap пакета поинтереснее будет. Я бы ее посоветовал лучше.

    ОтветитьУдалить
  5. -Спасибо Владимир! Интересная и нужная информация!

    ОтветитьУдалить
  6. Да уж, удивили, и это всё из терминала, особенно прогноз погоды впечатлил. Спасибо!

    ОтветитьУдалить
  7. Спасибо, Владимир, нужная информация, буду знать!

    ОтветитьУдалить
  8. спасибо Как-то мне терминал стал больше нравиться последнее время

    ОтветитьУдалить
  9. Этот комментарий был удален автором.

    ОтветитьУдалить
  10. Интересная штука этот терминал... :)

    ОтветитьУдалить
  11. Линукс - это бесовская система, потому что, там магия, демоны и эльфы, а Windows - это православная система, так-как в ней иконки и службы.😉

    ОтветитьУдалить
    Ответы
    1. ==Линукс - это бесовская система==
      Ага. А все пользователи смартфонов Андроид - БЕСЫ и ДЕМОНЫ, т.к. система андроид создана на ядре Linux.
      Интересно, какой у Вас телефон, алексей щербаков?

      Удалить
    2. Володя, сразу видно, что ты слишком давно живешь в Испании :) Про демонов и бесовство - это всего лишь бородатая российская интернет-шутка, не принимай всерьёз.

      Удалить
    3. Так и я, вроде как, пошутил.:)

      Удалить
    4. Ну тогда норм :) А то мне вдруг показалось, что ты не просто шутишь, а полемизируешь так, в саркастической манере.

      Удалить
  12. Спасибо! Замечательная,познавательная статья!

    ОтветитьУдалить