Midnight Commander является представителем самого популярного семейства визуальных оболочек/менеджеров файлов "a la Norton Commander" (в мире Dos/Windows это Norton Commander, Volkov Commander, Dos Navigator, Far, Windows Commander; под Unix до MC существовал Demos Commander (deco)).
Это семейство характерно тем, что экран разбивается на три части -- две панели с файлами (левая и правая) и командная строка, позволяющая вводить команды операционной системы.
У MC есть следующие возможности:
Для запуска Midnight Commander надо набрать "mc". По умолчанию он запускается "в цвете" на консоли, и в черно-белом варианте в окне xterm. Чтобы получить цвет в окне, надо воспользоваться ключом "-c" (color).
Первое отличие от семейства Norton Commander'а обусловлено тем, что в Unix нет букв дисков -- поэтому нет команды "сменить диск" (Alt+F1/Alt+F2).
Второе -- для многих действий (кроме F1-F10) используются другие сочетания клавиш -- это обусловлено тем, что, к примеру, у telnet нет возможности передавать сочетания типа Shift+Ctrl+PageUp. В основном используются сочетания "a la Emacs". В меню и справочной системе приведены сочетания клавиш для большинства операций. Там используются следующие обозначения:
Пример | Что означает |
---|---|
C-r | Нажать Ctrl+R |
M-? | Нажать Esc, затем ? |
C-x s | Нажать Ctrl+X, затем s |
C-x C-s | Нажать Ctrl+X, затем Ctrl+S |
В отличие от NC, для копирования в командную строку имени файла, на котором стоит курсор, используется не Ctrl+Enter, а "Esc Enter".
Поскольку в MC мышь используется "обычным" образом, то исчезает возможность отметки/вставки текста при помощи мыши. Чтобы выделять и вставлять текст мышью, надо при нажатии кнопок держать нажатой клавишу Shift.
Поскольку MC очень похож на NC&Co., и все команды можно найти в меню, обратим внимание лишь на несколько особенностей MC.
Быстрый переход по директориям
В любой момент можно перейти в другую директорию, даже если в командной строке что-то набрано -- для этого служит комбинация "Esc c" (change dir) -- отдаленный аналог Alt+F1/F2.
Кроме того, по комбинации "Ctrl+\" можно вызвать список "самых частоиспользуемых" директорий, куда можно занести такие директории как /tmp, /etc и т.д. -- по своему вкусу.
Встроенный ftp-клиент
В MC встроена поддержка FTP. Если выбрать в меню Left/Right пункт "FTP link...", и затем набрать имя компьютера, то MC покажет в панели список файлов с него. Другой способ -- перейти командой cd (или при помощи "Esc c" или Ctrl+\) в директорию со специальным именем вида "ftp://имя-компьютера".
По умолчанию MC входит на ftp-сервер под именем anonymous, но можно указывать имя пользователя (и, кстати, директорию) точно так же, как в обычных URL, используемых в Internet. К примеру,
ftp://ivanov@host.inp.nsk.su/tmp/означает "зайти на машину host.inp.nsk.su как пользователь ivanov и перейти в директорию /tmp/".
Закрыть ftp-соединение можно, перейдя в любую локальную директорию, к примеру, в свою домашнюю.
|
В меню Left/Right рядом с "FTP link..." есть пункт "Network link...". Он дает доступ к "самодельной" сетевой файловой системе MC, и практически никогда не используется (поскольку для него требуется на другом компьютере запустить сервер mcserv, чего никто никогда не делает -- просто незачем). |
Переименование групп файлов
MC позволяет единообразно переименовывать группу файлов с похожими именами (которые подходят под некий шаблон) одной операцией.
К примеру, при отметке нескольких файлов и нажатии F6 (Move) появляется окно следующего вида:
Если мы отметили файлы с именами file01.tar.gz, file02.tar.gz и т.д. до file07.tar.gz, и хотим их переименовать в f1.tgz и т.д., то надо сделать следующее:
При переименовании каждого файла MC подставит в новое имя (f*.tgz) вместо "*" то, что соответствовало "*" в исходном шаблоне (file0*.tar.gz).
|
Вообще-то можно указывать в имени и шаблоне несколько "*" -- MC подставит вместо кажой "*" в новое имя то, что соответствовало "*" в шаблоне (так можно переименовать fileAdata01.tar.gz...fileZdata05.tar.gz в fA1.tgz... -- исходный шаблон file*data0*.tar.gz). Допускаются и более хитрые переименования -- например, abc01.txt->01abc.txt -- подробности можно узнать, нажав F1 в окне копирования/переименования. |
MC и русский язык
Если попробовать нажать F3 на файле с русским текстом, то вместо русских букв на экране будут точки. Аналогично, русские буквы вводиться не будут. Дело в том, что по умолчанию MC настроен на работу с файлами, содержащими только ASCII-символы (т.е. с кодами до 127), а русские буквы лежат выше.
Чтобы включить поддержку русского, надо выбрать в меню Options пункт "Display bits...", после этого появится окно следующего вида:
Надо включить "Full 8 bits output" и "Full 8 bits input".
Просмотр экрана "под панелями" по Ctrl+O
При работе на консоли и в окне xterm MC позволяет посмотреть то, что "скрыто" под панелями, при помощи Ctrl+O -- так же, как и в NC. Но то, как MC выполняет команды, вводимые в его командной строке с клавиатуры, сильно отличается, и поэтому иногда он начинает "глючить" -- вводятся лишние символы ^H, а иногда MC заявляет, что "Shell is already running a command".
Чтобы избежать этих проблем, лучше Ctrl+O не пользоваться вовсе, а для того, чтобы видеть вывод команд, запускаемых из-под MC, можно в окне Options|Configuration... переключатель "Pause after run..." поставить в положение "alwaYs" -- после завершения каждой команды MC будет просить нажать любую клавишу.
Если клавиши не работают...
При использовании программы Telnet из Windows95/NT клавиши F5-F10 "не работают". Это происходит из-за того, что Telnet просто не передает их (другие подвиды telnet также иногда страдают подобным).
Выход очень простой -- вместо Fn всегда можно нажать Esc, а затем соответствующую цифру: F1 -- Esc,1, F10 -- Esc,0.
Кроме Fn бывают проблемы и с клавишами Ins, Home, End, PgUp, PgDn (с Del все еще хитрее). Хотя в MC и предусмотрено частичное решение проблемы -- Options|Learn Keys, реально проблема заключается в отсутствии в Unix четкого стандарта на эти клавиши и должна решаться по-другому. А практически во всех программах предусмотрены другие эквиваленты -- так, вместо Home во многих программах можно нажимать Ctrl+A, вместо End -- Ctrl+E.
Иногда при запуске MC (и не только) в окне xterm вместо рамок вокруг панелей и окошек ничего не рисуется, или изображаются какие-то странные символы. Это происходит из-за того, что в шрифте, используемом xterm, могут отсутствовать псевдографические символы (то же самое бывает и в Windows Telnet).
В этой ситуации можно запустить MC с ключом "-a", чтобы он для рисования рамок использовал символы +, -, |.