- Работа в терминале Linux для начинающих
- Что такое терминал Linux?
- Как открыть терминал Linux?
- Выполнение команд в терминале
- Выводы
- LM 16 Cinnamon: настройка терминала
- Содержание
- Внешний вид
- Горячие клавиши
- Поведение
- 1. Автодополнение
- 2. Алиасы
- 2.1 Что такое алиасы и с чем их едят
- 2.2 Где прописывать алиасы?
- 2.3 Как прописывать алиасы?
- 2.4 Как временно отменять алиасы?
- 2.5 Чего следует опасаться?
Работа в терминале Linux для начинающих
Все новички Linux уже, наверное, слышали про терминал, или как его еще называют командную строку. Ведь присутствие и сложность терминала — это один из основных аргументов оппонентов Linux. Возможно, вы уже сталкивались с командной строкой в Windows на практике и уже знаете что это такое.
Действительно, в операционной системе Linux есть терминал, где вы можете выполнять нужные вам команды, чтобы очень эффективно управлять своей системой. Но это вовсе не обязательно, многим вполне достаточно графического интерфейса. Сейчас использование терминала отошло на второй план, но он остается основным средством для доступа к удаленным серверам и инструментом для профессионалов.
Терминал Linux намного интереснее, чем командная строка Windows и в этой статье будет подробно рассмотрена работа в терминале Linux для начинающих, а также что такое терминал Linux и собственно, что он из себя представляет.
Что такое терминал Linux?
Применение терминала началось очень давно. Еще до того как была создана DOS и не существовало никакого графического интерфейса. В далеких восьмидесятых годах операционная система Unix только начинала развиваться. Пользователям нужно каким-то образом взаимодействовать с системой и самый простой способ — это использование команд. Вы вводите команду, система вам возвращает ответ.
С тех пор, такой способ ввода использовался во многих системах, в том числе DOS и OS/2 от Apple, пока не был придуман графический интерфейс. Затем текстовый режим терминала был успешно вытеснен, но его до сих пор продолжают использовать там, где это нужно.
Выше, под терминалом мы понимали то место, где можно вводить команды и получать на них ответ от компьютера. Это может быть текстовый режим Linux или же открытое в графическом режиме окно терминала. В Linux часто встречаются слова: консоль, терминал, командная строка, командная оболочка, tty, эмулятор терминала. Все они относятся к терминалу, но означают немного разные вещи. Перед тем как перейти дальше давайте разберемся с терминами, чтобы называть все своими именами.
Под терминалом принято понимать окружение, где можно вводить команды и получать на них ответ, это может быть физический терминал или терминал на компьютере.
Консоль — это физическое оборудование для управления сервером. Когда к серверу нет доступа из сети, для управления им можно использовать только консоль.
TTY — это файл устройства, который создается ядром и предоставляет доступ к терминалу для программ. Это могут быть файлы /dev/tty для постоянных текстовых терминалов и /dev/pts/* для эмуляторов терминалов. Вы можете выполнить команду или отправить сообщение просто записав данные в этот файл, и также получить результат, прочитав данные из этого файла.
Эмулятор терминала — это графическая программа, которая предоставляет вам доступ к tty или pts терминалу. Например, Gnome Terminal, Konsole, Terminix, Xterm и многие другие.
Командная оболочка — устройство tty занимается только передачей и приемом данных, но все эти данные должен еще кто-то обрабатывать, выполнять команды, интерпретировать их синтаксис. Командных оболочек достаточно много, это bash, sh, zsh, ksh и другие, но чаще всего применяется Bash.
Ну и командная строка — это то место куда вы будете вводить свои команды, приглашение терминала для ввода.
Теперь, когда мы разобрались что такое терминал Linux и знаем все основные принципы, перейдем к практике работы с ним.
Как открыть терминал Linux?
Есть несколько способов получить доступ к терминалу. Ваша система инициализации по умолчанию создает 12 виртуальных терминалов. В одном из них — обычно седьмом, запущена ваша графическая оболочка, но все другие могут быть свободно использованы. Для переключения между терминалами можно использовать сочетания Ctrl+Alt+F1-F12. Для авторизации нужно будет ввести логин и пароль.
Это текстовые терминалы без графического интерфейса, в них может быть не совсем удобно работать, но, зато такие терминалы будут полезны, если графический интерфейс не работает.
Второй способ позволяет открыть виртуальный терминал прямо в графическом интерфейсе с помощью эмулятора терминала. Эмулятор терминала linux работает с файлами в каталоге /dev/pts/* и еще называется псевдотерминалом, потому что не использует tty.
В Ubuntu вы можете запустить терминал linux нажав сочетание клавиш Ctrl+Alt+T:
Также его можно найти в меню приложений Dash:
Как видите, открыть командную строку в linux очень просто.
Выполнение команд в терминале
Рассмотрим более подробно терминал Linux для начинающих. Как я уже говорил, терминал и файлы устройств tty отвечают только за передачу данных. За обработку команд отвечает командная оболочка, которой и передаются полученные от пользователя данные.
Вы можете набрать что-либо и убедиться, что это работает:
Чтобы выполнить команду достаточно написать ее и нажать Enter.
Более того, командная оболочка Bash поддерживает автодополнение, поэтому вы можете написать половину команды, нажать TAB и если на такие символы начинается только одна команда, то она будет автоматически дополнена, если же нет, то вы можете нажать два раза TAB, чтобы посмотреть возможные варианты.
Точно такая же схема работает для путей к файлам и параметров команд:
В Windows вы о таком и мечтать не могли. Чтобы выполнить команду можно указать имя ее исполняемого файла или полный путь к нему, относительно корневой или любой другой папки. Важно заметить, что командная оболочка Linux, в отличие от Windows, чувствительна к регистру, а поэтому будьте внимательны при вводе команд и их параметров.
По умолчанию работа в командной строке linux может выполняться с помощью большого количества команд, многие из них, например, для перемещения по каталогам, просмотра содержимого, установки ПО поставляются вместе с системой.
Экземпляр запущенной команды называется процесс. Когда в терминале Linux выполняется одна команда нам нужно подождать ее завершения, чтобы выполнить следующую.
Команды могут выполняться без параметров, что мы видели выше, или же с параметрами, которые позволяют указать данные, с которыми будет работать программа, также есть опции, с помощью которых можно настроить поведение. Большинство стандартных утилит придерживаются такого синтаксиса:
$ команда опции параметр1 параметр2.
Опции часто необязательны и уточняют тот или иной аспект работы программы. Они записываются в форме черточка и символ или двойная черточка и слово. Например -o или —output. Приведем пример для команды ls. Без опций и параметров:
С параметром, указывающим какую папку посмотреть:
С опцией -l, вывести в виде списка:
В с опцией и параметром:
Можно комбинировать две опции:
В основном, это все, что нужно знать про команды, чтобы продуктивно их использовать. Еще можно было бы рассказать про объединение команд и перенаправление вывода одной команды в другую, но это уже отдельная тема.
Выводы
В этой статье была рассмотрена работа в терминале linux для начинающих. Командная строка Linux может показаться сначала очень сложной, но это совсем не так, она намного проще в использовании чем в Windows и позволяет управлять системой более эффективно. Надеюсь, эта статья пролила немного света на эту очень большую тему.
Источник
LM 16 Cinnamon: настройка терминала
Терминал для линуксоида должен быть как необходимый инструмент для мастерового человека или личное оружие для военного: вычищен до блеска, настроен как часы, безотказен и привычен до автоматизма.
С 2010 года я пользуюсь gnome-terminal, о нем и пойдет речь (хотя, наверное, многое будет применимо и к другим функционально полноценным терминалам, вроде konsole и xfce4-terminal).
Содержание
Внешний вид
Нынешний gnome-terminal, распрощавшийся со всякими зверушками и цитатами, по умолчанию лишился даже меню. Его, как и настройки, можно включить из контекстного меню по правой кнопке мыши.
Внешний вид — сугубо личное, поэтому я просто опишу здесь свои настройки и предпочтения.
Идем в «Настройки профиля», выбираем шрифт (у меня Droid Sans Mono 11), закрываем. Таскаем терминал за правый нижний угол и смотрим на циферки размера, возникающие при этом. Получив нужный результат, снова идем в «Настройки профиля» и вписываем там этот размерчик. Имейте ввиду, каждый раз при смене шрифта и/или кегля размер придется снова корректировать.
Далее выбираем остальные параметры, как у меня на картинках ниже (вкладки «Заголовок и команда», «Фон» и «Совместимость» обычно оставляю как есть).
У меня, при наличии каталога $HOME/Backup/SysConfigs, это выглядит так:
При необходимости все настройки можно будет восстановить на другой системе одной командой:
Горячие клавиши
Делаем видимым меню терминала по ПКМ, в меню «Правка → Комбинации клавиш» снимаем обе верхних галки (иначе по F10 будет не MC закрываться, а открываться меню) и меняем Скопировать/Вставить на привычные Ctrl-C и Ctrl-V:
Остальное — по вкусу (я предпочитаю выставить на создание вкладки более привычное Ctrl-Alt-N).
Поведение
1. Автодополнение
По умолчанию, при введении нескольких букв и нажатии на Tab терминал выбрасывает списком все команды, начинающиеся на введенные буквы, и опять возвращает приглашение. Это, ежу понятно, не очень-то удобно.
Чтобы по Tab терминал последовательно выводил команды и оставался в состоянии готовности выполнить команду, нужно поправить системный файл /etc/inputrc, вписав в него предпоследней строкой следующее:
Кроме того, очень удобна фишка, подсказанная где-то А. Федорчуком: внесение в тот же файл /etc/inputrc еще двух строк:
Это позволяет, набрав некую команду, стрелками «вверх» и «вниз» перелистывать ее историю.
В результате последние строки файла /etc/inputrc должны выглядеть так:
Если вы не имеете доступа к правам root’a, то всё вышеописанное применимо к настройкам вашего аккаунта. В этом случае вносим описанные изменения в файл
/.inputrc, а если такого в вашей домашней директории нет, создаём его, причём он может состоять только из вышеприведенных строк.
Кроме того, в файл
/.bashrc нужно дописать такую секцию:
Но вообще-то о файле
/.bashrc, одном из важнейших для нормальной жизни в системе, разговор будет отдельный.
Мне вполне достаточно таких настроек автодополнения в терминале, а если вам мало — читайте здесь, там и далее, как говорится. А также курите (может быть, в первую очередь) man readline.
2. Алиасы
2.1 Что такое алиасы и с чем их едят
Алиасы — при умеренном и обдуманном применении — вещь чрезвычайно удобная. Алиас представляет собой короткую кличку для развернутой команды. Причем если для «моно»-команд можно обходиться автодополнением, то для комбинированных, состоящих из двух и более простых, да еще с опциями, алиасы — просто находка.
Предположим, мне нужно пропинговать какой-то адрес, хотя бы гугль. И желательно при этом ограничиться пятью пакетами, а также подсветить вывод. Придется забивать ручками такую команду:
И еще надо вспомнить опцию ‘-с’. Гораздо легче определить алиас:
чтобы потом команда ping google.com автоматически преобразовывалась в приведенную выше grc ping -c 5 google.com.
Намного удобнее набирать в терминале ‘h’ вместо ‘history’, ‘g’ вместо ‘gedit’, ‘v’ вместо ‘vim’ и т.д.
Алиасы можно писать даже по-русски. К примеру, у меня есть скриптик для определения того, каким устройством сегодня является каждый из моих четырех жестких дисков (известно, что системе udev ничего не стоит перетасовать устройства при очередной перезагрузке).
Этот простенький скриптик лежит в директории, прописанной в переменной PATH, и называется disks.sh, но гораздо легче вспомнить и напечатать слово «диски», а это легко обеспечить таким алиасом:
2.2 Где прописывать алиасы?
Алиасы можно прописать прямо в файле
/.bashrc, однако вряд ли это хорошая идея.
Лучше вынести их в отдельный файл
/.bashrc прописать следующее:
При такой организации, во-первых,
/.bashrc не перегружается дополнительными записями, а во-вторых, снижается риск его повреждения в результате случайной ошибки.
2.3 Как прописывать алиасы?
Формат и синтаксис файла
/.bash_aliases не отличается от таковых для
/.bashrc: закомментированные и пустые строки игнорируются интерпретатором.
В качестве примера приведу самую «эксплуатируемую» часть своего
2.4 Как временно отменять алиасы?
подсвечивает вывод команды dmesg, без чего просмотр его сотен, а то и тысяч строк становится делом, мягко говоря, скучным. Однако если потребуется перенаправить вывод dmesg в файл, то при действующем алиасе мы получим жуткую кашу.
В таких случаях легко временно отменить действие алиаса, просто экранировав команду обратным слэшем вот так:
2.5 Чего следует опасаться?
Скажем, захотели мы применить алиас к команде wget и, недолго думая, определили для этого букву w.
Однако прежде чем прописывать этот алиас в
/.bash_aliases, наберите в терминале
и вы сильно удивитесь (если, конечно, не знали об этой команде).
Вывод, думается, очевиден: задуманные алиасы надо предварительно проверять на возможные совпадения с уже существующими командами.
Ну и, кроме того, обилие алиасов затруднит их запоминание, и они из «мнемонического костыля» начнут превращаться в дополнительный напряг для памяти.
Источник