Midnight Commander в действии

()

Есть множество свободных файловых менеджеров. Есть Nautilus в среде GNOME. Пользователи KDE имеют Konqueror и Krusader. Есть так же более мощный Dolphin, который будет менеджером по умолчанию в KDE4. Быстрый Thunar, который можно найти в легковесном XFCE. Все они имеют очень богатый функционал, и одну особенность, которая в критической ситуации может стать для них минусом - они, как правило, имеют сложные зависимости и требуют наличия запущенного X-сервера. Однако есть просто и лёгкое решение - MC!

Midnight Commander (Для краткости просто mc) самый популярный консольный файловый менеджер. Он имеет классический двухпанельный интерфейс, подобный интерфейсу знаменитого Norton Commander - файлового менеджера для DOS. Midnight Commander имеет следующие особенности:

  • Нативная поддержка архивов, .deb и .rpm-пакетов. Пользователь может перемещаться по ним как по каталогам и копировать файл из/в архив.
  • Возможность подключаться к серверам по протоколам FTP, SSH и SMB.
  • Возможность выделять несколько файлов и работать с группами файлов используя шаблоны.
  • Есть подсветка синтаксиса в mcedit - встроенном редакторе mc.
  • Возможность применять пользовательские команды в выделенным файлам.
  • ...и многое другое.

Заслуживает внимания и тот факт, что .deb-пакет mc имеет размер всего около двух мегабайт! К сожалению оригинальный вариант приложения не поддерживает UTF-8, но есть патчи, доступные например в дистрибутивах OpenSuSE, RedHat, Gentoo Linux. Следует так же отметить что mc был файловым менеджером по умолчанию в ранних версиях GNOME, но потом он стал полностью консольным и от него отказались.

Установка

Поскольку mc есть в составе практически любого дистрибутива Linux и даже имеет порт на BSD, то установить его можно просто используя штатный менеджер пакетов. Например в Debian/Ubuntu вам нужно выполнить следующую команду:

apt-get install mc

На системах Fedora/CentOS/Scientific Linux/Red Hat:

yum install mc

Версии для Windows и BeOS так существуют. Благодаря открытому коду, mc был портирован даже на AIX и HP-UX. Бинарная версия под Sun Solaris доступна со страницы Sun Freeware.

Запуск

Вы можете запустить mc просто введя в терминале команду mc. Сразу после запуска на левой панели будет оглавление каталога, из которого вы запустили mc, а на правой - оглавление домашнего каталога. Если передать mc в качестве параметра каталог - он будет открыт на левой панели. Например в результате запуска команды:

mc /usr/src

Вы получите запущенный mc, с оглавлением каталога /usr/src на левой панели. Кроме того в командной строке вы можете передать дополнительные параметры:

  • -b - использовать чёрно-белую палитру.
  • -c - цветная палитра.
  • -v <путь к файлу> - запустить встроенный просмотрщик на просмотр указанного файла.
  • -e <путь к файлу> - запустить встроенный редактор на редактирование указанного файла.

Вы так же можете запустить встроенный редактор как самостоятельную программу используя команду mcedit. Например так:

mcedit /etc/fstab

Основы mc

Практически всё управление сводится к небольшому количеству клавиш: клавиши правления курсором, PgUp, PgDown, <Tab> - чтобы переключаться между пунктами меню или элементами диалогов, пробел - для выбора текущего элемента и функциональный клавиши F1-F10 для доступа к самым основным функциям:

  • F1 - Меню помощи.
  • F2 - Пользовательское меню.
  • F3 - Просмотр.
  • F4 - Правка.
  • F5 - Копирование.
  • F6 - Перемещение.
  • F7 - Новый каталог.
  • F8 - Удаление.
  • F9 - Главное меню.
  • F10 - Выход.

Клавиатурные сокращения

В системе Windows самый популярный двухпанельный файловый менеджер - Total Commander. при почти одинаковом функционале с mc, у них заметно различаются горячие клавиши. Таблице ниже даёт частичное представление об этом:

Функция Midnight Commander Total Commander
Меню директорий CTRL+\ CTRL+D
Сравнение каталогов CTRL-X+D SHIFT+F2
Обновить CTRL+R F2
Спрятать панели CTRL+O SHIFT+ESC
Инвертировать выделение M+* NUM*
Поиск файла ALT+? ALT+F7
Быстрый просмотр CTRL-X+Q CTRL+Q
Права доступа CTRL-X+C недоступно
Владелец CTRL-X+O недоступно
Симлинк CTRL-X+S SHIFT+CTRL+F5

Последовательности вроде CTRL-X+D выполняются так: Сначала нажимаем сочетание CTRL+X, а потом клавишу D - как в редакторе Emacs. Сочетание ESC+(1-10) заменяет соответственно клавиши F1-F10. Это полезно на терминалах без поддержки функциональных клавиш.

Просмотр файлов

Midnight Commander, как и многие другие современные средства управления большим количеством файлов, позволяет просматривать файлы практически всех типов. MC одинаково хорошо позволяет просматривать архивы, файлы пакетов, документацию man и pdf. Вы можете просматривать даже iso-образы дисков без предварительного монтирования. Кроме того есть функция быстрого предпросмотра, вызываемая сочетанием CTRL-X+Q или через меню панелей.

Управлением группами файлов

Что выделить отдельный файл - установите на него курсор и нажмите клавишу Insert. чтобы выделить сразу несколько файлов по маске - выберите в меню «Файл» опцию «отметить группу» и введите регулярное выражение. Например *.odt означает все файлы с расширением .odt. Сочетание SHIFT-\ отменит выбор, а сочетание SHIFT+* инвертирует выделение (В данном случае выделит все файлы, кроме файлов с расширением .odt).

Вы можете копировать/перемещать/удалять выбранные файлы. Но это ещё не всё. Вы можете выполнить с выделенными файлами вообще любую команду. Для этого нажмите F2 (Пользовательское меню) и выберите пункт «Do something on the tagged files» (Клавиша @), после чего введите команду, которую вы хотите выполнить для выбранных файлов.

Вы так же можете задать фильтр для отображения файлов. Зайдите в меню правой или левой панели, выберите пункт «Фильтр» и задайте шаблон отображаемых файлов. Например шаблон *.pdf заставит панель показывать только файлы с расширением .pdf, каталоги и симлинки.

Поиск файлов

MC предлагает достаточно широкие возможности для поиска файлов. Используйте опцию «Поиск файла» из меню «Файл». Конечно mc позволяет использовать регулярные выражения для поиска. Найденные файлы будут показаны в отдельном окне. Кнопка «Переход» позволяет перейти в каталог с найденным файлом. Кнопка «Повтор» снова откроет окно с параметрами поиска, где вы можете указать другие критерии. Кнопка «Панелизация» отобразит все найденные файлы в текущей панели mc.

Соединение с сервером

Подключится к серверу можно следующим способом. Выбрать в меню правой или левой панели пункт с требуемым типом соединения, ввести адрес, логин и пароль. Имя и пароль можете задать в одном из следующих форматов: user_name:password@server_address или user_name@server_address. Если выбран второй вариант - в момент подключения будет запрошен пароль. Если вы выбираете «Shell-соединение», то будет использован FISH-протокол, созданный специально для mc. В KDE он реализован в kio-slave как fish://. Этот протокол требует ssh-демона, запущенного на стороне сервера. К ftp так же можно быстро подключится используя команду:

cd /#ftp:user_name:password@server_address/directory

Для анонимного соединения:

cd /#ftp:server_address/directory

Подобным образом можно соединиться и по FISH-протоколу:

cd /#sh:user@server_address/directory

Поддержка RPM и DEB-пакетов.

Как было сказано выше - mc поддерживает две самые популярные системы управления пакетами - rpm и deb. Если вы хотите увидеть полный список установленных в системе rpm-пакетов, введите следующую команду:

cd #rpms

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

cd #apt

и:

cd #dpkg

В этом случае вы так же увидите список установленных пакетов. Разница в том что первая команда используется на RedHat-подобных системах. А вторые две - на Debian-подобных.

Клавиша F10 в терминале GNOME

Есть известный конфликт клавиш в терминале GNOME. Он использует клавишу F10 для вызова меню, и в итоге mc не получает нажатия это клавиши. Проблему можно решить следующей командой:

gconf -set /apps/gnome-terminal/global/use_menu_accelerators -type boot false

Этот метод найден в польской OpenSuSE Wiki.

В статье описаны конечно далеко не все возможности mc. Для получения более подробной рекомендуется читать справку mc.

Источник

Ключевые слова: mc, midnight, commander.

Комментарии:

alexsx06 2007-08-28 17:35:52 (#)

Да без MC,в консоли как без рук,а он создает удобствоа причем нужные и хорошие.

sungreen 2007-08-28 18:18:45 (#)

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

Alex 2007-08-28 22:55:47 (#)

А мне под Х Krusader больше нравится

Killy 2007-08-29 00:11:43 (#)

mc - это зверь, ты просто поверь.
ну а настроить тебе поможет
man mc.

MooSE 2007-08-29 05:57:57 (#)

У меня всё просто - в консоли (на серверах например) - mc. В иксах - Krusader. Ибо кеды труъ :)

sungreen 2007-08-29 06:49:58 (#)

... несмотря на разнообразие файловых менеджеров, для некоторой группы пользователей проблема выбора стоит очень остро. К этой группе можно отнести тех которые предпочитают WM без использования DE, а следовательно выбор fm нужно сделать самостоятельно.

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

Некоторое время искал замену mc. Попробовал практически все, что есть в репозитарии. Но так ничего на замену не нашел.

MooSE 2007-08-29 09:27:31 (#)

Да, сам понять не могу, как я жил без МС! А в консоли - просто спасение. Автор, пасиба за статью.

MooSE 2007-08-29 10:33:16 (#)

А в консоли есть ещё убогий Deco. Вот это действительно для настоящих минималистов. Ради хумора на один из серверов поставил - сначала проржаться не мог, а потом освоился и даже нравитяс. Хотя он реально убог:)

sungreen 2007-08-30 06:56:28 (#)

... можно добавить некоторые особенности установки mc в gentoo с локалью utf8, а именно USE флаги при сборке mc, конвертация справки и man-страниц ...

( http://ru.gentoo-wiki.com/HOWTO_ru_RU.utf8_Gentoo_way#Midnight_Commander )
Библиотека slang должна быть собрана с флагом unicode
USE="unicode" emerge slang
USE="unicode slang -ncurses" emerge mc

( http://www.gentoo.ru/node/5806 )
cd /usr/share/mc && iconv -fKOI8-R -tUTF-8 mc.hlp.ru > mc.hlp.ru2 && mv mc.hlp.ru{2,}

( http://ru.gentoo-wiki.com/HOWTO_ru_RU.utf8_Gentoo_way#man )
emerge app-i18n/enca
в /etc/man.conf ...
# NROFF /usr/bin/nroff -Tascii -c -mandoc
NROFF /usr/bin/enconv -L ru -x KOI8-R | /usr/bin/nroff -mandoc -Tlatin1 -c | /usr/bin/enconv -L ru -x UTF8

...

MooSE 2007-08-30 07:53:25 (#)

Я всё жду когда это чудо официально начнёт поддерживать юникод. Но это будет не скоро, потому что в различных дистрах вместо нормальных патчей используют костыли.

Это поймут те, кто пытался с юникодной локалью в редакторе и/или просмотрщике жать Ctrl+T.

sungreen 2007-08-30 09:20:37 (#)

... проблемы с юникод стала одной из причин по которой перестали включать mc по умолчанию в дистрибутивы (где то начиная с 8,9 rh,suse и т.д) ...

MooSE 2007-08-30 09:24:12 (#)

На самом деле нужно починить перекодировку в редакторе. Тогда потом всё будет нормально:)

olle 2007-10-06 11:05:42 (#)

MC в linux, как FAR в windows.. выбор однозначен! :)

Anonymous 2010-03-13 15:17:26 (#)

спасибо!

0mm 2010-10-01 14:28:27 (#)

Я так и не смог привыкнуть к Крусадеру. Как и прежде, использую только MC...
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE

Купить светильники потолочные www.stroyploshadka.ua.