Консольные команды, безусловно, достаточно мощные и удобные инструменты. Однако, если не выдавать желаемое за действительное, то следует признать, что современные пользователи (особенно недавние мигранты с Windows) прибегают к ним довольно редко. Обсуждения этого феномена, как правило, происходят без участия главных героев, поэтому диагноз ставится заочно и довольно быстро — лень, нежелание изучать что-то новое и т. п. Тем не менее, в действительности всё обстоит и несколько проще, и значительно сложнее.
Дело в том, что для большинства «обычных» пользователей операционная система и прикладное ПО — это не более набор средств для решения их текущих задач. Поэтому целесообразность любого действия (в том числе изучения новых инструментов) оценивается прежде всего с позиций практической пользы при условии адекватной оценки собственных возможностей.
Рассмотрим простой пример применения команды ls, которая по праву считается опытными пользователями Linux наиболее востребованной. Если требуется просмотреть сортированное по строкам содержимое любого каталога без перехода в этот каталог, то это можно сделать командой ls -al -x «имя каталога», что значительно удобней тыканья курсором в значки открытого менеджера файлов (который ещё и место на экране занимает).
Однако запомнить даже такую относительно короткую команду специалисту, голова которого занята совершенно другими вопросами, очень непросто. Разумеется, у опытных пользователей сразу же найдутся возражения — мол, есть опция -help, команда man, да и истории, которую можно просматривать при помощи стрелок, никто не отменял.
Только с точки зрения самого сотрудника всё выглядит несколько иначе. Он потратит значительно меньше времени, если будет использовать интуитивно понятный графический менеджер файлов, а не восстанавливать в памяти опции консольной команды. Результат-то всё равно получится одинаковым.
Допустим, пользователь твёрдо решил освоить работу в консоли. Допустим, он смирился с необходимостью зубрёжки и потратил пару вечеров на заучивание опций команды ls. Допустим, у него феноменальная память и он не забыл всё это через примерно недельку. В результате он твёрдо знает, что «-х» предписывает выводить результат выполнения команды, отсортированный по строкам.
Но проблема в том, что все приобретённым им «знания» относятся только к команде ls. А применительно к команде cp, например, та же самая буква означает приказ оставаться в пределах одной файловой системы.
Вероятнее всего, примерно на этом этапе изучение консоли закончится. Пользователь поймёт, что такого количества необходимых для зазубривания условностей обычная человеческая память попросту не «переварит».
Тем не менее, если не ставить перед собой заведомо невыполнимых задач, то консоль может стать полезным и эффективным инструментом. Главное — избежать крайностей. Для каких-то операций предпочтительней консольные команды, для каких-то — приложения с графическим интерфейсом.
К сожалению, каких-либо конкретные рекомендации тут вряд ли возможны, поскольку всё зависит от решаемых пользователем задач и его субъективных предпочтений. Однако, базовые принципы «приручения» консоли будут одинаковыми для всех.
Прежде всего, необходимо конкретизировать задачу. Для этого следует обращать внимание на операции, традиционное выполнение которых требует чрезмерно много времени. Не исключено, что консольная команда позволит выполнять их значительно быстрее.
Например, простейшая, на первый взгляд, операция — уменьшение размера нескольких фотографий для публикации их на сайте. Это можно сделать при помощи утилиты просмотра Gwenview, но эта программа обрабатывает только одно изображение.
Альтернатива — команда mogrify -resize «размер» *.JPG. Она преобразует все фотографии в текущем каталоге, что значительно быстрее.
Разумеется, искать другие варианты для неудобных и долгих операций — процесс постоянный и непрерывный. Но не требующий фанатизма, поскольку в результате может получиться огромный список, что делает работу с консолью неудобной по причине, уже рассмотренной выше.
Оптимальное количество команд определяется достаточно просто — все они должны уместиться в видимой части окна текстового редактора. И вот почему.
Консольные команды пользуются заслуженной любовью как официальной, так и общественной технической поддержки по причине исключительного лаконизма. Вместо того, чтобы подробно расписывать навигацию по меню и вкладкам графической программы, достаточно написать команду, которую пользователь скопирует и запустит в терминале.
Почему бы не воспользоваться тем же приёмом? Написать самому себе шпаргалку и по мере необходимости копировать из неё команды, которые всё равно невозможно запомнить (или, по крайней мере, нецелесообразно тратить время на их зазубривание).
Проще всего пользователям KDE, которые могут применять для этой цели плазмоид заметок. Более универсальный вариант — включение в автозагрузку запуска текстового редактора с текстом шпаргалки.
Если настроиться на достаточно активное применение консольных приложений, то нельзя забывать и о самой консоли. Она должна быть доступной, удобно вызываемой и не менее удобно закрываемой.
Штатное приложение, которое запускается как обычная программа кликом на значок, для этой цели подходит хуже всего. Если, конечно, не привязать его к какой-либо «горячей клавише».
Значительно удобней использовать так называемые «всплывающие терминалы», которые впервые появились в знаменитой компьютерной игре Quake. В KDE это Yakuake, в GNOME или MATE — Guake, в Unity или Cinnamon — Tilda. Их особенность в том, что они появляются и исчезают по нажатия на определённую клавишу (чаще всего F12). На сегодняшний день это самое эргономичное решение.
В дополнении в этому пользователи KDE могут применять специальные виджеты рабочего стола Plasma: Plasmacon и Konsole. С их помощью можно постоянно разместить консоль на одном из рабочих столов.
Также, терминал можно вызывать из графических файловых менеджеров и некоторых прикладных программ (например, текстового редактора Kate). Причём, открывается он сразу в активном каталоге, что позволяет обойтись без команды cd.
Сочетание всех инструментов позволит постоянно иметь терминал «под рукой». А это существенно упрощает его практическое применение для решения пользовательских задач.