Гид по технологиям

Управление архивами с помощью Midnight Commander

• 6 min read • Linux • Обновлено 22 Nov 2025
Управление архивами в Midnight Commander
Управление архивами в Midnight Commander

Кратко: Midnight Commander (mc) — облегчает создание, просмотр и извлечение архивов прямо из консоли. В статье подробно описаны установка, основные сценарии работы с архивами, советы по объединению файлов в один архив, шпаргалка по клавишам и проверенные приёмы для безопасной работы.

Введение

Midnight Commander (обычно сокращённо MC или mc) — текстовый файловый менеджер с двумя панелями, удобный для работы на серверах и в терминале. Его виртуальная файловая система позволяет «входить» в архивы как в обычные директории: просматривать содержимое, копировать отдельные файлы наружу, удалять или дополнять архивы без явного распаковки и повторной упаковки.

Определение: виртуальная файловая система — механизм, позволяющий работать с содержимым архивов как с папками в интерфейсе mc.

Установка

На большинстве дистрибутивов Midnight Commander доступен в официальных репозиториях.

  • Debian / Ubuntu и совместимые:
sudo apt install mc
  • Red Hat / CentOS / Fedora:
sudo yum install mc
  • Arch Linux:
sudo pacman -S mc
  • openSUSE:
sudo zypper install mc

Порт для Windows также существует: установщик доступен на странице проекта на SourceForge — подходит для 32‑ и 64‑битных версий Windows.

Панель установки mc и скриншот установки

Важно: для установки требуется доступ root/использование sudo.

Первый запуск

Запустите mc командой:

mc

Интерфейс состоит из двух панелей. Активная панель (по умолчанию — левая) выступает как источник для операций, а неактивная — как назначение. Выделение файлов и простые операции выполняются клавишами F‑клавиш и клавишей Insert.

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

Клавиша Tab переключает активную панель. Функциональные клавиши F1–F10 соответствуют пунктам меню внизу экрана.

Сортировка файлов по расширению

Чтобы сгруппировать, например, изображения по расширениям, нажмите F9, выберите меню «Sort order …» и переключите сортировку на «Extension». После этого файлы будут отображаться по расширению, что удобно для массовых операций над похожими типами файлов.

Выбор порядка сортировки по расширению в mc

Сжатие отдельных файлов и папок

  1. Находясь в нужной папке, пройдитесь по списку и нажимайте Insert, чтобы пометить файлы/папки. Выбранные элементы выделяются другим цветом.

Выделение файлов в mc для архивации

  1. Нажмите F2 для доступа к файловому меню.

  2. Выберите «Gzip or gunzip tagged files» для gzip или «Bzip2 or bunzip2 tagged files» для bzip2 и подтвердите. Быстрые клавиши: Y — gzip, B — bzip2.

После выполнения mc вызовет временный shell‑процесс и создаст сжатые версии файлов в той же папке.

Пример сжатых файлов .gz рядом с исходниками

Совет: этот способ создаёт отдельные сжатые варианты для каждого файла. Если нужна одна упаковка для всей группы — используйте следующий раздел.

Сжатие всех выбранных файлов в единый архив

Midnight Commander не имеет встроенной команды «объединить в один архив» в базовом меню, но позволяет выполнить произвольную команду над помеченными файлами с помощью параметра %s, который заменяется списком файлов из активной панели.

  1. Пометьте файлы/папки (Insert).
  2. Нажмите F2, затем @ или выберите «Do something on the tagged files». Откроется строка ввода команды.
  3. Используйте синтаксис архива вашей любимой утилиты, подставив вместо списка файлов параметр %s.

Примеры команд:

# 7z (архиватор 7‑zip)
7z a ARCHIVE_NAME.7z %s

# tar.gz (архив tar, сжатый gzip)
tar -czf archive-name.tar.gz %s

# zip
zip -r archive-name.zip %s

Применение команды 7z через параметр %s в mc

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

Альтернатива: написать маленький скрипт‑обёртку, который читает список из STDIN или из файла и корректно экранирует имена — затем вызвать этот скрипт через @.

Извлечение и работа внутри архива

MC «монтирует» архивы как виртуальные директории. Чтобы просмотреть содержимое архива, просто выделите его и нажмите Enter — вы окажетесь внутри архива как в папке.

Просмотр содержимого архива внутри mc

Действия внутри архива:

  • F5 — копировать файл(ы) в директорию правой панели (извлечь);
  • F6 — переместить (извлечь и удалить из архива);
  • F8 — удалить файл из архива;
  • F2 → Z — «Extract compressed tar files to subdirectories» для быстрой распаковки всего архива;
  • Ctrl+O — временно скрыть mc и вернуться в shell, повторное нажатие вернёт mc;
  • F10 — выйти из mc.

Копирование файла из архива в файловую систему с помощью F5

Преимущество подхода: нет необходимости вручную распаковывать весь архив для доступа к отдельной единице данных.

Самораспаковывающиеся архивы

Если вы раскладываете архивы клиентам, которые могут не иметь нужных утилит, создавайте самораспаковывающиеся архивы (SFX) с помощью 7z:

7z a -sfx archive.exe files/

Полученный .exe будет распаковываться на Windows без сторонних программ. На серверах Linux этот формат редко нужен, но полезен для распространения архивов среди пользователей Windows.

Советы, когда mc не подходит

  • Если архив зашифрован нестандартным способом или использует редкий формат, mc может не поддерживать его напрямую.
  • Для массовой автоматизации на сервере удобнее использовать чистые командные утилиты (tar, zip, 7z) в скриптах, а не интерактивный mc.
  • При операциях с правами root соблюдайте осторожность: неправильный tar с опцией –overwrite может повредить файлы при распаковке.

Шпаргалка клавиш (чек‑шит)

mc            # запустить Midnight Commander
Insert        # пометить/снять пометку с файла
Tab           # переключить активную панель
F2            # меню команд по файлам (включая @ и сжатие)
F5            # копировать (извлечь) помеченные/выделенные файлы
F6            # переместить
F8            # удалить
F9            # доступ к верхнему меню (Sort order ...)
Ctrl+O        # переключиться в shell и обратно
F10           # выйти
Y / B         # в меню F2 — быстрые клавиши для gzip / bzip2
@
%s            # в режиме «Do something on tagged files» — параметр, подставляемый в команду

Проверочный чек‑лист перед архивацией (рекомендации для администратора)

  • Создать резервную копию важных файлов перед массовыми операциями.
  • Проверить права доступа и владельца файлов, чтобы не потерять метаданные (используйте tar для сохранения прав).
  • Если имена файлов содержат пробелы/спецсимволы — проверить корректность команды на тестовом наборе.
  • Использовать сжатие с сохранением символьных ссылок, если требуется: tar —h / –dereference или наоборот, в зависимости от задачи.

Роли и задачи: краткие чек‑листы

  • Системный администратор:

    • использовать tar/rsync для бэкапов;
    • тестировать команды через @ на немногих файлах;
    • автоматизировать рутинные операции в bash/python.
  • Разработчик / Desktop‑пользователь:

    • использовать mc для быстрого извлечения отдельных файлов;
    • создавать ZIP/7z для передачи наборов файлов пользователям.

Модель принятия решения (как выбрать подход)

flowchart TD
  A[Нужно быстро обработать файлы в терминале?] -->|да| B[Использовать mc]
  A -->|нет| C[Скрипты/GUI]
  B --> D{Нужно один файл или всё?}
  D -->|отдельные файлы| E[Открыть архив, F5 копировать]
  D -->|всё| F{Одна упаковка или отдельные .gz?}
  F -->|одна| G[Использовать @ + tar/7z]
  F -->|несколько .gz| H[F2 → Y/B]

Критерии приёмки

  • Можно без ошибок создать единый архив с набором помеченных файлов через @ и %s.
  • Можно извлечь отдельный файл из архива, не распаковывая целиком (F5).
  • Интерфейс mc корректно переключается между панелями и командами (Tab, F‑клавиши).

Частые ошибки и способы их устранения

  • Проблема: пробелы в именах приводят к ошибкам при использовании %s. Решение: протестируйте на копии; при необходимости используйте вспомогательный скрипт, который экранирует имена.

  • Проблема: архиватор отсутствует в системе (например, 7z не установлен). Решение: установить пакеты p7zip/7zip через менеджер пакетов.

  • Проблема: потеря прав при распаковке. Решение: использовать tar с ключами, сохраняющими права (например, tar -czpf).

Мини‑методология: безопасная работа с архивами в mc (5 шагов)

  1. Оцените набор файлов и потребность: единый архив или отдельные сжатия.
  2. Сделайте резервную копию критичных данных.
  3. Пометьте файлы в mc (Insert).
  4. Используйте F2 → @ + %s для объединения, либо F2 → Y/B для одиночных сжатий.
  5. Проверьте результат, открыв созданный архив и убедившись в целостности.

Глоссарий (одна строка)

  • %s — параметр mc, подставляющий список помеченных файлов;
  • SFX — самораспаковывающийся архив (self‑extracting);
  • VFS — виртуальная файловая система, позволяющая «заходить» в архивы.

Заключение

Midnight Commander — мощный инструмент для интерактивной работы с архивами в терминале: он ускоряет поиск и выбор файлов в папках, даёт удобный доступ к содержимому архивов и позволяет применять произвольные команды к помеченным файлам. Для автоматизации следует сочетать mc с командными утилитами и скриптами.

Важно: перед массовыми операциями всегда делайте резервные копии и тестируйте команды на небольшом наборе данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро