Ее Величество Консоль
АрхивКолонка ЗолотоваСовременные операционные системы не мыслимы без графического интерфейса. Однако есть и минималистичные миры, где пользователю доступен только текст, но можно жить и ни в чем не нуждаться. Один из таких миров - консоль Linux.
То тут, то там разгорающийся спор о преимуществах и недостатках MS Windows и Linux увлекателен, но бесконечен: каждая операционная система - целый самостоятельный мир, и если искусственно не ограничить аргументацию сторон, сосредоточив их внимание на каком-то одном аспекте, дискуссия может длиться неограниченно долго. Вместе с тем, у каждой из ОС есть свои безальтернативно сильные стороны. Про Windows пусть напишет кто-нибудь другой, а я рискну осветить одну из самых замечательных сторон Linux - её консоль. Честно говоря, тема давно просилась на бумагу, а толчком, побудившим перейти от размышлений к делу, послужил близкий по идее топик на популярном технофоруме Slashdot: в нём линуксоиды делились друг с другом названиями самых интересных консольных программ.
Линуксовая консоль - отточенный до мелочей текстовый режим общения с операционной системой, в котором можно сделать всё. Ну или почти всё. Нужно лишь знать, каким инструментом воспользоваться, и в этом смысле в данном случае общение с себе подобными ничем заменить нельзя: консольные программы, создаваемые энтузиастами-одиночками, редко рекламируются аналогично большим коммерческим продуктам, а потому огромный пласт программного обеспечения, работающего в текстовом режиме, скрыт от публики водами безвестности - на виду, подобно вершине айсберга, маячат лишь некоторые, самые яркие утилиты. Давайте попробуем вместе (ссылка на дискуссию на нашем форуме ниже) исправить эту несправедливость, параллельно отмечая уникальные особенности консольных инструментов.
Прежде всего, часто программы, "заточенные" под консоль, способны одним махом решать задачи, под которые строятся большие, дорогие и сложные графические продукты. Классический пример - входящая в каждый Linux-дистрибутив утилита wget, запросто справляющаяся с докачкой файлов. У этой крохи в принципе нет никаких проблем со стабильностью работы - её текстовое совершенство выверено до последнего байта.
Сравнительно небольшие размеры консольных инструментов делают возможным разработку их одним человеком при минимальном содействии пользователей. Поэтому среди разработчиков можно встретить представителей, пожалуй, каждой национальности (вот она, стимуляция местных программистских ресурсов в действии!), нередки там и наши соотечественники и ближайшие соседи. Так украинский программер Константин Клягин ведёт сразу несколько проектов, среди которых популярный благодаря своей предельной минималистичности интернет-пейджер Centericq, консольный же аудиопроигрыватель Orpheus и среда разработчика Motor.
Сеть и консоль - две вещи неделимые. Линуксовая консоль была рождена для работы в Сети (как утилита для чтения новостных конференций), и эта славная традиция поддерживается по сей день. Если вы считаете, что Сеть - прежде всего WWW, то вам нужен Links: текстовый веб-браузер с поддержкой табличного форматирования. Да, полюбоваться современными флэш-конструкциями с его помощью не получится, но в остальном это фантастический инструмент, демонстрирующий сверхскорости даже на дряхлом модемном канале. Нужны картинки? W3m. Вообще, как бы странно это ни звучало, графика в консоли не проблема: современные драйверы видеокарт работают в псевдотекстовом режиме, в котором можно отображать и картинки.
Электронная почта - Mutt. В переводе с английского название звучит как "собачонка", и продукт его полностью оправдывает: эта крохотная программка "держится за жизнь зубами" и умеет почти всё из того, чем богаты её графические коллеги. Отдельная песня - чувство юмора создателя Mutt. К примеру, он отрицает наличие в своей программе багов (bug - англ. "жук"), потому что у собак бывают только блохи (fleas) :-)
Общение и минимальный файловый обмен, как и везде, ведутся через IRC-каналы, а для работы с ними часто избирают уникальный своей простотой и мощью irssi. С полноценным P2P-обменом тоже нет проблем. Есть и настоящая Gnutella в виде консольного клиента gnut, есть и BitTorrent, создатели которого объявили войну эгоизму, есть комплексный giFT, на который при желании можно навесить симпатичную пользовательскую оболочку.
Многочисленные утилиты для изучения сетевых ресурсов обычно включаются в состав Linux-дистрибутивов, а довеском выступают знаменитые сканеры nmap (тот самый, что показывали в "Матрице") и Nessus. Модный в последнее время вардрайвинг не обошёл Linux стороной: для свободной ОС есть уникальный, не имеющий аналогов в мире Windows инструмент пассивного ("стелс-технология" :-) сканирования беспроводных сетей kismet.
Перемещаться между каталогами и файлами помогает старый добрый Midnight Commander. А управление задачами в текстовом режиме (задача, так и не реализованная когда-то в DOS) осуществляется через уникальные оболочки GNU Screen и Twin, добавляющие оконности в консольное бытие.
Мультимедия, считающаяся привилегией приложений с графическим интерфейсом, также достигается без проблем. Воспроизведение аудио - задача, решаемая множеством утилит (одна из самых удобных - упомянутая выше Orpheus). Если нужно видео, используется Mplayer - комплекс c фантастическими возможностями.
Где мультимедия, там и игры. Классика жанра - Nethack, существующая с незапамятных времён текстовая бродилка, в любви к которой признаются и зелёные новички, и бородатые дядьки. Сколько тысяч человеколет потрачено на изучение псевдослучайных лабиринтов Nethack, вряд ли можно подсчитать.
Пожалуй, единственная проблема консольного режима - документы сложного форматирования. Нет, с обработкой текста нет проблем, консоль вмещает и Vim, и десятки менее минималистичных полувизуальных редакторов (вроде GNU Editor), и великий, ужасный и загадочный Emacs. Но в чём - не выходя из консоли - можно обрабатывать графику и текст одновременно? Возможно, ответ есть у вас? Подключайтесь к дискуссии, поделитесь ссылками на свои любимые консольные программы!