Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Программы командной строки для повседневного использования

Оригинал: Command-line programs for everyday use in Linux
Автор: Rares Aioanei
Дата публикации: 31 января 2012 года
Перевод: А. Кривошей
Дата перевода: май 2012 г.

1. Введение

Должен признаться, что я являюсь фанатом командной строки. Если имеется такая возможность, независимо от используемой рабочей среды и дистрибутива, я открываю терминал и начинаю заниматься разной чепухой. Конечно, это не значит, что все должны следовать мне. Большинство предпочитает использовать мышь и графический интерфейс. Однако имеется достаточно много ситуаций, когда проще выполнить задачу с помощью командной строки. А иногда, например при обновлении ядра или драйвера видеокарты, графический режим может просто отключиться из-за какого-нибудь бага в новой версии. А в это время, к примеру, вам необходимо срочно отправить очень важное письмо... Все основные операции, выполняемые в графическом режиме (конечно, с некоторыми исключениями), могут быть с такой же легкостью выполнены на машине, работающей в консоли. Если вас эта тема интересует, добро пожаловать.

2. Задачи

Для начала определимся, что мы подразумеваем под повседневными задачами. Это может быть работа с электронной почтой, просмотр чего-нибудь интересного на YouTube (да, и это возможно), общение в чате, или просто веб-серфинг. Мы поговорим обо всех этих задачах в нашей статье. Кстати, еще одним преимуществом работы в командной строке (помимо эффективности и нетребовательности к системным ресурсам) является однообразность. Работая на любом компьютере с установленным Linux, не нужно беспокоиться о том, что на нем не установлена ваша любимая графическая среда - программы, о которых мы будем говорить, будут выглядеть одинаково, независимо от наличия графического интерфейса. Необходимо отметить, что в этой статье мы будем говорить об основных концепциях и принципах использования программ, она не является пошаговым руководством по их использованию.

2.1. Веб-серфинг

Конечно, вы не сможете просматривать изображения, зато консольные браузеры будут работать очень быстро, намного быстрее любого графического аналога. Кроме того, безопасность также будет на высоте, потому что некоторые из них не поддерживают даже Javascript, если только вы не скомпилируете их со специально заданными опциями. Позвольте вам представить links, elinks и lynx. Практически во всех дистрибутивах их можно установить с помощью штатной системы управления пакетами, или самостоятельно собрать из исходного кода, что не представляет больших трудностей, так как они имеют мало зависимостей. links, кроме того, имеет флаг командной строки (-g) который, если links был скомпилирован с правильными опциями, позволяет получить простой, но быстрый графический браузер.

links

В Debian, при попытке запуска браузера с помощью команды "links -g", я получил сообщение "Graphics not enabled when compiling (use links2 instead for graphics mode)". Установив links2 и введя команду

$ links2 -g

я получил то, что хотел. Если мне нужно в текстовом браузере зайти на сайт, который использует для авторизации Javascript, я использую elinks. В наше время, с развитием рынка мобильных устройств многие сайты имеют специальные мобильные версии (а Gmail имеет HTML-версию, которая прекрасно подходит для таких целей), которые можно просматривать в текстовых браузерах, если только вам не нужны изображения или flash. Еще одним преимуществом консольных браузеров является значительно меньшее потребление трафика. Если вам нужен наиболее минималистичный и быстрый вариант, советуем обратить внимание на lynx. Это самый маленький и быстрый браузер, даже в сравнении с аналогом.
Выше я упоминал о просмотре видео с youtube в командной строке. Их можно скачать с помощью утилиты youtube-dl, а затем, после непродолжительного изучения опций mplayer, посмотреть их.

2.2. Чат

Большинство пользователей Linux для этих целей использует Pidgin, так как он поддерживает большое количество протоколов, историю (кто-нибудь еще помнит Gaim?) и имеет красивый интерфейс. Многие не знают, что команда разработчиков Pidgin предлагает его эквивалент для командной строки под названием Finch. Его можно без проблем установить в большинстве дистрибутивов, но необходимо вас предупредить, что в отличие от большинства программ командной строки Finch имеет достаточно много зависимостей, поскольку он связан с Pidgin, который, в свою очередь, требует их достаточно много. Finch поддерживает все протоколы, которые поддерживает Pidgin. Отличие только в интерфейсе.
Когда речь идет об общении, сообщество Linux предпочитает IRC. Хотя Finch уже поддерживает IRC, мне хотелось бы представить вашему вниманию клиент, предназначенный только для IRC, под названием irssi. Он очень прост в использовании, но не стоит недооценивать его возможностей. irssi позволяет писать скрипты и поддерживает все продвинутые возможности IRC, которые могут вам понадобиться. При первом запуске программа создает конфигурационный файл в ~/.irssi/, который можно при необходимости редактировать. Его достаточно просто освоить, так как в этом файле уже содержится большое количество примеров готовых конфигураций. Я предпочитаю использовать irssi непосредственно из командной строки:

$ irssi -c $host -n $nick

irssi

2.3. Мультимедиа

Кто сказал, что для того, чтобы слушать музыку, нужен X-сервер? Конечно, это не так, и существует множество приложений помимо mplayer, о котором мы уже говорили, позволяющих это делать. Конечно, я не работал со всеми, обычно я использую mp3blaster. Он поддерживает mp3 и ogg, плейлисты, id3 и имеет красивый и удобный интерфейс.

mp3blaster

Он имеется в Debian, также доступен в Ubuntu, Mint и производных от них дистрибутивах. Пользователи OpenSUSE, у которых подключен репозиторий Packman, также могут установить mp3blaster. Кажется он не будет доступен в новых релизах Fedora, тогда придется скомпилировать его самостоятельно (или собрать пакет).

2.4. Новости

Когда я говорю новости, то подразумеваю две вещи: RSS и NNTP, то есть Usenet. Конечно, на Linux нет проблем с их использованием, но когда речь идет об RSS, возникает тот же самый вопрос: изображения. И снова все зависит от типа новостей, которые вы читаете. Если это комиксы, например, то дело плохо. В любом случае, рассмотрим эти программы, помня, что они ни в коем случае не являются единственной доступной альтернативой. Просто я пользуюсь именно ними, поэтому и пишу о них.
Для RSS я использую Snownews, действительно маленькую и быструю читалку. На сайте проекта вы можете посмотреть как будет выглядеть программа, поскольку он является практически точной копией ее интерфейса. К сожалению не могу порадовать пользователей Debian, так как программа (в виде пакета) доступна только для Lenny. Пакеты имеются для Fedora, Gentoo, BSD и Solaris. Что мне нравится в Snownews, так это то, что она действительно быстрая, хотя парсинг XML представляет собой довольно сложную задачу.
Если речь заходит о чтении Usenet, каждый ветеран Linux должен знать о Tin, Threaded Internet News reader. Надеюсь, я не исказил акроним, поправьте, если я ошибаюсь. Он имеет богатую историю, быстр и прост в настройке, распространяется под либеральной лицензией (BSD) и имеется практически во всех системах на базе Unix, таких как BSD, Solaris, и даже OpenVMS. Я использую его для удаленного чтения новостей и поэтому запускаю с флагом -r, так как в противном случае tin будет пытаться использовать локальный буфер, которого нет на моей машине. Ниже я привожу пример своих настроек для Tin.

//edit ~/.newsrc and enter the groups you want to subscribe to, one per line 
//if you already have such a file, replace the trailing '!' with a semicolon
//for the groups you want to subscribe to
 $ export NNTPSERVER=$server
 $ tin -Q

tin

3. Заключение

Исследования говорят, что, несмотря на все усилия по развитию графических интерфейсов, люди наиболее эффективно работают в командной строке. Не могу сказать, правда это, или нет. Что я действительно могу сказать, это то, что сам я действительно более продуктивно работаю в командной строке, несмотря на большие затраты времени при обучении такой работе. А что по этому поводу думаете вы?