Осваиваем эффективную работу в Midnight Commander

  • Автор:

midnight-commander-tips-and-tricks-000.pngMidnight Commander - популярный двухпанельный файловый менеджер, широко распространенный в UNIX-like операционных системах, он должен быть знаком каждому, кто хоть раз работал в консоли. Но, как показывает практика, не все администраторы в полной мере используют все возможности данного приложения, ограничиваясь только базовыми, что может приводить к определенным неудобствам. Поэтому сегодня ы расскажем о возможностях Midnight Commander и приемах, способных сделать работу в нем удобной и эффективной.

Midnight Commander, он же mc, относится к тому ПО, которое ставится на сервер в первую очередь. Если вы подключились к уже настроенному серверу, то он там с очень большой вероятностью уже будет. Установить его также несложно:

apt install mc

Для запуска выполните простую команду:

mc

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

midnight-commander-tips-and-tricks-001.pngОсновы навигации должны быть известны всем, но тем не менее повторимся: для перемещения внутри панелей следует использовать клавиши со стрелками, PageUp и PageDown прокручивают содержимое на размер экрана вверх или вниз, а Home и End перемещают в начало или конец списка, для переключения панелей используется Tab, сочетание клавиш Ctrl + o сворачивает панели и дает доступ к консоли, повторное нажатие этих же клавиш восстанавливает панели.

Нижнее меню предлагает ряд часто используемых действий, привязанных к функциональным клавишам Fn, цифра, написанная около пункта меню, обозначает номер функциональной клавиши, например, F5 - копирование, F8 - удаление. Клавиша F9 перемешает нас в верхнее меню менеджера, навигация по которому осуществляется с помощью клавиш со стрелками.

Разделы Левая панель и Правая панель верхнего меню идентичны и содержат настройки отображения панелей, также отсюда можно инициализировать внешнее FTP или SSH соединение, после чего панель будет отображать содержимое удаленного узла.

midnight-commander-tips-and-tricks-002.png

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

midnight-commander-tips-and-tricks-003.pngРаздел Команда предоставляет доступ к возможностям самого файлового менеджера, управлению панелями и доступ к некоторым системным функциям:

midnight-commander-tips-and-tricks-004.pngВ Настройках находятся собственно настройки, на которых мы остановимся подробнее, потому как ряд опций следует включить практически сразу же, так как они сильно влияют на удобство работы.

midnight-commander-tips-and-tricks-005.pngБольшинство пользователей mc используют встроенный редактор mcedit, если вы входите в их число, то сразу включите его использование в разделе Конфигурация.

midnight-commander-tips-and-tricks-006.pngА в разделе Подтверждение включите запрос подтверждения на выход из менеджера, что избавит вас от случайного закрытие приложения при нажатии на клавишу F10.

midnight-commander-tips-and-tricks-007.pngПосле чего не забудьте сохранить настройки, через одноименный пункт в меню, настройки менеджера индивидуальны для каждого пользователя и хранятся в ~/.config/mc.

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

midnight-commander-tips-and-tricks-008.pngНо это простая задача, гораздо чаще требуется отобрать файлы по какой-то маске, скажем по части имени или расширению. Midnight Commander умеет и это, нажмите в списке файлов клавишу +, после чего укажите маску отбора, допустимо использовать регулярные выражения.

midnight-commander-tips-and-tricks-009.pngНапример, указанная выше маска в нашем случае выделит файлы conf1 и file1. Существует также и обратная возможность - снять выделение по маске с части файлов, для этого используйте клавишу -, принцип действия точно такой же, как и в предыдущем примере. Использование этих возможностей достаточно удобно, скажем, быстро выделить группу файлов по широкой маске, затем снять выделение с некоторых по более узкой. Для того, чтобы инвертировать выделение можно использовать клавишу *, но учтите, что это работает только для файлов.

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

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

В этих полях мы можем использовать подстановочные символы: * - для группы символов и ? - для одиночного в шаблонах источника, а в шаблоне приемника указать \n - где n - номер символа или группы символов. Самый простой пример: мы хотим переместить файлы conf1 - conf3 и переименовать их в config1 - config3. Нет ничего проще, выделяем все три файла, шаблон источника заполняем маской по числу символов в исходном имени - ?????, а шаблон приемника указываем как config\5 - т.е. добавить к указанному имени пятый символ из источника.

midnight-commander-tips-and-tricks-010.png

Возьмем задачу посложнее, допустим у нас есть файл myservice.conf и мы хотим при копировании поменять местами имя и расширение. В шаблоне источника разделим исходное имя на группы символов: *.*, а в шаблоне приемника укажем \2.\1. Первое выражение указывает, что у нас до точки одна группа символов, а после нее другая. Второе предписывает сначала поставить вторую группу символов, затем точку (она не входит ни в одну группу), а после нее вывести первую.

Еще сложнее, допустим мы хотим вместо myservice.conf получить servicemy.conf, в этом случае исходный шаблон будет выглядеть так: *s*.*, мы поделили имя на три части, разделители s и точка. Шаблон приемника укажем как: s\2\1.\3 - т.е. выводим сначала первый символ разделитель, потом вторую группу символов, за ней первую, точку и третью группу.

midnight-commander-tips-and-tricks-011.png

Как видим - возможности весьма богатые и освоив их вам не составит особого труда скопировать, скажем, фотографии с карты памяти, попутно переименовав их из какого-нибудь DSCN0439.JPG в Poezdka_more_2019_039.jpg.

Следующая, часто встречающаяся задача - это изменение прав или владельца объекта. Используйте сочетание клавиш Ctrl + x c (набирается как одновременное нажатие Ctrl и х, затем с) для изменения прав. Можно выделить и изменить права сразу нескольким объектам, но при этом вам будут показаны текущие права только первого выбранного файла.

midnight-commander-tips-and-tricks-012.pngДля изменения владельца нажмите Ctrl + x o, как и в предыдущей команде вы можете сделать это для группы объектов, но увидите текущего владельца только у первого выбранного.

midnight-commander-tips-and-tricks-013.pngЗа поиск отвечает сочетание Ctrl + s, после чего просто начинайте вводить имя файла:

midnight-commander-tips-and-tricks-014.pngДля быстрого создания жесткой или символической ссылки используйте: Ctrl + x l и Ctrl + x s. Учтите, что по умолчанию жесткая ссылка создается в текущем каталоге, а символическая в каталоге неактивной панели.

midnight-commander-tips-and-tricks-015.pngТакже у любого системного администратора есть расположения, куда ему нужно переходить достаточно часто, чтобы каждый раз не путешествовать по дереву каталогов можно добавить их в список быстрого доступа, для этого, находясь в целевом каталоге нажмите Ctrl + x h. Чтобы вызвать список быстрого доступа следует нажать Ctrl + \.

midnight-commander-tips-and-tricks-016.pngПассивную панель можно использовать для получения информации о текущем файле или отображении его содержимого. Для переключения в режим отображения информации нажмите Ctrl + x i:

midnight-commander-tips-and-tricks-017.pngЧтобы просматривать в пассивной панели содержимое - используйте комбинацию клавиш Ctrl + x q:

midnight-commander-tips-and-tricks-018.pngЧтобы вернуться в обычный режим - выполните указанное сочетание клавиш еще раз.

Еще одна удобная функция - открыть в пассивной панели каталог под указателем, для этого нажмите Alt + o:

2020-10-31_23-49-15.png

Сравнить содержимое двух каталогов можно сочетанием клавиш Ctrl + x d с обоих сторон будут выделены различающиеся файлы, вы сразу можете перейти в нужную панель и выполнить действия над ними, например, копирование или перемещение.

midnight-commander-tips-and-tricks-020.pngЧтобы сравнить содержимое файлов следует последовательно нажать две комбинации клавиш Ctrl + x и Ctrl + d откроется специальный редактор, в котором вы сможете отредактировать сравниваемые файлы или выполнить их слияние.

midnight-commander-tips-and-tricks-021.png

Отдельного разговора заслуживает встроенный редактор - mcedit, его можно использовать как в составе оболочки Midnight Commander, так и отдельно, для редактирования файла в данном редакторе достаточно выполнить команду:

mcedit filename

где filename - имя требуемого файла. В составе оболочки для редактирования файла под выделением нажмите F4, для создания и редактирования нового файла в текущей директории нажмите Shift + F4.

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

midnight-commander-tips-and-tricks-022.pngДля перехода в режим выделения нажмите F3, затем при помощи клавиш со стрелками выделите необходимый участок текста, завершив выделение нажмите F3 повторно, чтобы выйти из режима. Затем переместите курсор в нужное место и нажмите F5 чтобы скопировать выделенный участок или F6, чтобы его переместить. Для вставки текста из буфера обмена нажмите Shift + Insert, если вы работаете через SSH, то будет использован буфер локального ПК, это удобно, вы можете копировать команды на своем компьютере и вставлять их в файл на удаленном сервере.

Если же нужно перенести текст между локальными файлами на сервере, то следует использовать файл буфера обмена. Чтобы скопировать в него выделенный участок следует использовать сочетание клавиш Ctrl + Insert, для вырезки - Shift + Del. Вставить содержимое файла буфера обмена в файл можно сочетанием Shift + F5. Отменить действие можно нажатием Ctrl + u

Нажатие F4 вызывает функцию поиска с заменой:

midnight-commander-tips-and-tricks-023.pngКак видим, Midnight Commander - это достаточно мощный и удобный инструмент, позволяющий значительно упростить работу в консоли, поэтому уметь эффективно работать с ним должен каждый системный администратор. В данной статье мы перечислили далеко не все возможности этого замечательного менеджера, чтобы узнать больше - воспользуйтесь встроенной справкой, она вызывается нажатием клавиши F1.

midnight-commander-tips-and-tricks-024.png

Дополнительные материалы:


  1. Linux - начинающим. Часть 1. Первое знакомство
  2. Linux - начинающим. Часть 2. Установка Ubuntu Server
  3. Linux - начинающим. Часть 3. Установка Debian 7 для сервера
  4. Linux - начинающим. Часть 4. Работаем с файловой системой. Теория
  5. Linux - начинающим. Часть 4. Работаем с файловой системой. Практика
  6. Linux - начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
  7. Linux - начинающим. Часть 6. Управление пользователями и группами. Теория
  8. Linux - начинающим. Часть 6. Управление пользователями и группами. Практика
  9. Настройка языка и региональных стандартов в Ubuntu Server/Debian
  10. Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
  11. Linux - начинающим. Что такое Load Average и какую информацию он несет
  12. Обновляем снятый с поддержки дистрибутив Ubuntu
  13. Осваиваем эффективную работу в Midnight Commander