Десять советов для эффективного использования Midnight Commander. Midnight Commander(mc) консольный файловый менеджер для Linux

Midnight Commander (переводится как "полуночный командир ") - один из самых популярных файловых менеджеров в середе Unix. Имеет текстовый интерфейс, поэтому может работать как в голой консоле, так и в графической. Имеет огромное количество настроек и возможностей.
Возможности

  • Копирование и перемещение файлов
  • Работа с большинством архивов и образами файловых систем
  • Работа с сетевыми файловыми системами Samba, FTP, SFTP
  • Свой встроенный текстовый редактор с подсветкой синтаксиса.
  • Помимо обычного режима программа работает в различных эмуляторах терминала и через удалённые соединения, например, по протоколу SSH (через протокол telnet Midnight Commander работать не будет)
  • Многоязыковый интерфейс
  • Работа с различными кодировками
  • Имеет настраиваемое пользовательское меню

Многие пользователи используют Midnight Commander только для копирования/переноса файлов и их редактирования. Но стоит запомнить десяток хоткеев, как быстрота и эффективность вашей работы будет как минимум в два раза быстрее.
В данной статье я опишу не все хоткеи, а только удобные на мой взгяд. Кому это покажется мало, то в интернете или в справке можно найти все существующие комбинации клавиш.

Хоткеи для работы с файловой системой

Ctrl+\ - каталоги быстрого доступа.
Служат для быстрого перемещения по локальной файловой системе, а также для входа в сетевые папки (samba, ftp и др). Сначала задаем каталоги (сетевые папки) в которых мы работаем наиболее часто, а потом просто через ctrl+\ перемещаемся между ними.
Для добавления сетевых файловых систем есть специальный синтаксис. Полный синтаксис есть в справке Midnight Commander.
Добавить FTP - #ftp:user@host
Добавить samba - #smb:host/шара
Добавить scp - #sh:user@host или #sh:user@host:путь_до_каталога
Обычно после ввода сетевой папки требуется набрать пароль. Чтобы не спрашивал пароль для ftp его надо указать в подключении, что небезопасно, а для ssh существует .

Ctrl+s - поиск файла или папки в каталоге.
После ввода этой комбинации вводите первые буквы файла или каталога. Курсор будет перемещаться на соответствующие вводу файлы (каталоги). Всегда помните, что в Unix название файлов регистрозависимы и если файл называется с большой буквы, так и начинайте искать его с заглавной.

Alt+Enter (Ctrl+Enter, ESC+Enter) - копирования названия файла (каталога) под курсором в командную строку Midnight Commander.
Обычно применяется для операций над файлами и каталогами.

Insert - выделить отдельные каталоги, файлы.
Так же аналогом этой команды являются символ "* " и "+ ", которые служат для выделения файлов и группы файлов по заданной маске.

Ctrl+x c - визуальная команда chmod . (Сначала нажимается "ctrl+x", отпускается, потом нажать "c")
Раставляем (смотрим) права для файла (каталога), группы файлов каталогов. Для применения к группе, выбрать пункт (Set All - Установить все)
Замечание - для группы файлов просмотр не дает точной картины прав, права будут отображаться того файла или каталога, кто будет первый в списке.

Ctrl+x o - визуальная команда chown
Сменить, посмотреть владельца файла или каталога.
Замечание - для группы файлов просмотр не дает точной картины кто владелец, владелец будут отображаться того файла или каталога, кто будет первый в списке.

Alt+p, Alt+n (ESC+p, ESC+n) - последние выполненные команда p - предыдущая, n - следующая (если вы уже переместились в предыдущие команды)
В обычной консоли клавишами вверх вниз выбираются команды из уже набранных в текущем сеансе работы, в Midnight Commander посложнее, но привыкнуть можно

ESC+h - посмотреть всю историю команд
Просматривая историю можно подвести курсов к команде и нажать Enter, это скопирует команду в командную строку. Помните, что этим хоткеем можно пользоваться в любом меню где вы когда-то набирали команды. Если в конце строки в которой вы что-то набираете есть символ то значит для данной строки есть история команд.

Alt+? - поиск файла по файловой системе.
Чтобы набрать "?" требуется зажать клавишу Shift. Так что считайте, что надо нажать три клавиши одновременно.

ESC+a - скопировать путь до файла в адресную строку.
Очень полезно при создании символических ссылок через команду ln с конслоли.

Ctrl+x d - сравнивает файлы каталогов правой и левой панели.

Ctrl+x - Ctrl+s - изменить символическую ссылку
Сначала потребуется привыкнуть к такому длинному хоткею Сначала выполнить одно сочетание клавиш, а потом второе.

Ctrl+o - убрать правую-левую панель с экрана
Обычно применяется, чтобы посмотреть как завершилось предыдущее выполнение команды, так и просто чтобы поработать в обычной консоле.

Ctrl+R - обновление директории
Если в директории появился новый файл, например вы только что скачали его браузером, то чтобы файл отобразился требуется данный хоткей. Также работает на сетевых файловых системах.

Ctrl+L - очищает экран
Иногда после ввода паролей в командной строке или после запуска программ из Midnight Commander экран начинает выглядеть некорректно. По этому хоткею экран перерисовывается в нормальное состояние.

Ну и напоследок меня часто спрашивают, как делать автозавершение к командам (директориям). Фактически аналог незаменимой клавиши Tab в командной строке. Есть и такой хоткей..
ESC - Tab (Alt-Tab) - автодополнение к директориям (командам) в командной строке Midnight Commander, при необходимости требуется нажимать 2 раза.
На мой взгляд неудобный хоткей и из-за этого не такой эффективный. Мало того, что в большинстве оконных менеджеров альтернативное сочетние Alt-Tab работать не будет, т.к. обрабатывается оконным менеджером, но и обратите внимание, что клавиши надо наживать не одновременно, а последовательно.
2 раза требуется нажимать, если у начала команды (каталога) есть альтернативные окончания. Например хотим набрать команду "killall", набрали kill и жмем автодополнение. Т.к. есть еще просто команда "kill" то данный хоткей придется повторять два раза а потом увидем такое меню

Работа с файловым редактором

Shift+F4 - создать текстовый файл
Нижеприведенные хоткеи следует набирать в редакторе
F3 + стрелки курсора. Выделяем текстовый блок. F3 повторно закончить выделение.
F5 - копирование выделенного блока
F6 - перемещение выделенного блока
Shift+F5 - копирование блока в текстовый буфер файла. По умолчанию ~/.mc/cedit/cooledit.clip. Удобно если надо переносить выделенный текст между разными файлами
Ctrl+F5 - вставить весь текст из текстового буфера ~/.mc/cedit/cooledit.clip.
Shift+Del -удаляет выделенный блок и автоматом копирует его в текстовый буфер ~/.mc/cedit/cooledit.clip.
F4 - поиск с заменой
Shift+Insert - вставляет текст из буфера обмена

Настраиваемое пользовательское меню

Вызывается по клавише F2. Для изменения в данном меню требуется правка файла ~/.mc/mc.menu. Синтаксис файла читайте в справке.

Работа Midnight Commander с новыми типами файлов

Менеджер умеет работать с большинством архивов, прекрасно запускает видеофайлы и др. Но есть такие типы файлов, которые он не умеет обрабатывать. Чтобы научить его этого требуется правка файла расширений mc.ext . В большинстве случаев файл лежит в /usr/share/mc/ . Синтаксис файла тут более менее понятен - делайте по аналогии с такими же типами файлов Для каждого пользователя этот файл можно сделать персональным - скопировав файл в $HOME/.mc.ext

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

Статья просмотрена 27 719 раз

Вопрос 1

Почему Esc так странно себя ведёт?

Midnight Commander использует клавишу Esc как префикс для эмуляции клавиш Alt и Meta (для клавиатур, не имеющих эти клавиши). Например, нажатие клавиши "Esc" и потом "a" эквивалентно нажатию Alt+a (Meta+a) и т. д. Поэтому, если необходима сама Escape, нужно нажать клавишу "Esc" два раза.

Можно отключить такое поведение, добавив в свой ~/.mc/ini (или в общесистемный /etc/mc/mc.ini):

Old_esc_mode = 1

В данном случае после первого нажатия клавиши "Esc" на протяжении 500 миллисекунд (полсекунды) будет ожидание нажатия другой клавиши (полсекунды клавиша Esc будет считаться как Meta). По истечении этого времени клавиша Esc отработает как двойное нажатие.

Чтобы уменьшить время ожидания другой клавиши, используйте переменную окружения "KEYBOARD_KEY_TIMEOUT_US". Значение переменной указывается в микросекундах. Например, чтобы MC отработал нажатие клавиши ESC с задержкой в 25 миллисекунд, пропишите в ~/.bashrc:

Export KEYBOARD_KEY_TIMEOUT_US=25000

Начиная с версии 4.7.3, эта настройка доступна через конфигурационный диалог "Параметры конфигурации" (меню "Настройки" -> "Конфигурация...").

Вопрос 2

Как запустить mc с интерфейсом на другом языке(кодировке) ?

Вводим в командной строке "LANG=en_EN.UTF-8 mc" (английский), "LANG=ru_RU.UTF-8 mc" (русский UTF-8), "LANG=ru_RU.KOI8-R mc" (русский KOI8-R), "LANG=it_IT.UTF-8 mc" (итальянский UTF-8) и тд.

Панели

Вопрос 1

Хочу, чтобы при нажатии Enter на архиве tar.lzma МС заходил в архив, запускал просмотр видео по Enter, открывал файл при нажатии по F3, F4 и прочее.

Большая часть функционала уже есть в /etc/mc/mc.ext (для FreeBSD /usr/local/etc/mc/mc.ext). Файл ~/.mc/bindings полностью перекрывает эти настройки. Достаточно их перенести в bindings или по аналогии дописать свои.

Вопрос 2

Как создать новый файл средствами mc?

Для создания нового файла, так же само как и в FAR, достаточно нажать Shift+F4. Если вместо этого вы видите на экране "26~", то можно сделать так - F9 -> настройки -> Распознавание клавиш... -> "Функциональная 14" назначить Shift+F4.

Вопрос 3

У меня формат списка укороченный, как увидеть внизу более читабельный(удобный) размер файла?

Заходим F9-> Левая(Правая) панель -> Формат списка -> [x] Строка мини-статуса в формате пользователя -> half type name | size:4 | perm

Редактор

Вопрос 1

При копировании текста из редактора в буфер обмена тест вставляется с точками и "<---->" .

Убрать подсветку пробелов и таба можно, нажав "alt-shift- -".

Вопрос 2

При копировании из буфера обмена в mcedit отформатированного кода тест вставляется лесенкой .

В редакторе нажать F9-Настройки-Общая... - Автоотступ "Вводом", убрать галку.

Оригинал: Midnight Commander - A Console Based File Manager for Linux
Автор: Pungki Arianto
Дата публикации: 23 октября 2013 года
Перевод: А. Кривошей
Дата перевода: май 2013 г.

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

В консольном окружении для работы с файлами вы должны знать основные команды и их синтаксис. К счастью, в Linux также имеется текстовый файловый менеджер, работающий в консольном окружении. Он называется Midnight Commander (далее мы будем называть его просто MC).

Заголовки разделов

Сайт Midnight Commander говорит:
"GNU Midnight Commander - это визуальный файловый менеджер, распространяемый под лицензией GPL, и поэтому он квалифицируется как Free Software. Это мощная текстовая полнофункциональная программа, которая позволяет вам копировать, перемещать и удалять файлы и директории, производить поиск файлов и запускать на выполнение команды оболочки. Также включены встроенные редактор и программа для просмотра файлов".

Как установить Midnight Commander в Linux

По умолчанию MC, как правило, не устанавливается. В Debian, Ubuntu и Linux Mint вы можете установить его с помощью команды apt-get:

$ sudo apt-get install mc

В RHEL, CentOS и Fedora вы можете использовать команду:

# yum install mc

После завершения инсталляции просто введите "mc" (без кавычек) в консоли для его запуска.

Возможности Midnight Commander

MC имеет много полезных как для пользователей, так и для администраторов, функций.

Копирование, удаление, переименование/перемещение, создание директорий

Интерфейс MC разделен на две колонки, независимые друг от друга. Каждая колонка представляет активную директорию. Вы можете переключаться между ними с помощью клавиши Tab. В нижней части экрана вы можете видеть кнопки с номерами, которые относятся к функциональным клавишам F1 - F10.
Для копирования файла из одной директории в другую просто выделите его и нажмите "F5". Для копирования нескольких файлов сразу необходимо сначала выделить их с помощью клавиши "Insert".

MC запросит у вас подтверждения. Для начала копирования просто нажмите "OK".
Удаление файлов еще проще. Просто выделите файлы и нажмите "F8". Перемещение файлов выполняется с помощью клавишы "F6".
Однако переименование файлов немного отличается. Нажав клавишу "F6", вам необходимо ввести новое имя файла. Пример, как это делается, приведен ниже на скриншоте.

Для создания директории вы можете нажать "F7". MC создаст новую директорию в текущей. Чтобы узнать, что еще MC может делать с файлами, нажмите "F9" > File.

Встроенная утилита для просмотра файлов

В консольном режиме доступно множество текстовых редакторов, таких как vi, joe и nano. MC имеет свою встроенную программу для просмотра содержимого текстовых файлов. Для ее запуска выделите файл и нажмите "F3". Вы также можете при необходимости редактировать файл, выделив его и нажав "F4".
Когда вы запустите текстовый редактор в первый раз, MC попросит вас выбрать текстовый редактор по умолчанию:

Pungki@mint15 ~ $ Select an editor. To change later, run "select-editor". 1. /bin/ed 2. /bin/nano

Затем, когда вы нажмете клавишу "F4", MC будет использовать выбранный вами текстовый редактор. Если вы хотите изменить редактор по умолчанию, просто нажмите "F2", вы берите "@" и введите "select-editor" (без кавычек).

Что, если вы хотите использовать другой текстовый редактор, не обнаруженный MC? Допустим, вы хотите работать с Vi. Это можно сделать по другому. Найдите в своей домашней директории файл ".selected_editor". Это скрытый файл, поэтому он начинается с точки. Отредактируйте его следующим образом:

# Generated by /usr/bin/select-editor SELECTED_EDITOR="/usr/bin/vi"

Права доступа к файлам

Файлы и директории имеют права доступа, которые указывают, кто может читать, записывать и исполнять файлы и директории. Команда для управления правами доступа - chmod. Чтобы узнать, как нею пользоваться, наберите в терминале "man chmod".
В MC вам нужно только выделить файл, затем нажать "F9" > File > Chmod или "Ctrl-x" и "c". МС покажет вам текущие права доступа выделенного файла и параметры, которые можно изменить.

Владелец файла

Файлы и директории имеют своего владельца, а также группу владельца. Привилегии владельца управляются с помощью описанной выше команды chmod. Управление владельцами осуществляется с помощью команды chown.
Как обычно, чтобы узнать, как нею пользоваться, наберите в терминале "man chmod". В MC вам нужно просто выделить файл, затем нажать "F9" > File > Chown, или "Ctrl-x" и "o". Теперь вы можете задать владельца и группу владельца из списка доступных пользователей и групп.

У MC также есть функция "Advanced Chown", которая представляет собой комбинацию chmod и chown, позволяющая выполнять две описанные выше задачи в одном месте. Нажмите "F9" > File > Advanced Chown.

По умолчанию MC имеет двухпанельный интерфейс. Эти панели предназначены не только для локальных директорий. Вы можете подключить их к удаленному компьютеру по FTP.
В этом случае MC выступает в качестве FTP-клиента. Для подключения вам необходимо нажать "F9" > FTP Link. MC запросит данные для подключения в следующем формате:

User:password@machine_or_ip_address

Если введенные данные верны, в одной из панелей вы увидите список директорий удаленного компьютера.

Для отключения FTP-соединения вы можете нажать "F9" > Command > Active VPS Link. В списке директорий Active VFS вы увидите свое FTP-соединение. Выберите его и нажмите "Free VFSs". Если вы хотите просто переключиться на локальную директорию без разрыва FTP-соединения, выберите "Change to".

Если в вашей сети используется прокси-сервер, вы можете настроить MC на работу с прокси. Нажмите "F9" > Options > Virtual FS > Always use ftp proxy.

Выход из Midnight Commander

Чтобы выйти из Midnight Command, нажмите "F9" > File > Exit или "F10".

Для более детального ознакомления с возможностями MC, постетите Midnight Commander FAQ.

В другой своей заметке я уже писал о том, что главное требование, которое нужно предъявлять к компьютеру и операционной системе, - эффективность и скорость отклика. И действительно, кому нужны красивые графические интерфейсы с "удобными" кнопками, если для того, чтобы ими пользоваться, приходится применять крайне неэффективное устройство ввода - мышь? Время работы компьютера сейчас стоит намного дешевле, чем несколько десятков лет назад. Но ваше собственное время нужно экономить и использовать продумано. Компьютер достаточно быстро решает все задачи, но за их постановку приходится отвечать вам. Чем быстрее вы сообщите о том, что хотите получить, тем раньше компьютер приступит к решению проблемы.

Лично я уже давно отказался от использования файловых менеджеров с графическим интерфейсом и под Linux применяю исключительно Midnight Commander. И сейчас я дам несколько простых советов, которыми пользуюсь сам, чтобы достичь еще большей эффективности при работе с MC.

Если вам нужно часто переходить в одни и те же каталоги, то создайте для них закладки в "Каталогах быстрого доступа". Чтобы открыть соответствующее диалоговое окно в MC, нажмите сочетание клавиш Ctrl+\ . Если у вас еще нет закладок, то вы увидите следующее:

Первым делом вам нужно будет заполнить этот список. Для этого добавьте в него те каталоги, к которым вам требуется частый доступ. Удобнее всего это сделать, когда вы уже находитесь в нужном каталоге и вызвали диалоговое окно с помощью Ctrl+\ . В этом случае вам достаточно выбрать с помощью клавиши Tab пункт "Добавить текущий". Таким образом вы также можете сохранять параметры подключения к FTP-серверам или Shell-соединениям. При желании можно компоновать все по группам, создавая иерархические структуры, но это усложнит доступ и уменьшит преимущества от использования закладок.

Когда список будет скомпонован, то чтобы воспользоваться им в дальнейшем, вам вновь потребуется нажать Ctrl+\ . Однако теперь достаточно выбрать один из заранее подготовленных пунктов и нажать клавишу Enter . Для выбора пунктов эффективнее всего использовать цифровые клавиши 0 - 9 . Нажатие на ноль переводит вас к выбору первой строки, нажатие на единицу - на вторую строку и т.д. Однако Enter для подтверждения выбора нажать все равно придется. При этом учитывайте, что на первой позиции имеет смысл разместить самый часто вызываемый каталог, в который вы будете переходить чаще всего. Для меня таким каталогом служит домашняя директория. Если вы не будете забывать использовать закладки, то скоро доведете переход в часто используемые каталоги до автоматизма. И для этого потребуется не более 3 нажатий клавиш.

Если в какой-то каталог вы переходите относительно редко, то можете решить, что его не следует добавлять в закладки. И, скорее всего, окажетесь правы. Но если у него имеется хорошее запоминающееся имя, то пробираться к нему откуда-то издалека может оказаться слишком неэффективным и занять много времени. Для этой цели в MC предусмотрена функция "Смены рабочего каталога". Она вызывается с помощью комбинации клавиш Alt+C . Вот как оно выглядит:

В нем вы можете ввести полный или относительный путь к нужному каталогу, как вы сделали бы это с помощью команды cd . Например. вы можете нажать Alt+C , ввести /etc/mysql/ и нажать Enter . После чего окажетесь в каталоге с настройками MySQL , конечно, если он у вас, установлен.

Когда вы уже попали в нужный каталог, то настает время поиска файлов. Самым примитивным и неэффективным решением для этой задачи может оказаться ручной просмотр содержимого. Если вы знаете, что хотите найти, то ни в коем случае так не делайте. В MC для этого предусмотрены другие гораздо более эффективные методы.

Первый из них заключается в использовании "Быстрого поиска". Вызвать его можно с помощью комбинации клавиш Ctrl+S . Делать это нужно после того, как вы уже оказались в нужном каталоге и знаете, что файл расположен прямо в нем, а не в одном из его подкаталогов. Например, мы хотим скопировать файл библиотеки libQtGui.so из /usr/lib/ . Для этого сначала переходим в каталог с помощью "быстрого перехода" из второго совета. Затем нажимаем сочетание клавиш Ctrl+S и начинаем набирать *QtGui . Как вы уже поняли, быстрый поиск поддерживает шаблоны поиска. В результате выполнения этих действий вы увидите что-то подобное:

Близко, но это не тот файл, который нам нужен. Поэтому мы можем уточнить шаблон поиска и продолжить печатать до *QtGui.so , однако и это не приведет нас к успеху, поскольку для искомой библиотеки еще имеются символические ссылки. Чтобы продолжить поиск мы просто нажимаем еще раз комбинацию клавиш Ctrl+S и получаем следующее соответствие шаблону поиска, которое через несколько нажатий приведет нас к искомой библиотеке.

Но что делать в случае, если вы знаете имя файла и находитесь в нужном каталоге, но у него много подкаталогов, и вы не уверены, в каком из них находится искомый файл? Для этого в MC предусмотрено диалоговое окно "Поиск файла". Вызвать его можно с помощью комбинации клавиш Alt+? (не забудьте нажать Shift). Выглядит это диалоговое окно следующим образом:

Оно предоставляет весьма мощные возможности. Вы можете не только рекурсивно искать файлы по шаблону, но и учитывать при поиске содержимое файлов, для чего можете применять регулярные выражения. В примере, представленном на скриншоте, я осуществляю поиск всех cpp -файлов, в которых используется iostream . Следует заметить, что точно такого же результата вы могли добавиться с помощью комбинации утилит find и grep:

Find -type f -name "*.cpp" -exec grep -H "#include " {} \;

В конце предыдущего совета я показал, что то действие, которое позволяет выполнять MC, не намного сложнее выглядит в виде консольной команды. А бывают такие случаи, когда консольная команда оказывается более эффективной, намного более эффективной. Вы можете держать запущенным еще один экземпляр терминала или использовать вкладки, но это приведет к потере контекста. То есть скорее всего, команду нужно будет выполнить именно в том каталоге, который сейчас открыт с помощью MC. Консольные команды можно вводить в нем самом (в нижней части окна), но это не слишком удобно, хотя стоит признать, что иногда полезно. Такое ограничение связано с тем, что часть весьма эффективных комбинаций клавиш командных оболочек переопределены в MC и не могут быть использованы. Поэтому не забывайте про комбинацию клавиш Ctrl+O . С ее помощью вы сможете переключаться между консолью и сеансом MC.

Если вы еще не знаете, что именно ищете, то возможности поиска из третьего совета вам не помогут. Придется просматривать содержимое каталогов вручную. Но нужно делать это правильно. Интерфейс MC разбит на две панели. Используйте это по максимуму. Когда указатель MC находится над каталогом, содержимое которого вы хотите увидеть, то нажмите комбинацию клавиш Alt+O . В этом случае он откроется на соседней панели. А курсор на рабочей панели сдвинется на одну позицию вниз. Этот же прием будет работать и для просмотра содержимого каталога, который расположен на один уровень иерархии выше. Для этого нужно нажать Alt+O , когда курсор будет находиться над файлом, а не каталогом, или над обозначением родительского каталога /.. (в самом верху). Если же вы решите, что на второй панели имеет смысл отобразить тот же самый каталог, который сейчас открыт в рабочей панели, то нажмите сочетание клавиш Alt+I . Причем, на второй панели не только отобразится содержимое того же каталога, но и положение курсора у него будет установлено на том же файле или каталоге, который был выбран на рабочей панели в момент нажатия комбинации клавиш.

Я уже говорил, что мышь - это крайне неэффективное устройство ввода. Но и на клавиатуре пытайтесь все время держать руки в рабочей позиции над клавишами фыва и олдж. Если вы будете тянуться до клавиш стрелок, то просто потеряете время. Чем меньше движений, тем эффективнее вы работаете. К тому же, в MC все для этого предусмотрено. Вместо того, чтобы нажимать стрелку вверх, используйте сочетание клавиш Ctrl+P , а вместо стрелки вниз нажимайте Ctrl+N . Но и это еще не все. Вместо PgUp нажимайте Alt+V , а вместо PgDown - Ctrl+V . Если же вы захотите, чтобы курсор MC попал на верхний отображаемый в текущий момент файл, то нажмите Ctrl+G , если на нижний отображаемый файл, то Ctrl+J , а на средний - Ctrl+R . Еще одной полезной комбинацией клавиш из этого семейства является Ctrl+I . Ее использование равносильно нажатию клавиши Tab и позволяет переключаться между вкладками.

Пользоваться историей действий, которые вы уже делали, всегда правильно. Это же утверждение справедливо и для перемещения по каталогам. Крайне неэффективным выглядит переход в предыдущий каталог в MC через /.. , а если таких переходов было много или вы сделали "быстрый переход", воспользовавшись вторым советом? С помощью команды cd представленная задача решается достаточно легко:

Таким образом вы можете переместиться в предыдущий просматриваемый каталог с помощью простой команды. Но MC позволяет сделать то же самое еще эффективнее. Для этого достаточно нажать комбинацию клавиш Alt+Y . Однако MC идет еще дальше и позволяет ходить по истории каталогов в обе стороны. Например, вы случайно нажали лишний раз Alt+Y и ушли слишком далеко. В этом случае вернуться на один шаг вперед вы можете с помощью Alt+U .

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

Совет 8. Не вводите одни и те же команды более одного раза

В предыдущем совете мы поговорили об эффективном использовании истории перемещений по каталогам, но чем команды хуже? Например, для командой оболочки bash предусмотрено сочетание клавиш Ctrl+R . Оно позволяет по началу команды получить ее продолжение, если вы уже набирали ее полную версию хотя бы один раз. К сожалению, насколько мне известно, в MC такой функции не предусмотрено. Однако для некоторых простейших случаев может хватить и того, что в нем есть. Если вы выполнили в MC какую-нибудь простую команду, то повторить ее ввод вы можете с помощью комбинации клавиш Alt+P . Но как и в случае истории каталогов, вы можете перемещаться по истории команд назад и вперед. О том, как ходить назад нам уже известно, но вы могли догадаться и о комбинации клавиш для передвижения вперед: Alt+N . То есть прослеживается явная аналогия с сочетаниями клавиш для перемещений из шестого совета. Кроме того, вы можете вызвать диалоговое окно с историей команд с помощью Alt+H . По нему вы можете перемещаться с помощью Ctrl+P , Ctrl+N , Ctrl+V и Alt+V , как по содержимому панелей.

Предположим, что вам потребовалось скопировать все заголовочные h -файлы из текущего каталога на флешку, которая смонтирована в /media/flash_drive/ . Вы можете добиться этого относительно легко с помощью следующей команды:

Cp *.h /media/flash_drive/

Ничего сложно, но неужели нельзя сделать это в MC? - Конечно, можно. Если файлов мало, то вы можете просто выбрать их вручную с помощью Ctrl+T . Просто нажмите эту комбинацию, когда курсор MC будет расположен над нужным файлом, и он добавится к выделению. На другой панели откройте каталог назначения. Снова вернитесь на панель с файлами и нажмите F5 . Но если файлов много? Тогда этот вариант не пойдет, иначе вы потратите слишком много времени. Правильным вариантом является выбор файлов с помощью комбинации клавиш + (т.е. Shift+=). Вот какое диалоговое окно вы должны увидеть, если нажмете ее:

Я уже ввел шаблон поиска для заголовочных файлов, поэтому после нажатия Enter они будут отмечены и готовы к копированию. Все здорово, но что делать в случае, когда нам требуется скопировать все файлы, КРОМЕ заголовочных. На самом деле, все уже почти готово. Просто после выбора всех заголовочных файлов так, как мы уже сделали, нажмите * (т.е. Shift+8), что приведет к инверсии выбора. Таким образом, выделенными окажутся все файлы, кроме заголовочных.

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

Например, когда вы набираете новую команду в терминале, то всегда используйте автодополнение. Для bash и подобных ему автодополнение вызывается с помощью клавиши Tab . В MC Tab по умолчанию переключает вас между панелями и не может быть использован при вводе команд. Но ничего страшного. Вместо Tab используйте комбинацию Alt+Tab и все будет работать.

Если вам нужно выполнить в MC какую-то команду относительно нескольких файлов в текущем каталоге, то не набирайте их имена вручную. Выделите их, применив рекомендации из девятого совета, и нажмите комбинацию клавиш Ctrl+X T (сначала Ctrl+X , затем T). Это приведет к тому, что их имена добавятся к набираемой команде и могут быть использованы в качестве аргументов заранее набранной команды.

Заключение

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

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

Речь пойдет о программе Midnight Commander (сокращенно mc). Это мощный инструмент, часто доступный на unix-серверах. Тем, кто давно работает с файловыми менеджерами в семействе Windows, весьма похожими покажутся программы Total Commander или Far.

Чтобы запустить Midnight Commander, нужно соединиться с сервером по SSH с помощью программы Putty. Параметры соединения как правило те же, что используются для FTP. После авторизации введите команду mc и нажмите Enter. Если Midnight Commander установлен на сервере, то вы увидите вот такой экран.

Базовые операции над файлами

Экран разделен на две панели. В каждой с помощью стрелочек и Enter’а перемещаться по дереву папок. Мышь тоже поддерживается.

Со своими файлами вы можете производить стандартные операции: копирование (клавиша F5, в одной панели откройте папку с текущим файлом, в другой – папку, в которую хотите файл скопировать), перемещение (F6), переименование (тоже F6), удаление (F8), редактирование (F4), просмотр (F3). Подсказки по функциями внизу экрана.

Группы файлов можно выделять с помощью клавиш Insert и *.

Открыть в соседней панели ту же папку – Alt+i.

Как распаковать zip-архив

Ниже панелей есть командная строка. Введите в нее команду unzip имя_архива. Чтобы не перепечатывать имя архива в командную строку, выберите архив стрелками, потом нажмите Alt+Enter.

Для gzip-архивов используйте команду gunzip имя_архива.

Для файлов *.tar.gz используйте команду tar xvfz имя_файла.tar.gz.

Как создать новый текстовый файл

Нажмите Shift+F4.

Как узнать размеры всех каталогов

Нажмите Ctrl+Пробел.

Как временно свернуть Midnight Commander

Чтобы вернуться к полноэкранному режиму командной строки нажмите Ctrl+o. Нажав на эти кнопки еще раз, сможете вернуться к свернутому mc.

Эта возможность доступна только в случае, когда mc собран с subshell.

Как изменять разрешения файлов

Вы можете управлять владельцами файлов, группами, а так же правами на файл. К примеру, если требуется установить права 777 на директорию tmp, вам достаточно в верхнем меню выбрать File -> Chmod или Ctrl+x и потом c.

Если нужно изменить владельца файла или его группу (естественно при наличии таких полномочий в системе), вы можете использовать File -> Chown, или комбинацию Ctrl+x и после o.

Работа с другими удаленными серверами

Неплохо mc помогает взаимодействовать по протоколами передачи данных, таким как FTP/SSH/SMB.

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

Использование Shell и SMB не отличается от FTP – это дополнительные виды протоколов которые могут встречаться в сети, таким образом вы можете легко подключиться к Samba Share или даже выполнить ssh команду на удаленном сервере.

Настройки mc «под себя»

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

Другие настройки (настройки терминала, отображения тех или иных файлов при работе в менеджер) – Options -> Configuration.

Решение технических проблем

Отдельно стоит отметить раздел Display Bits и learn keys. В силу разных причин разности терминальной среды и клиентского ПО для использования mc могут возникать трудности, например, не все клавиши будут действовать или будут действовать не так как предполагается, первая закладка поможет отображать 8 bit символы, а вторая как раз таки поможет определить кнопки если они по какой-то причине сбились.

Для Linux серверов при работе из стандартного putty рекомендую использовать: "export LC_ALL=C" перед запуском mc, в этом случае проблем на Linux серверах не возникало, FreeBsd сервера ведут себя нормально с mc по умолчанию.

2) В некоторых типах терминала может быть полезен ключ "-d", отключает мышь, наблюдались случаи когда 1 движение мышки понималось MC как десятка два команд с клавиатуры. Но в целом не требуется, работает отлично и без него.

В стандартном случае запускается или без ключей или с ключем "-c" (включаем цвет).

У вас есть свои хитрости при работе с mc? Пожалуйста, напишите в комментариях.