Способы запуска «терминала» в linux
Содержание:
- Просмотр только начала или конца файла
- Метод 1: Использование поиска в Панели запуска приложений
- Управление учетными записями пользователей
- Команды secure shell (ssh)
- Как управлять процессами Linux с помощью команд
- Команды для отображения базовой информации и управления системой
- Сеть
- Файловые команды
- Консоль
- Команды
- Оболочки, Bash, echo Linux
- Urxvt
- Терминал Xfce
- Получение информации о системе
- Команды Linux для управления файлами и папками
- Автозавершение ввода по нажатию клавиши Табуляции
- Просмотр справки и руководства по программе
- Roxterm
- Горячие клавиши терминала Linux
- Визуализация
- Запуск программ в терминале
- Главное
Просмотр только начала или конца файла
Очень часто нам не нужен файл целиком. Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).
По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:
Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:
Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.
Если вам не нужны все 10 строчек, опцией -n и цифрой можно указать количество строк которые нужно вывести. Например, 5:
Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:
Также можно задать количество байт, которые нужно вывести с помощью опции -с и числа. Например: 45:
Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:
Команда tail наоборот, выводит 10 последних строк из файла:
Утилита tail тоже поддерживает изменение количества строк, с помощью опции -n. Но она обладает еще одной интересной и очень полезной опцией -f. Она позволяет постоянно обновлять содержимое файла и, таким образом, видеть все изменения сразу, а не постоянно закрывать и открывать файл. Очень удобно для просмотра логов linux в реальном времени:
Метод 1: Использование поиска в Панели запуска приложений
Поиск в Панели запуска приложений позволяет искать и открывать различные приложения, файлы и системные компоненты, установленные в вашей системе. Все, что вам нужно сделать, это нажать клавишу Super (Windows) и найти элемент, к которому вы хотите получить доступ. Просто нажмите на результат поиска, и ваше приложение / файл откроется
Я ввел ключевое слово «терминал», и в нем перечислены все приложения терминала, установленные в моей системе. Я буду нажимать на Терминал (Gnome Terminal), так как это эмулятор терминала по умолчанию для Debian, а также он мой любимый.
Вот так выглядит приложение терминала в Debian: Закрыть терминал так же просто, как набрать команду exit и нажать Enter, как указано ниже:
$ Exit
Управление учетными записями пользователей
id
— вывод идентификаторов пользователя и его групп.
id
id janadoe
— вывод идентификатора пользольвателя и групп для janedoe
logname
— выводит логин текущего пользователя.
su
— смена учетной записи.
su
su
— перейти в учетную запись root.
su — jane
— перейти в учетную запись пользователя jane запустить оболочку этого пользователя (изменить переменные окружения).
su -m jane
— перейти в учетную запись пользователя jane с сохранением сессии оболочки текущего пользователя.
whoami
— отображает имя текущего пользователя.
who
— показывает залогиненных пользователей.
w
— отображает залогиненных пользователей и их процессы.
w
w -i john
Команды secure shell (ssh)
SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X Window System.
Большинство хостинг-провайдеров за определённую плату предоставляют клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удалённого запуска программ (в том числе графических приложений).
Как управлять процессами Linux с помощью команд
Ни для кого не секрет, что активное использование Linux в течение одного рабочего сеанса провоцирует запуск большого количества процессов. Некоторые из них могут серьёзно нагружать операционную систему, приводить к торможениям и сбоям. Для восстановления производительности компьютера или ноутбука необходимо вручную завершать работу ненужных приложений и программ.
Информация о запущенном процессе
Терминал Linux позволяет разгрузить операционную систему и оперативную память компьютера с помощью ряда специальных команд:
- «ps» показывает свойства указанного процесса, а также подробную информацию о нём;
- «pgrep» демонстрирует ID введённого процесса;
- «kill» — принудительное завершение процесса;
- «xkill» завершает работу процесса путём клика на рабочее окно;
- «killall» — принудительное завершение всех запущенных процессов;
- «htop» демонстрирует активные процессы, выполняет роль консольного менеджера;
- «time» показывает информацию о времени запуска того или иного процесса.
Использование терминала расширяет пользовательские функции в отношении запущенных программ.
К сведению! Несмотря на то, что операционная система Linux считается одной из самых защищённых от вирусов и вредоносного ПО, со временем даже она может давать сбои.
Команды для отображения базовой информации и управления системой
Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.
- df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.
- du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du ~/Desktop. du отображает информацию в блоках. Но это неудобно, поэтому обычно к ней добавляют опцию -h, чтобы появились привычные мегабайты, килобайты и байты.
- free — тоже связана с памятью, только с оперативной. Показывает, сколько занято, а сколько свободно. Чтобы включить отображение в мегабайтах, надо так же добавить аргумент -h.
- uname — вывод информации о системе и сервере. Аргумент -a показывает имя компьютера, версию ядра, текущую дату и время, разрядность системы и ее тип. Можно запрашивать отдельные фрагменты данных через дополнительные опции: -s — только имя ядра; -n — имя компьютера (ноды) в сети; -o — название операционной системы; -p — тип процессора; -s — версия ядра.
- whoami — покажет, кто вы есть. Имя учетной записи, через которую вы зашли в систему или подключились к серверу.
- date — из названия ясно, что команда отображает текущее время и дату.
- sleep — задерживает запуск скриптов на выбранный период времени. Единица времени указывается через опции: -s — секунды; -m — минуты; -h — часы; d — дни.
На этом все. Это список команд, которыми я хотел бы поделиться с новичками
Я разобрал основное, что будет важно в самом начале работы. Ну а вы всегда можете воспользоваться документацией, открывающейся через man, и подробнее ознакомиться с любой из команд или утилит
Сеть
ifconfig — показать информацию о сетиiwconfig — показать информацию о беспроводной сетиsudo iwlist scan — поиск беспроводных сетейsudo /etc/init.d/networking restart — перезапустить сеть/etc/network/interfaces — файл для ручной настройки сетиifup interface — включить интерфейсifdown interface — отключить интерфейс
ping host — пропинговать host и вывести результат
whois domain — получить информацию whois для domainwget file — скачать fileifconfig eth0″ — показать конфигурацию сетевого интерфейса eth0ifup eth0″ — активировать интерфейс eth0ifdown eth0″ — деактивировать интерфейс eth0ifconfig eth0 192.168.1.1 netmask 255.255.255.0″ — выставить интерфейсу eth0 ip-адрес и маску подсетиifconfig eth0 promisc» — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)ifconfig eth0 -promisc» — отключить promiscuous-режим на интерфейсе eth0dhclient eth0″ — активировать интерфейс eth0 в dhcp-режиме.route -n» — вывести локальную таблицу маршрутизацииroute add -net 0/0 gw IP_Gateway» — задать ip-адрес шлюза по умолчанию (default gateway)route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1″ — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1route del 0/0 gw IP_gateway» — удалить ip-адрес шлюза по умолчанию (default gateway)echo «1» > /proc/sys/net/ipv4/ip_forward» — разрешить пересылку пакетов (forwarding)hostname» — отобразить имя компьютераip link show» — отобразить состояние всех интерфейсовmii-tool eth0″ — отобразить статус и тип соединения для интерфейса eth0ethtool eth0″ — отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединенияnetstat -tupn» — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединенияnetstat -tupln» — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих портыtcpdump tcp port 80″ — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)iwlist scan» — просканировать эфир на предмет, доступности беспроводных точек доступаiwconfig eth1″ — показать конфигурацию беспроводного сетевого интерфейса eth1cat /proc/net/dev — показать сетевые интерфейсы и статистику по нимdig domain – получить DNS информацию domain
Файловые команды
cd /home — перейти в директорию ‘/home’cd .. — перейти в директорию уровнем вышеcd ../.. — перейти в директорию двумя уровнями вышеcd — перейти в домашнюю директориюcd ~user — перейти в домашнюю директорию пользователя usercd — — перейти в директорию, в которой находились до перехода в текущую директориюpwd — показать текущюю директориюls — отобразить содержимое текущей директорииls -F — отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих типls -l — показать детализированое представление файлов и директорий в текущей директорииls -a — показать скрытые файлы и директории в текущей директорииls ** — показать файлы и директории содержащие в имени цифрыtree — показать дерево файлов и директорий, начиная от корня (/)mkdir dir1 — создать директорию с именем ‘dir1’mkdir dir1 dir2 — создать две директории одновременноmkdir -p /tmp/dir1/dir2 — создать дерево директорийrm -f file1 — удалить файл с именем ‘file1’rmdir dir1 — удалить директорию с именем ‘dir1’rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимоеrm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимоеmv dir1 new_dir — переименовать или переместить файл или директориюcp file1 file2 — сопировать файл file1 в файл file2cp dir/* . — копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
Консоль
Отлично, если вы хотите: расширенная настройка с помощью простых диалогов
Так много восхитительных деталейсмотрите
Начнем с создания профиля. Konsole позволяет переключаться между профилями или даже запускать несколько профилей одновременно на разных вкладках. Каждый профиль имеет свой внешний вид и параметры поведения, и вы можете загружать различные оболочки в отдельные профили Konsole. Профиль может автоматически запускать пользовательские команды и приложения при его активации.
После настройки профилей погрузитесь в управление вкладками. Параметр «Разделить вид» отображает содержимое нескольких вкладок одновременно. Чтобы перемещать вкладки между окнами Konsole, просто используйте параметр «Клонировать вкладки» или отсоедините вкладку, чтобы открыть ее в новом окне.
Веб-сайт
Команды
Команды — это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.
Команды делятся на два вида:
Команды для управления программами строятся по такой схеме:
название_программы -ключ значение
Название програмы — это название исполняемого файла из каталогов записанных в переменной $PATH (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin и др.) или полный путь к исполняемому файлу (/opt/deadbeef/bin/deadbeef) Ключ — пишется после названия программы, например -h, у каждой программы свой набор ключей, они перечислены в справке к программе, ключи используются для указания какие настройки использовать или какое действие выполнить Значение — адрес, цифры, текст, спецсимволы (*, ~, , &, « », _ ), переменные ($HOME, $USER, $PATH)
Выполнить команды можно следующим образом:
Помните, что терминал чувствителен к регистру! Слова User, user и USER в Linux различаются!
Оболочки, Bash, echo Linux
В терминале у вас есть то, что называется оболочкой. Это часть операционной системы, которая определяет, как будет вести себя терминал, и будет выглядеть после запуска (или выполнения) команд для вас.
Доступны различные оболочки, но самая распространенная из них называется bash, что означает «Bourne again shell». В этом руководстве предполагается, что вы используете bash в качестве оболочки.
Если вы хотите узнать, какую оболочку вы используете, вы можете использовать команду echo, чтобы отобразить системную переменную с указанием вашей текущей оболочки. echo — это команда, которая используется для отображения сообщений.
Urxvt
Отлично, если вы хотите: расширяемость и скорость
вилка rxvt
Urxvt также поддерживает настраиваемую высоту строки и межбуквенный интервал для лучшей читаемости. Вы можете использовать urxvt в режиме сервер-клиент, где он работает как фоновый процесс (сервер), чтобы сэкономить память и гораздо быстрее открывать новые окна urxvt (клиенты).
Если Perl — ваш любимый язык программирования, тогда urxvt может быть вашим любимым эмулятором терминала Linux. Существует множество расширений Perl для uxrvt, которые можно включить, чтобы представить такие функции, как вкладки, кликабельные URL-адреса и управление буфером обмена. Конечно, вы можете попробовать свои силы в написании пользовательских расширений.
Веб-сайт
Терминал Xfce
Отлично, если вы хотите: удобный для начинающих терминал с опциональным выпадающим режимом
фаворит новичков,
Вы можете перетащить файл из файлового менеджера в Xfce Terminal и отобразить полный путь к файлу. Фон окна терминала может быть прозрачным, и вы можете использовать Xfce Terminal в компактном режиме, который скрывает границы окна, декорации и панели инструментов.
Лучше всего является дополнительный раскрывающийся режим, который заставляет Xfce Terminal работать так же, как другие популярные раскрывающиеся терминалы (Guake или Tilda, которые есть в этом списке). Обязательно прочитайте официальную документацию, чтобы убедиться, что режим выпадающего меню настроен правильно.
Веб-сайт
Получение информации о системе
df
— отчет об использовании пространства дисковых накопителей.
df
df -h
— вывод отчета в удобном виде.
du
— отображение дискового пространства, занятого файлами и каталогами.
du
du -ah /home/janedoe
— отображение размера файлов и каталогов.
du -sh /home/janedoe
— отображение общего размера всех файлов и каталогов.
du -h -d0 *.txt /home/janedoe
— отображение размера только текстовых файлов без заглядывания в подкаталоги (-d0).
du —time -h /home/janedoe
— дополнить вывод временем последнего изменения файла.
free
— отображение занятого пространства оперативной памяти.
free
free -mt
— занятая оперативная память в мегабайтах со строкой Total.
free -th -s1
— отображение результата каждую секунду.
watch free
— отображение занятой оперативной памяти в реальном времени.
hostname
— имя текущего хоста.
iostat
— статистика использования CPU и операций ввода/вывода.
iostat
iostat -m
— выводить статистику в мегабайтах.
iostat -N
— вывод имен устройств в статистике.
iostat -p sda
— вывод статистики для группы блочных устройств.
iostat -x
— вывод расширенной статистики.
screenfetch
— информация о системе (не везде предустановлена).
uptime
— время прошедшее после запуска системы.
uname
— информация об ОС.
uname
uname -a
— полная информация об ОС.
vmstat
— информация об использовании виртуальной памяти.
vmstat
vmstat 2
— обновление данных каждые 2 секунды.
vmstat -d
— статистика использования дисков.
Команды Linux для управления файлами и папками
Начинающие пользователи редко используют Линукс терминал. Дело в том, что консольный эмулятор Linux может показаться более сложным, чем командная строка Windows. Команды и опции терминала Линукс ускорят рабочий процесс, сделают его более комфортным.
У Линукса много команд, предусмотренных на все случаи
Обратите внимание! Для освоения операционной системы Linux не обязательно анализировать записи на форумах или покупать учебники. Достаточно воспользоваться справочником кодов и опций терминала Линукс
Как управлять директориями
Работать с файлами можно и через базовый менеджер, и с помощью консольных команд. Этот метод заметно ускоряет работу с операционной системой
Важно! Программы и инструменты доступны во всех версиях терминала Linux. Их не нужно загружать и устанавливать отдельно от ОС
«Ls» для просмотра папок и их содержимого
Примеры команд:
- «ls» — код, с помощью которого можно просматривать активные папки и их содержимое. Разработчики Linux добавили забавную фишку — нередко при быстрой печати пользователи ошибаются и вводят «-sl» вместо «-ls». В этом случае в терминале появится поезд «Steam Locomotive»;
- «cat» показывает компоненты необходимого файла. Опция «-n» производит их нумерацию;
- «cd» применяется для перехода из одной папки в другую. При нулевом вводе отправляет пользователя в корневой каталог;
- «pwd» определяет активную директорию;
- «mkdir» позволяет создать новую папку в активной директории;
- «file» показывает свойства необходимого файла;
- «cp» отвечает за копирование. С помощью этой команды можно копировать файлы и папки. Имеет опции -«r» (рекурсивное копирование) и «-a» (сохранение изменений);
- «mv» применяется для переименовывания файлов и их дальнейшего перемещения;
- «rm» отвечает за удаление компонентов. По умолчанию работает в режиме безвозвратного удаления. Включение опции «-r» позволяет отправить файл в корзину;
- «ln» используется для создания ссылки на файл;
- «chmod» подходит для систем с несколькими пользователями. Команда изменяет права допуска к файлу;
- «chown» меняет владельца. Этой командой может воспользоваться только суперпользователь;
- «find» и «locate» — команды, которые отвечают за поиск указанных файлов и программ. Их отличие состоит в том, что «locate» ищет в Updated (специальной утилите, которая производит сканирование операционной системы, обновляет список файлов Linux и баз данных). Для каждой команды существует гибкая система опций;
- с помощью «help» Linux покажет всю информацию о встроенных командах;
- «dd» — создание и преобразование копий компонентов системы;
- «dir» для Linux позволяет посмотреть скрытые файлы и папки;
- «mounth» включает систему;
- «umounth» отключает систему;
- «df» производит анализ жёстких дисков, выдавая отчёт о проделанной работе. Команда имеет большое количество опций, позволяющих структурировать и комбинировать полученные данные.
Важно! Две последние команды может использовать только суперпользователь
Команда «Nano» позволяет войти в упрощённый режим консоли с подсказками внизу экрана
С помощью терминала удобно работать с большим количеством файлов, упражняться в создании новых директорий Linux, чистить систему.
Автозавершение ввода по нажатию клавиши Табуляции
Помимо знания команд, эффективности работы с командной строкой способствует функция автозавершения ввода, которая активируется по нажатию клавиши Tab. Использовать ее очень просто — набираете часть команды и нажимаете Tab, после чего будет подставлена недостающая часть команды. Данная функция работает как для обьектов файловой системы, так и для пакетов программ, служб и так далее. Например, если написать sudo apt-get i и нажать клавишу Tab, то в результате вы получите sudo apt-get install. Автозавершение ввода очень помогает в случае, если вы только приблизительно помните имя пакета программы, который нужно установить. Набрав первые несколько букв имени пакета и нажав Tab дважды, вы сможете увидеть все варианты и выбрать среди них тот, что нужен.
Просмотр справки и руководства по программе
Названия программ используемых в командах, которые могут пригодиться, нужно выучить или распечатать, а как ими пользоваться можно узнать в любой момент вызвав справку или руководство (man) по программе.
Для получения краткого руководства по программе, нужно выполнить:
man программа
Перемещаться можно клавишами со стрелками, а выйти из него, нажав клавишу Q. Подробнее в смотрите в man man
Для получения справки, в которой указаны ключи, нужно выполнить:
программа -h
программа --help
Оба варианта должны работать одинаково, но некоторые авторы программ оставляют один один из этих ключей, так что пробуйте оба если что.
Roxterm
Отлично, если вы хотите: более легкая, но интересная альтернатива Gnome Terminal
продвинутой альтернативой терминалу Gnome
Кроме того, ROXTerm имеет практичное всплывающее меню, которое позволяет скрыть строку меню и максимально увеличить пространство на экране. Кроме того, ROXTerm может распознавать пути к файлам, имена хостов SSH, адреса электронной почты и веб-адреса. Вы можете щелкнуть их, чтобы открыть / получить доступ к месту назначения, или нажмите Ctrl и перетащите ссылку в другое приложение.
Говоря о перетаскивании, также можно перетаскивать текст и файлы в окно приложения ROXTerm. Текст вставляется в терминал, а файлы отображаются как путь, которым вы можете манипулировать дальше.
Веб-сайт
Горячие клавиши терминала Linux
1. Tab
Без этого сочетания терминалом пользоваться невозможно, и поэтому его знают все. Одно нажатие клавиши Tab автоматически дополняет текущую команду или путь к файлу если возможен только один вариант. Два нажатия по ряд показывают возможные варианты автодополнения. Это делает набор команд и путей к файлам намного быстрее.
2. Ctrl + R
После нажатия Ctrl+R появляется строка поиска в которой вы можете начать вводить имя команды, которую надо выполнить. Система найдёт все команды, которые ранее выполнялись с таким началом и отобразит самую свежую. Вы можете уточнить поиск добавив ещё несколько символов. Для выполнения команды просто нажмите Enter, для редактирования Esc.
3. Ctrl + C
Это сочетание клавиш позволяет прервать работу любой программы, которая выполняется в терминале. После нажатия Ctr + C программе отправляется сигнал SIGINT и если она не обрабатывает его особым образом выполнение программы завершается. Некоторые программы перехватывают сигнал и перед завершением выполняют кое какие действия по сохранению данных и завершению операций, например пакетный менеджер zypper.
4. Ctrl + Z
С помощью Ctrl+Z вы можете перевести текущую программу в фоновый режим. Обычно, если вам надо чтобы программа выполнялась в фоновом режиме просто добавьте символ & после команды. Но если вы забыли это сделать поможет это сочетание клавиш. Чтобы посмотреть задачи, которые сейчас работают в фоне используйте команду jobs, а для возврата задачи в нормальный режим — команду fg.
5. Ctrl + D
Сочетание клавиш Ctrl+D можно считать альтернативой команды exit. Если вы подключены по SSH то сессия будет разорвана. Если вы работаете в терминале напрямую, то окно будет закрыто.
6. Ctrl + L
Альтернатива команды clear. Позволяет очистить вывод терминала. Очень удобно для создания снимков экрана и просто для очистки лишней информации.
7. Ctrl+P и Ctrl+N
Эти сочетания клавиш альтернативы клавишам стрелки вверх и вниз. Первое показывает предыдущую введенную команду, а второе следующую. Так вы можете перемещаться по истории команд. Это не удобнее стрелок, но иногда может быть полезно.
8. Ctrl + A и Ctrl + E
Перемещаться можно не только по истории команд, но и по текущей строке. Эти горячие клавиши — аналоги клавиш Home и End. Первая комбинация перемещает курсор в начало строи, а вторая в конец.
9. Ctrl + U и Ctrl + K
С помощью первого сочетания можно удалить весь текст от начала строки до позиции курсора, а с помощью второго — от позиции курсора и до конца строки. Это может быть полезно если вы ввели неверную команду и не хотите стирать её по одному символу.
10. Ctrl + W
Нажав Ctrl+W вы можете стереть слово перед курсором. Если курсор находится в середине слова, то будут стёрты все символы от курсора до начала слова. Удобнее всего ставить курсор после слова, которое нужно убрать.
11. Ctrl + Y
С помощью Ctrl + Y вы можете вставить текст вырезанный с помощью Ctrl + U, Ctrl + K и Ctrl + W. Текст будет вставлен туда, где находится курсор.
12. Ctrl + B и Ctrl + F
Аналог для клавиш стрелка вправо и стрелка влево. Первое сочетание позволяет перемещаться на один символ вправо, а второе на один символ влево.
13. Ctrl + T
Заменяет символ, находящийся под курсором на предыдущий символ. Или перемещает символ перед курсором к концу строки.
14. Ctrl +X затем Ctrl + E
Открывает текущую команду в текстовом редакторе. Если в переменной EDITOR редактор не задан, то будет использоваться nano. После редактирования и сохранения результата команда будет выполнена. Удобно для написания многострочных скриптов.
15. Alt +.
Аналог команды $!. Позволяет вставить последний аргумент предыдущей команды в позицию курсора. Удобно, если надо выполнить несколько команд с одинаковым аргументом.
16. Alt + B и Alt + F
Эти сочетания позволяют перемещаться по словам, также как их аналоги с Ctrl по символам. Alt + B перемещает курсор на слово влево, а Alt+F на слово вправо.
17. Alt + C, Alt + L и Alt + U
Следующие три сочетания клавиш позволяют играть с регистром символов команды. Первое сочетание — Alt + C делает символ под курсором прописным, а все остальные буквы до конца слова строчными. Alt + L делает все буквы до конца слова строчными, а Alt + U — прописными.
18. Ctrl + S и Ctrl + Q
Если команда выводит информацию слишком быстро, а вам надо прочитать её или скопировать, можно попросить терминал поставить на паузу вывод команды. Для этого нажмите Ctrl +S. Чтобы вернуть всё обратно нажмите Ctrl + Q.
Визуализация
Через Параметры профиля можно менять не только командную оболочку. Не всем может понравиться стандартный внешний вид терминала. В тех же параметрах профиля можно выбрать такие настройки, как:
- шрифт и его размер;
- форма курсора;
- исходный размер;
- цвета текста и фона.
Командная строка в Ubuntu — это не вымирающий, сложный и бесполезный инструмент. Это удобная и простая программа, которая отлично дополняет графический интерфейс. Теперь вы научились запускать её и пользоваться предоставляемыми оболочкой возможностями. Осталось запомнить десяток другой базовых команд, и управление системой станет гораздо легче, а для новичков ещё и интересней.
Запуск программ в терминале
Изначально в операционных системах Unix и Linux не было графического интерфейса, поэтому программы запускались командами из терминала. Сейчас это тоже возможно и достаточно активно используется опытными пользователями. Синтаксис запуска программы выглядит таким образом:
/путь/к/файлу/программы параметры
Параметры указываются только, когда они нужны, но всегда оболочка должна знать полный путь к программе. Все что после имени программы и пробела — это параметры. Вы, наверное, уже заметили, что обычно мы не указываем полный путь при выполнении программ. Это было бы очень долго и неудобно.
Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:
Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:
И можно передать параметры после пробела:
Когда программа находится не в этих каталогах, нужно указать к ней полный путь:
Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:
Иногда возникает необходимость передать программе, какие-либо особые переменные окружения. Например, переменная EDITOR указывает какой текстовый редактор нужно использовать по умолчанию. Вы можете указать имя переменной и ее значение перед именем команды используя синтаксис:
имя_переменной=значение команда
Например:
По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.
Главное
Начнём с того, как запустить программу, отвечающую за ввод команд. Следует, кстати, понимать, что терминал и консоль — разные вещи; терминал — приложение, выполняющее роль консоли, которое оснащено графической оболочкой и различными удобствами. Итак, открыть терминал мы можем через главное меню либо нажатием клавиш ctrl + alt + T.
Разберём некоторые особенности и специфические черты, которые даёт нам Bash. Bash — это командная оболочка, которая используется по умолчанию. На самом деле, есть и более удобные. Но для начала разберёмся с этой.
- Копировать и вставлять здесь нужно по-другому. Подойдут два сочетания клавиш: Ctrl + Insert/Shift + Insert — копирование/вставка соответственно, а также Ctrl + Shift + C/Ctrl + Shift + V.
- Как и любой другой терминал, этот обладает автодополнением. Для этого мы вводим первые несколько букв команды, а затем нажимаем Tab. Например, apti автоматически допишется до aptitude. Двойное нажатие Tab выводит список всех команд, которые начинаются с этих букв.
- Терминал с самого запуска находится в какой-либо директории. Узнать, в какой именно, можно по верхней строчке, которая называется приглашением. Этот набор символов: «:~$» — означает, что мы находимся в домашней директории. Об этом также говорят имя компьютера с именем пользователя, разделённые знаком «@».
- Перемещаться по папкам удобно при помощи команды cd. Это, по сути, единственная команда, которая не является программой. Все остальные же, на самом деле, запускают те или иные утилиты. После cd мы набираем название папки, которая расположена в этой же директории, либо путь к ней. Автодополнение здесь тоже работает. Команда cd без аргументов отправит нас в домашний каталог. «cd . .» отправит в родительскую папку, «cd -» перемещает в предыдущий каталог.
- Все команды в Linux очень чувствительны к регистру. Это значит, что Home и home могут восприниматься терминалом по-разному. Поэтому будьте внимательны, когда пишете какую-либо команду.
- Команда history показывает историю введённых команд. Там каждая наша запись будет под определённым номером. Чтобы быстро её повторить, достаточно ввести вот такую комбинацию: !11 Вместо 11 используем нужный нам номер.
Другая оболочка
Использовать можно не только стандартную командную оболочку Bash. Разработана она была для UNIX-систем ещё в далёком 1989 году. Со всеми задачами, которые на неё возложены, она справляется прекрасно, однако всё это можно выполнять более эффективно, если установить подобный софт поновее.
Одна из альтернатив — Friendly interactive Shell, или просто fish. Она гораздо моложе своей предшественницы — первый выпуск был в 2005 году. Возможностей у неё, соответственно, побольше.
- Подсветка синтаксиса. Разными цветами будут подсвечиваться правильно введённые команды и те, о которых fish ничего неизвестно.
- Удобный поиск ранее введённых команд. Вводим первые несколько символов, а стрелкой вверх на клавиатуре ищем подходящие варианты для продолжения.
- Автодополнение работает не только с командами и адресами, но также с опциями команд.
- Все управляющие конструкции легко завершить введённым словом end.
- В целом fish более доступна для понимания, особенно новичкам. А опытные пользователи найдут дополнительные возможности, которых на Bash нет.
Установить fish довольно легко.
- Вводим команду: sudo apt install fish
- Открываем Параметры профиля: правой кнопкой мыши по терминалу в выпавшем меню выбираем «Профили».
- Находим вкладку «Команда».
- Ставим галочку «Запускать другую команду вместо моей оболочки».
- Вводим в строку: fish: /usr/bin/fish:
Отныне эта оболочка будет стоять в терминале по умолчанию. Если же вы хотите просто попробовать fish, то можно вбить в консоли следующее:
Оболочка отключится после перезагрузки терминала. Ещё одним удобством является настройка fish через веб-интерфейс. Для этого нужно ввести: