Консоль linux какая лучше

Обновлено: 06.07.2024

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные

Наибольшее распространение получили POSIX-совместимые оболочки, ведущие родословную от Bourne shell (шелл Борна), поэтому с него и начнем

Bourne shell и его клоны

Bourne shell, исполняемый файл: sh. Командная оболочка названная в честь своего создателя Стивена Борна. Большая часть операторов была заимствована им из языка Алгол 68. Вышла в 7-м издании операционной системы UNIX, где была оболочкой по умолчанию. До сих пор подавляющее большинство Unix-подобных систем имеют /bin/sh — символическую или жесткую ссылку на sh-совместимую оболочку.

Bourne again shell, исполняемый файл: bash. Название можно перевести, как «Возрождённый шел Борна». Скорее всего самая популярная оболочка на сегодняшний день. Де-факто стандарт для Linux. Не буду на ней останавливаться, т.к. в интернете много хороших статей про bash. Например вот и вот.

Z shell, исполняемый файл: zsh. Свободная современная sh-совместимая оболочка. Имеет ряд преимуществ перед bash касающихся в основном работы в интерактивном режиме. О ней на Хабре писали тут и тут
Кроме того существует довольно много оболочек попадающих в эту группу: Korn shell (ksh) и Almquist shell (ash) etc но не будем подробно на них останавливаться.

C shell

C shell, исполняемый файл: csh Командная оболочка разработанная автором vi Биллом Джоем. За основу для скриптового языка csh был взят, как понятно из названия, язык C. Т.к. на тот момент, в 1978 г., это был наиболее популярный язык программирования среди разработчиков и пользователей BSD UNIX. В настоящий момент более популярна свободная реализация csh — tcsh.

TENEX C Shell, исполняемый файл: tcsh. Именно в tcsh когда-то впервые появилось автодополнение. Является оболочкой по умолчанию в FreeBSD. Подробнее о ней почитать можно здесь.
Для того чтоб наглядно показать разницу в синтаксисе приведу несколько примеров скриптов делающих одно и то же для csh и sh-совместимого командного интерпретатора.

Множественное ветвление (Переключатель, Swich/case):

Цикл вычисляющий 10 первых степеней двойки:

Однако список фичь поддерживаемых свежими версиями bash, zsh и tcsh очень похож и выбор конкретной оболочки по большей части дело вкуса. С менее распространенными оболочками дело обстоит иначе. Тут различия существеннее.

Командные оболочки, базирующиеся на популярных языках программирования.

Perl Shell, исполняемый файл: psh. Оболочка сочетающая в себе функции вышеупомянутых оболочек и мощь языка Perl. Т.к. psh написана на perl она может запускаться даже на Windows. Несколько примеров использования psh:


Scsh, исполняемый файл scsh. Командный интерпретатор с открытым кодом использующий в качестве скриптового языка Scheme 48. Не поддерживает стандартные для других оболочек функции (история команд, редактирование текста в командной строке, дополнение путей/команд). Рекомендуется написания скриптов, но не для интерактивной работы. Может прийтись по вкусу любителям функционального программирования. Ниже приведен пример скрипта, который выводит имена всех исполняемых файлов находящихся в каталогах из переменной окружения PATH


IPython. Это интерактивная оболочка для языка программирования Python, имеющая ряд дополнительных функций. IPython имеет специальный профиль для работы в качестве системной командной оболочки. Способ запуска этого режима зависит, как я понял, от версии, но на моей машине это выглядит так:
ipython3 --profile=pysh

  • Кросплатформенность. Есть даже версия под Windows
  • Python версий 2.x или 3.x в качестве скриптового языка, расширенные возможности интроспекции
  • Автодополнение кода Python а так же имен файлов и системных команд.
  • История команд и макросы на ее основе
  • Механизм ускоряющий навигацию по каталогам, закладки и многое другое
Остальные

Конечно это не полный список даже популярных оболочек. Помимо вышеперечисленных категорий существуют ещё использующие собственный синтаксис, не совместимый с sh и не копирующий существующие ЯП . Примером может служить friendly interactive shell (fish). Но на последок хотел бы рассказать не о ней, а более специфической sleepshell.

Sleep Dummy Shell, исполняемый файл: sleepshell. Строго говоря командным процессором sleepshell назвать нельзя, т.к. он не умеет обрабатывать команды. И вообще не умеет ничего, кроме как периодически записывать в стандартный вывод звёздочки "*". Однако используется она именно в качестве командной оболочки и вот для чего: Допустим мы хотим предоставить кому-то возможность делать тоннели ssh через наш сервер под управлением Linux или Unix. Подробнее про ssh-туннелирование читаем тут. Но нам не нужно при этом, что этот кто-то получил доступ к командной строке и файловой системе нашего сервера. Для такого случая и предназначена sleepshell. Создаем на сервере аккаунт в качестве шела для него устанавливаем sleepshell. Владелец аккаунта сможет подключаться и пробрасывать порты, но не сможет выполнять команды.

На этом всё. Надеюсь, что было интересно. Буду рад любым замечаниям и советам по тексту статьи.

Прошу помощи в выборе максимально функционального консольного дистрибутива для десктопа.

Большая просьба дистрибутивы наподобие Schillix не советовать по причине "Since right now we are only two people creating Schillix. "


>функционального консольного дистрибутива для десктопа.


Любой дистрибутив. Не ставь иксы и все

Кстати интересно было бы увидеть реп не содержащий зависимого от иксов софта.


Вам шашечки или ехать?!

буду банален, но debian.


А зачем такой софт ставить? Что плохого от того что он в репах лежит. есть-пить не просит.

зачем на десктопе консоль без иксов? по стопам царя Леонида? :)


>зачем на десктопе консоль без иксов? по стопам царя Леонида? :)

Как-то хотел провести эксперемент а-ля "10 дней без иксов".

> А зачем такой софт ставить? Что плохого от того что он в репах лежит. есть-пить не просит.

Ну вот хочу я посмотреть в консоли видео, а мне из репа лезут иксовые тузлы.

> зачем на десктопе консоль без иксов?

Незрячим иксы например в глаз не впились.







ставь debian-netinstaller сверху mocp,mplayer,links2. у него в репах всё есть

>Незрячим иксы например в глаз не впились.
хотелось бы верить у автора с этим все в порядке
а так поддерживаю последнего постера в отношении дебиана,сам юзаю и доволен :)

> Кстати интересно было бы увидеть реп не содержащий зависимого от иксов софта.

Именно такой я и ищу.

> зачем на десктопе консоль без иксов? по стопам царя Леонида? :)

Я бы хотел не обсуждать идею применения, а увидеть полезные рекомендации, если можно.

JB, maloi, gnomino и lazyklimm в ответ приведу цитату из этой же темы

> Ну вот хочу я посмотреть в консоли видео, а мне из репа лезут иксовые тузлы.

> Незрячим иксы например в глаз не впились.

Зачем же оскорблять?

polachok и asc - большое спасибо за grml и Cubuntu. Обязательно попробую.

> буду банален, но debian.


Zenwalk Core (та же слака, со всемы вытекающими отсюда следстиями, но без излишеств, своя система управления пакетами *.tgz (netpkg), упрощённое авторазуливание зависимостей и другие блага) + репозитариев к нему куча, очень много олдстайл софта и просто лёгких пакетов. Юзаю сам и очень доволен.

В современных версиях операционной системы Linux уже все действия можно сделать через графический интерфейс, а терминал использовать совсем необязательно. Но в старых компьютерах или на серверах может быть недостаточно ресурсов для запуска сложных графических интерфейсов и приложений. Тогда на помощь приходят терминальные программы linux.

1. Screen - терминал

Не всегда достаточно одного запущенного терминала, который доступен нам при подключении по ssh или в одном из интерфейсов TTY. Иногда нужно управлять несколькими сессиями одновременно, но нет возможности запустить графический интерфейс и несколько эмуляторов терминала.

apps

В таких случаях на выручку приходит утилита screen. Она позволяет очень просто управлять несколькими терминалами в одном TTY. Вы можете открывать новые окна терминала, переключаться между ними, копировать информацию и многое другое. Даже если сессия будет неожиданно разорвана из-за разрыва соединения ssh, программы не будут завершены и продолжат выполняться, а вы сможете восстановить соединение.

2. MidnightCommander - файловый менеджер

MidnightCommander или mc - это двухпанельный файловый менеджер для операционных систем Linux. Он очень похож на файловый менеджер FAR, известный пользователям Windows. Все рабочее пространство разделено на четыре части - это две панели, командная строка и строка, обозначающая назначение функциональных клавиш:

apps13

Для всех команд терминала текущей папкой считается активная панель и вы можете выполнять любые команды Linux. Для удобной навигации здесь есть множество горячих клавиш, которые очень похожи на Emacs. Для установки в Ubuntu наберите команду:

sudo apt install mc

3. Lynx - браузер

Lynx - это полнофункциональный консольный браузер. С помощью него вы можете просматривать интернет страницы. Это один из самых первых браузеров. Он выглядит очень по-простому, не поддерживает таблиц, css, javascript и других технологий. Но зато страницы загружаются очень быстро.

apps1

4. Elinks - еще один браузер

Elinks - более новый браузер, он основан на Lynx, но поддерживает больше функций, здесь есть начальная поддержка стилей, поддержка JavaScript, таблиц, фрейомв. Есть даже поддержка цветовой палитры до 256 цветов.

apps2

sudo apt install elinks

5. Vim - текстовый редактор

Vim - это один из лучших текстовых редакторов для операционной системы Linux, не только среди консольных утилит, но и в целом. Программа имеет очень своеобразный интерфейс и режимы работы, которые позволяют набирать текст и выполнять его наиболее быстро и эффективно, не отрывая рук от клавиатуры:

apps3

Вы можете перемещаться по тексту с помощью клавиш h,j,k,l в командном режиме, а также выполнять быструю замену с помощью r. Для переключения командного режима и режима редактирования используется клавиша Esc. Смотрите подробнее как пользоваться Vim в отдельной статье.

6. Moc - аудиоплеер

Moc или Music on Console - это аудиоплеер для терминала Linux, очень простая программа, которая позволяет только слушать музыку. Интерфейс очень прост и похож на интерфейс Midnight Commander.

Вам достаточно выбрать файл из нужной папки через главное меню, а затем программа начнет воспроизводить все файлы по порядку.Плеер может работать в фоновом режиме даже после закрытия сессии терминала.

7. RTorrent - торрент клиент

Как следует из названия, rtorrent - это простой torrent клиент, который, как и другие приложения командной строки работает только через терминал. Программа нетребовательна к ресурсам имеет не очень удобный интерфейс, но работает достаточно быстро и стабильно.

apps4

Также поддерживается очень гибкая настройка программы через файл rtorrent.rc. Но синтаксис файла достаточно сложный.

8. Newsbeuter - RSS ридер

Это очень простой, но полнофункциональный RSS ридер для Linux, программа полностью справляется со своей задачей, несмотря на то, что имеет только версию для терминала. Вы можете добавить несколько URL лент в конфигурационный файл программы, затем синхронизировать локальную базу данных с информацией на сервере.

apps5

Программа может запоминать уже прочитанные записи. Для установки в Ubuntu используйте такую команду:

sudo apt install newsbeuter

9. Mutt - клиент электронной почты

apps7

Программа имеет очень простой, но в то же время удобный интерфейс, а также поддерживает шифрование и электронные подписи.

10. WeeChat - мессенджер

apps8

С помощью удобных сочетаний клавиш вы можете выполнить любые действия очень быстро. Также поддерживаются различные расширения на Python, Ruby и Perl, позволяющие очень сильно расширить возможности программы. Чтобы установить в Ubuntu выполните:

sudo apt install wee-chat

11. Calcurse - календарь

Консольные приложения Linux также не обходятся без инструментов планирования времени и календарей. Calcurse - это очень простой, но в то же время функциональный календарь и список заданий для Linux.

apps9

С помощью этой программы вы сможете отслеживать свои дела, которые нужно сделать, а также определенные события и встречи. Также здесь есть система напоминаний, с помощью которой вы сможете получить уведомления с сроках выполнения заданий и событиях.

12. Taskwarrior - список дел

Taskwarrior - это очень простой список задач для Linux. Вы можете создавать задания, очень быстро просматривать список доступных, обозначать уже выполненные, а также планировать дату завершения.

apps10

В связке с утилитой Timewarrior от того же разработчика, вы сможете засекать время, которое уходит на выполнение каждой задачи. Для установки taskwarrior в Ubuntu выполните:

sudo apt install taskwarrior

13. cacaview - просмотр изображений

Cacaview - это очень простой просмотрщик изображений с консольным интерфейсом. Рисунок выводится с помощью символов ASCII. На полноценный просмотр изображений тянет с трудом, но зато приблизительно оценить что изображено на самой картинке можно:

apps11

Для установки необходимо установить пакет caca-utils:

sudo apt install caca-utils

14. htop - монитор

htop - это монитор использования системных ресурсов в реальном времени с интерфейсом командной строки. Вы можете посмотреть сколько оперативной памяти занято, процент использования процессора, а также какие процессы используют больше всего ресурсов системы.

apps12

С помощью программы можно менять приоритеты процессов завершать их, выполнять поиск, фильтровать процессы по определенным параметрам, сортировать, а также смотреть потоки каждого процесса.

15. BitlBee

Это мессенджер с открытым исходным кодом, который позволяет пользователям общаться в таких сервисах, как IRC, чат-сетях, AIM, ICQ, NET Messenger, Yahoo!, XMPP, Google Talk, Twitter и Identica. Пользователи этих сервисов отображаются в виде каналов, после чего с ними можно общаться как с обычными пользователями IRC сети.

Возможно даже создание конференций. Программа выполнена в виде сервера и для подключения к ней необходимо использовать любой IRC клиент. Для установки наберите:

sudo apt install bitlbee

Выводы

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


Если ты перешел на Linux совсем недавно или же работаешь исключительно в графической среде и графических приложениях, то наверняка задаешься вопросом: а зачем столько людей используют консольный софт? Я говорю не о терминале и его мощной командной строке, а о консольных приложениях с псевдографическим интерфейсом, в которых вся визуальная составляющая — это символы (яркий пример из мира Windows — FAR и Norton Commander).

Скорее всего, ты думаешь, что пользователи таких приложений — старперы, которые уже не могут переучиться и привыкнуть к новому. Отчасти это правда, однако есть и другие причины: скорость, удобство и «чистота интерфейса». Консольный софт просто невероятно быстр, им можно управлять не используя мышь, а главное — создать захламленный псевдографический интерфейс просто невозможно, он всегда будет содержать только необходимую информацию, без лишних обвесок и декораций.

Далее я расскажу о десятке приложений для решения повседневных задач: управления файлами, чтения почты, прослушивания музыки и прочего. Сразу скажу, что в списке есть несколько графических приложений (просмотрщик изображений и PDF-ридер), но созданы они с оглядкой на консольный софт — минималистичный интерфейс и полное управление с клавиатуры. Так что все будет честно.

Файлы: Midnight Commander

Midnight Commander (или просто mc) — одно из самых известных консольных приложений. Это клон бессмертного Norton Commander, созданный специально для UNIX. Mc можно увидеть на экране ноутбука каждого второго админа, вот только почему-то все они используют его как есть, выжигая себе глаза синим фоном.

На самом деле Midnight Commander поддерживает темы, выбирать которые можно из интерфейса или отредактировав .config/mc/config . Например, чтобы заставить mc использовать не режущую глаза темную тему, достаточно добавить (изменить) такую строку:

Также рекомендую изменить две другие опции для отключения бесполезных строки меню сверху и строки кнопок снизу:

Ну а те, кто не любит стандартный редактор mc и предпочитает юзать другой, должны добавить такую опцию:

Важная особенность mc — умение показывать и запускать многие типы файлов с помощью внешних приложений. Например, если ты выберешь файл с изображением и нажмешь F3, то увидишь на экране информацию об изображении: формат, размер, глубина цвета и другие данные. Эту информацию mc получает от утилиты identify из пакета ImageMagic. Нажатие Enter запустит просмотрщик изображений (по умолчанию с помощью gqview, see или zgv, какой найдется в системе).

Все привязки типов файлов к приложениям описаны в файле

/.configs/mc/mc.ext . Он интуитивно понятен, так что при желании конфиг можно изменить, чтобы заставить mc открывать файлы с помощью удобных тебе приложений.

Midnight Commander здорового человека

Midnight Commander здорового человека

Файлы по-другому: Nnn

Двухпанельный файловый менеджер не всегда удобен, когда необходимо просто пройтись по каталогам и найти/открыть нужный файл. В этом случае гораздо лучше подойдет nnn — простой и быстрый как молния файловый менеджер без лишних обвесок и со всей необходимой функциональностью для навигации по файловой системе.

Nnn представляет файловое дерево в виде списка с указанием даты модификации и размера файлов. Навигация крайне простая — стрелки вверх/вниз для перемещения по списку, вперед/назад для перехода между каталогами (клавиши h, j, k, l, как в Vim, тоже поддерживаются). Клавиши & и - возвращают к начальному и последнему посещенному каталогу, D открывает подробную информацию о файле, Ctrl + R — для переименования.

В nnn есть система поиска в реальном времени, вызываемая по клавише / , и система закладок. Просто нажми b в нужном каталоге, введи имя закладки и возвращайся к нему когда вздумается с помощью Ctrl + V .

Лаконичный интерфейс nnn

Лаконичный интерфейс nnn

Электронная почта: mutt

В среде пользователей UNIX почтовый клиент mutt занимает примерно то же место, что и Vim: его либо ненавидят, либо не могут без него жить. Как и у Vim, у mutt очень высокий порог вхождения, его нельзя просто запустить и начать использовать. Точнее, можно, но всей мощи клиента ты не увидишь. mutt необходимо конфигурировать, долго подстраивая его под себя. Зато в результате ты получишь приложение, с помощью которого можно обработать тонны писем намного быстрее, чем с помощью любого другого клиента.

Рассказывать здесь о том, как конфигурировать mutt, бессмысленно, это слишком обширная тема. Зато в Сети всегда можно найти множество преднастроенных конфигов, один из которых обязательно тебе подойдет (пример для любителей Vim). Существуют даже онлайн-генераторы конфига mutt.

Вот лишь базовый конфиг mutt для подключения к Gmail (имей в виду, тебе необходимо включить поддержку IMAP и создать пароль приложения специально для mutt, если ты используешь двухфакторную аутентификацию):

mutt: простота и эффективность

mutt: простота и эффективность

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Читайте также: