Терминал
Что такое Терминал?
- Ты сколько языков программирования знаешь? Один? Два? Три?
- Зачем мне языки? Машины со мной напрямую общаются!
На самом деле история вопроса такова. Когда-то, в 1960х годах компьютеры уже были. Но представляли собой комнату с большими ящиками с оборудованием.
Для общения оператора с ними, то есть, для ввода команд и вывода результата понадобилось специльное устройство. Сначала это были телетайпы
, ведь мониторов ещё не было.
(взято с сайта upweek.ru На фото, кстати, создатели ОС UNIX за терминалом EC PDP-11). И, видимо, древний компьютер).
Эти устройства использовались в телеграфии для передачи текствых сообщений по проводам, пригодились и в качестве компьютерных терминалов. Можно посмотреть это видео и оценить, как люди в то время работали https://www.youtube.com/watch?v=WqgFK9h75eg
Позднее появились мониторы. И терминалы стали выглядеть так:
Работать стало приятнее, можно посомтреть, как это было, здесь: https://www.youtube.com/watch?v=6zBvYs5Zej0
Всё это было очень и очень медленно, во много раз медленнее, чем позволяли вычислительные мощности даже тех древних комптютеров. Поэтому терминалов для одного компьютера было несколько, а такая операционная система, как UNIX позволяла одновременно работать с разных терминалов нескольким пользователям.
Терминалы используются и сейчас, только не в виде отдельных физических устройств, а в виде программ-эмуляторов терминала.
Какие бывают эмуляторы терминала?
Эмуляторов терминала много,например:
- Konsile
- Xterm
- Putty
- GNOME terminal
Эмулятор терминала (приложение терминала или tty для краткости, или же командная строка) — это программа, которая эмулирует терминал компьютера и выврдит данные на экран.
Они появились тогда, когда аппаратных терминалов уже не было, а те графические интерфейсы, которые мы можем видеть сейчас, ещё не были созданы, даже и видеокарт не было.
Прямой доступ к эмулятору терминала в Linux имеется до сих пор: нажатие Ctrl + Alt + клавиша от F1 до F6 позволяет запустить несколько независимых сессий, как будто к вашему компьютеру подключено несколькоаппаратных терминалов.
Вернуться в графический режим можно с помощью нажатия клавиш Ctrl + Alt + F1.
Зачем сейчас надо уметь работать в терминале?
Главный ответ на этот вопрос такой: на серверах нет графического интерфейса, есть только командная строка.
К тому же, не углубляясь сейчас в системное администрирование скажем, что много каких полезных и нужных, а иногда и необходимых утилит тоже не имеют графического интерфейса вообще. И вряд-ли он когда-нибудь появится, посокльку он получится настолько сложным, что нужную кнопку придётся искать очень и очень долго.
Как пользоваться терминалом?
Чтобы запустить терминал обычно следует нажать клавиши Ctrl + Alt + T
. Или найти, в частности, в ОС Альт с графической оболочкой KDE в меню можно найти программу Konsole
.
Терминал выглядит примерно так:
Это терминал GNOME в Ubuntu.
При открытии терминала запускает сессия, где мы видим:
- имя пользователя (
user
на скриншоте) - имя хоста (
intel
на скриншоте) - тильда (это сокращенное представление домашнего каталога) (
~
на скриншоте) - приглашение ко вводу (
$
на скриншоте)
Теперь можно вводить команды, которые будет обрабатывать командный интерпретатор
. Командный интерпретатор, который ещё называют интерпретатор командной строки — программа, часть операционной системы, обеспечивающая базовые возможности управления компьютером посредством интерактивного ввода команд через интерфейс командной строки.
Командные интерпретаторы бывают такие:
- в ОС DOS это COMMAND.COM
- в Windows это cmd.exe, PowerShell
- в Unix: bash (самый распространенный), csh, ksh, zsh
Какие бывают команды?
Команды бывают встроенные
и внешние
.
Интерпретатор bash
имеет множество встроенных команд, часть из которых имеет аналогичные исполняемые файлы в операционной системе. Пример встроенных команд - echo
, cd
. Эти команды мы разберём позднее.
Внешний команды - это программы, которые запскаются при вводе их имени.
Немного практики
Введём команду whoami
(что есть на английском who am i
, кто я
). Команда выведет имя текущего пользователя.
Команда pwd
выведет полный путь до текущего каталога, в котором мы находимся.
Команда ls
выведет содержимое текущего каталога.
Команда touch [имя файла]
, например touch testfile1
создаст в текущем каталоге файл с названием testfile1
.
Команда touch [имя файла]
, например touch testfile1
создаст в текущем каталоге файл с названием testfile1
. В этом случае touch
- сама команда, а testfile1
- аргумент
.
Команда rm [имя файла]
, например rm -i testfile1
удалит в текущем каталоге файл с названием testfile1
. В этом случае rm
- сама команда, testfile1
- аргумент
, а -i
- опция, которая показывает, что надо задать вопрос, точно ли удалить файл и ждёт ответ пользователя (y
или n
).
Та же команда без опций просто удалит файл без вопросов.
Команда cd [имя каталога]
позволит перейти в каталог, чьё название указано в качестве аргумента.
Команда cd ..
позволит подняться в каталог выше. ..
(две точки) означает каталог, на уровень выше, а .
(одна точка) означает текущий каталог.
Если ввести команду cd
, начать вводить название каталога, который содержится в текущем каталоге и нажать клавишу Tab
, то командный интерпретатор подскажет варианты, какие можно ввести, а если вариант один, то название введётся до конца.
Задание
- В виртуальной машине попрактиковаться в работе в терминале, ввести все команды из раздела “Немного практики”.
- Изучить, какие каталоги содержатся в домашнем каталоге.
- Дополнительно прочитать про рассмотренные команды на сайте
https://losst.pro/
.