Встроенный файловый менеджер linux

Midnight Commander — консольный файловый менеджер в Linux.

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

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

Что такое Midnight Commander.

GNU Midnight Commander — это визуальный файловый менеджер, работающий под лицензией GNU General Public License и поэтому квалифицируется, как свободное программное обеспечение. Это многофункциональное полноэкранное текстовое приложение, которое позволяет копировать, перемещать и удалять файлы и целые деревья каталогов, искать файлы и запускать команды в подоболочке. Так же включает в себя текстовый просмотрщик и редактор включены.

Установка Midnight Commander в Linux.

По умолчанию, Midnight Commander ( далее MC ) не установлен в Linux системах. Так что, перед тем как начать работать с ним, вам необходимо будет его установить. Для этого можно воспользоваться одной из следующих команд:

После завершения установки просто введите « mc » в консоли, чтобы запустить его.

Источник

Midnight Commander (Русский)

Состояние перевода: На этой странице представлен перевод статьи Midnight Commander. Дата последней синхронизации: 28 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

Читайте также:  Reading device file linux

Midnight Commander имеет графический интерфейс, который отображается в текстовом режиме. Он работает в обычной консоли, внутри терминала X и через SSH-соединение на всех видах терминалов.

Установка

Последняя нестабильная версия доступна в пакете mc-git AUR .

Дополнительные темы

Midnight Commander поставляется с большим числом встроенных тем. Вы можете выбрать тему в меню Настройки > Оформление.

Можно дополнительно установить сторонние темы:

  • mc-solarized-git — Цветовая схема Solarized
  • mc-skin-modarin-debian — Thin versions of the modarin theme

Использование

В этом разделе представлен краткий обзор использования Midnight Commander.

Интерфейс

Основой интерфейса являются две вертикальные панели. Каждая может отобразить содержимое каталога, показать предварительный просмотр обычного текста, сведения о файле или дерево каталогов (смотрите mc(1) § Directory Tree ). Операции с файлами доступны с помощью функциональных клавиш или мыши. Дополнительные параметры отображаются в динамическом меню пользователя ( F2 ) и меню параметров ( F9 ). Клавиши после F12 (от F13 до F20 ) доступны через Shift . Некоторые надписи в пунктах меню и диалоговых окнах имеют одну выделенную букву — нажатие этой буквы (или Alt+Буква , если фокус находится в поле ввода) сразу выполняет соответствующее действие.

Под панелями есть командная строка, в которой запущена командная оболочка. Она обычно относится к тому же типу, из которого был запущен mc. В неё можно переключиться ( Ctrl+o ), смотрите mc(1) § The subshell support . В этой командной строке команду cd обрабатывает сам Midnight Commander и не передаёт её оболочке для выполнения. Файлы в панели взаимодействуют с командной строкой; например, Alt+Enter копирует имя (выбранного) файла в командную строку.

Сочетания клавиш в целом аналогичны GNU Emacs. Можно включить более строгую раскладку клавиш emacs (смотрите mc(1) § Redefine hotkey bindings ). Однако новые пользователи могут использовать Lynx-подобные (стрелочные) привязки клавиш (включаются в меню Настройки > Настройки панелей) и клики мышью для навигации.

Поддержка мыши в виртуальной консоли Linux может быть получена с помощью GPM.

Модули

Их можно вызывать через интерфейс mc (с включенными пунктами Встроенный в меню Настройки > Конфигурация) или отдельно как символические ссылки на двоичный файл mc.

  • mcedit — Редактор текстовых и двоичных файлов с поддержкой замены с помощью регулярных выражений, подсветкой синтаксиса, макросами и shell piping, смотрите mcedit(1)
  • mcview — Просмотрщик текста и шестнадцатеричного кода с goto метками и поиском по регулярному выражению
  • mcdiff — Сравнивает и редактирует два файла на месте ( Ctrl+x d )
Читайте также:  Linux перезапустить службу сети

Можно запускать несколько модулей одновременно в пределах одного экземпляра mc и переключаться между ними с помощью Alt+` (смотрите mc(1) § Screen selector ). Вместо них можно использовать внешние редакторы и соответствующим образом настроить параметры.

Настройка

Большинство настроек Midnight Commander можно изменить из меню. Однако небольшое количество настроек, таких как команды буфера обмена, определение кодировки и параметры для внешних редакторов, меняется только через файл ~/.config/mc/ini . Описание настроек можно почитать в mc(1) § Special Settings .

Также для настройки используются следующие переменные окружения: MC_SKIN , MC_KEYMAP , MC_XDG_OPEN , MC_COLOR_TABLE , MC_DATADIR , MC_HOME , KEYBOARD_KEY_TIMEOUT_US , PAGER , EDITOR , VIEWER .

extfs

extfs позволяет легко создавать новые виртуальные файловые системы для mc. Для более подробной информации смотрите /usr/lib/mc/extfs.d/README .

Советы и рекомендации

Запуск из меню

Midnight Commander можно запускать из меню, создав файл desktop entry. Пример:

[Desktop Entry] Type=Application Version=1.0 Name=Midnight Commander Comment=Visual file manager Exec=mc Icon=folder MimeType=inode/directory Terminal=true Categories=Utility;

Поддержка корзины

Midnight Commander не поддерживает функцию корзины.

Использование libtrash

Библиотека libtrash перехватывает вызовы функций удаления файлов и вместо удаления выполняет перемещение файлов в корзину.

Установите libtrash AUR и создайте псевдоним для mc в файле инициализации вашей командной оболочки (например, ~/.bashrc или ~/.zshrc ):

alias mc='LD_PRELOAD=/usr/lib/libtrash.so mc'

Чтобы изменения вступили в силу, переоткройте сеанс терминала или просто выполните скрипт инициализации командой source.

Стандартные настройки библиотеки находятся в файле /etc/libtrash.conf.sys ; по умолчанию для корзины используется каталог ~/Trash/ . Вы можете переопределить их для текущего пользователя, создав пользовательский файл настроек ~/.libtrash , например:

TRASH_CAN = .Trash INTERCEPT_RENAME = NO IGNORE_EXTENSIONS= o;exe;com UNCOVER_DIRS=/dev

Теперь файлы, удаляемые через mc, будут попадать в каталог ~/.Trash/ .

  • У этого способа существует побочный эффект: программы, запущенные из mc наследуют переменную окружения LD_PRELOAD , которая может вызывать проблемы в их работе. Смотрите [1] для более подробной информации.
  • С установленной опцией GLOBAL_PROTECTION = YES (значение по умолчанию), файлы вне домашнего каталога будут попадать в корзину, даже если они находятся на другом разделе диска. Такие файлы фактически перемещаются копированием и удалением из исходного расположения, поэтому процедура удаления в корзину файла на другом разделе может занимать продолжительное время.

Решение проблем

Выход в текущий каталог

При выходе командная оболочка вернёт вас в тот каталог, в котором вы запустили Midnight Commander. Если вы хотите, чтобы оставался текущий каталог, выбранный в Midnight Commander, можно использовать специальный скрипт-обёртку, который выполнит переход в текущий каталог после закрытия mc. Добавьте алиас в ваш ~/.bashrc или ~/.zhsrc :

alias mc=". /usr/lib/mc/mc-wrapper.sh"

Теперь команда mc будет запускать этот скрипт-обёртку.

Читайте также:  Команда завершения работы линукс

Другим простым решением будет просто скрывать интерфейс, не прерывая сеанс программы, нажатием Ctrl+O . Однако это может мешать работе других приложений в терминале.

Искаженное изображение

Нажмите Ctrl+L для перерисовки интерфейса. Эта команда перерисует изображение, но не обновит список файлов в каталогах. Для обновления списка файлов на панелях используйте Ctrl+R .

Открытие файлов

Для открытия файлов mc считывает переменную окружения MC_XDG_OPEN (если она не указана, по умолчанию используется xdg-open). [3]

Если mc блокируется до завершения процесса или процесс завершается вместе с mc, используйте nohup & :

#!/bin/bash nohup xdg-open "$@" & 

И пропишите MC_XDG_OPEN соответственно:

$ export MC_XDG_OPEN=~/bin/nohup-open

Совет: Если вы настроили #Использование libtrash, также добавьте unset LD_PRELOAD перед xdg-open в этом скрипте.

Поиск файла ничего не находит

Если Поиск файла ничего не может найти, проверьте текущий каталог на наличие символических ссылок. Поиск файлов не переходит по символическим ссылкам, поэтому вместо них используйте bind mount (смотрите mount(8) ) или команду Внешняя панелизация.

Сломаны сочетания клавиш

С некоторыми определениями терминалов вроде screen-256color или xterm-termite сочетания клавиш, такие как Shift+F6 , могут не работать или работать как другие сочетания. Чтобы исправить это, назначьте последовательности терминала вручную в диалоговом окне Распознавание клавиш в настройках.

Настройки сохранятся в ~/.config/mc/ini , например для screen-256color :

[terminal:screen-256color] f1=\\eOP f2=\\eOQ f3=\\eOR f4=\\eOS f5=\\e[15~ f6=\\e[17~ f7=\\e[18~ f8=\\e[19~ f9=\\e[20~ f10=\\e[21~ f11=\\e[23~ f12=\\e[24~ f13=\\e[1\;2R f14=\\e[1\;2S f15=\\e[15\;2~ f16=\\e[17\;2~ f17=\\e[18\;2~ f18=\\e[19\;2~ f19=\\e[20\;2~ f20=\\e[21\;2~ complete=\\e^i backtab=\\e[Z backspace=^?

Нет жирного текста в urxvt

При запуске в urxvt с настройкой TERM по умолчанию, текст, который обычно выделяется жирным шрифтом во многих других терминалах, здесь не будет жирным. Корень проблемы в том, что xterm объединяет яркий цвет текста с атрибутом жирного шрифта (таким образом, яркие цвета всегда будут отображаться жирным шрифтом в xterm).

urxvt не имеет этого ограничения, которому следует Slang (библиотека, которую mc использует для отображения текста по умолчанию). Поскольку Slang может отделить полужирный атрибут от ярких цветов на urxvt, mc потребуется явно указать полужирный атрибут, если это необходимо (чего он не делает).

Решение состоит в том, чтобы настроить mc на явное использование полужирных цветов по желанию, например отредактировав скин по умолчанию следующим образом:

$ mkdir ~/.local/share/mc/skins $ cp /usr/share/mc/skins/default.ini ~/.local/share/mc/skins/ $ sed -i -E 's/^(.* = (gray|brightred|brightgreen|yellow|brightblue|brightmagenta|brightcyan|white);.*)$/\0;bold/' ~/.local/share/mc/skins/default.ini

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

Другой обходной путь — прописать TERM=xterm , однако это вызывает другие проблемы из-за несоответствия termcap/terminfo, например, некоторые клавиши не работают.

Смотрите также

Источник

Оцените статью
Adblock
detector