Открыть сервис

Midnight Commander: файловый менеджер

Midnight Commander (часто сокращается как mc) — консольный файловый менеджер с текстовым пользовательским интерфейсом для Unix-подобных операционных систем, а также Microsoft Windows. Программа предоставляет двухпанельный интерфейс для навигации по файловой системе, выполнения операций с файлами и каталогами, просмотра и редактирования файлов. Midnight Commander распространяется под лицензией GNU GPL и является свободным программным обеспечением.

История

Проект был основан в 1994 году финским программистом Мигелем де Икасой, который позднее стал известен как создатель рабочего окружения GNOME. Первоначально программа создавалась как клон популярного файлового менеджера Norton Commander для DOS, отсюда и произошло название. Разработка велась для операционной системы Linux, однако благодаря переносимости кода mc был портирован практически на все Unix-подобные системы, включая BSD, Solaris и macOS.

После того как де Икаса переключился на проект GNOME, развитие Midnight Commander продолжила группа энтузиастов. С 1998 года проект поддерживается международным сообществом разработчиков. Долгое время ведущим мейнтейнером являлся Павел Ширяев (также известный как tintin), который координировал выпуск релизов. Актуальные версии программы продолжают выходить, поддерживая современные операционные системы и новые стандарты терминалов.

Архитектура и интерфейс

Midnight Commander использует библиотеку ncurses для отрисовки интерфейса в текстовом терминале. Это позволяет программе работать без графической оболочки, по протоколам SSH и Telnet, а также на устройствах с минимальными ресурсами. Интерфейс разделён на две основные панели, отображающие содержимое двух каталогов. Между панелями можно переключаться клавишей Tab.

Каждая панель содержит список файлов и подкаталогов с указанием прав доступа, размера и времени модификации. В нижней части экрана расположена командная строка, куда можно вводить команды оболочки. Над командной строкой выводится строка функциональных клавиш, дублирующая основные операции (F1 — помощь, F3 — просмотр, F4 — редактирование, F5 — копирование, F6 — перемещение, F7 — создание каталога, F8 — удаление, F9 — меню, F10 — выход).

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

Ключевой особенностью Midnight Commander является поддержка виртуальной файловой системы (VFS). Она позволяет работать с данными, которые не являются обычными каталогами на диске. Например, пользователь может выполнить команду cd /tmp/archive.tar.gz — и mc отобразит содержимое архива как обычный каталог, позволяя копировать файлы внутрь и наружу. Поддерживаются форматы tar, gzip, bzip2, zip, rpm, deb и другие. Также реализована поддержка FTP и SFTP через VFS, что позволяет просматривать удалённые серверы в стандартном двухпанельном режиме.

Основные функции

Программа поддерживает полный набор операций с файлами: копирование, перемещение, переименование, удаление, изменение прав доступа и владельца. Операции выполняются как над одиночными файлами, так и над выделенными группами. Выделение файлов производится клавишей Insert или с помощью шаблонов (например, *.txt).

Встроенный редактор

Midnight Commander включает встроенный текстовый редактор mcedit. Он поддерживает подсветку синтаксиса для многих языков программирования, макрокоманды и настройку через конфигурационные файлы. Редактор ориентирован на работу в терминале и позволяет редактировать файлы как локально, так и через VFS. Дополнительно доступна утилита mcview для быстрого просмотра файлов с возможностью прокрутки и поиска.

Программа предоставляет настраиваемое меню пользователя, вызываемое клавишей F2. Пункты меню определяются в файле ~/.config/mc/mc.menu и позволяют выполнять произвольные последовательности команд оболочки. Это удобно для автоматизации рутинных задач, таких как упаковка файлов в архив или конвертация изображений.

Конфигурация

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

Применение

Midnight Commander широко используется системными администраторами и разработчиками для управления файлами на серверах без графического интерфейса. Благодаря низким требованиям к ресурсам и зависимости только от терминала, mc остаётся востребованным инструментом при администрировании по SSH. Программа входит в стандартные репозитории практически всех дистрибутивов Linux и устанавливается командой пакетного менеджера (например, apt install mc или dnf install mc).

В операционной системе Windows Midnight Commander доступен в составе пакета MSYS2 и Cygwin, обеспечивающих Unix-подобное окружение. Существуют также сторонние сборки для нативной работы, однако они менее распространены.

Производные проекты

На основе Midnight Commander создано несколько ответвлений. Наиболее известным является GNU Midnight Commander — версия, распространяемая в рамках проекта GNU. Существуют графические оболочки, имитирующие двухпанельный интерфейс mc, такие как GNOME Commander и Krusader, однако они не являются прямыми наследниками кода и используют собственные библиотеки.

Критика и ограничения

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

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →