Midnight Commander (MC) – курс выживания для владельцев веб-серверов
Как работает MC?
Как запустить MC
mc
в командной строке.brew install mc
в командной строке. Установить brew на Mac можно (если еще не установлен) выполнив команду /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
. Прочитать про него можно по ссылке https://brew.sh/Как устроен MC (анатомия файлового менеджера)
- Верхняя строка меню. Можно кликнуть мышкой или нажать F9 чтобы перейти в верхнее меню. Передвигаемся по нему стрелками. Выбор пункта меню – enter.
- Левая панель с файлами или служебной информацией.
- Правая панель с файлами или служебной информацией.
- Строка для исполнения терминальных команд
- Подсказка по назначению основных функциональных клавиш
Ctrl-o
(буква о) для того чтобы посмотреть вывод консольных команд или поработать с командной строкой. Назад можно вернуться нажав это сочетание повторно.Панели MC
- Список файлов (это то, что вы видите изначально)
- Информация (о файле и файловой системе)
Ctrl-x
i
(они указаны в меню). Нажимать их следует так - нажимаем Ctrl
, не отпуская ее, нажимаем x
, затем, отпустив обе клавиши, просто жмем i
. Включится режим отображения о файле и файловой системе. Выключается повторным нажатием на них же. Если не сработает, проверьте какой язык у вас включен на компьютере. Все работает только для английской раскладки.Ctrl-u
позволяет поменять панели местами. Просто для удобства. Но я почему-то этим пользуюсь часто.Поведение клавиши Esc
Копирование и вставка из буфера обмена
Ctrl-C
, Ctrl-V
.
Ctrl-C
в терминале Linux обычно нужен, чтобы остановить выполнение программы. Это сочетание работает как STOP (кстати, запомните, может пригодиться). А Ctrl-V
на вашем Windows терминале скорее всего просто не сработает.Ctrl-Insert
и Shift-Insert
. Лучше привыкните к ним. Тем более, что они работают вне зависимости от языковой раскладки.Shift-Insert
вставляет в терминал текст из буфера обмена. Для владельцев Mac – сочетание Ctrl-V
у вас должно работать в терминале, поскольку клавиши Insert у вас попросту нет.Shift
для Windows пользователей или c зажатой клавишей Option
для владельцев Mac. Помните об этом!Каталоги и файлы
-
Исполняемые файлыотображаются зеленым цветом и перед именем файла рисуется звездочка. В данном случае звездочка – это не часть имени!
-
Архивыотображаются цветом magenta (похож на розовый)
-
Файлы баз данныхотображаются красным цветом
Копирование, перемещение и переименовывание файлов
Ctrl-u
. Открыть на неактивной панели то же самое расположение, что и на текущей – Alt-i
или Option-i
нам Mac.F5
– копирование файлов и каталогов. Производится копирование того файла или каталога, на котором сейчас установлен курсор в место, отображаемое на другой панели MC. Перед копированием будет показано окно, в котором указано откуда файл копируется и куда. Там же можно подправить место назначения. Для начала процесса копирования, просто нажмите Enter
.
F6
– перемещение файлов и каталогов. Принцип аналогичен копированию, но исходный файл именно перемещается. Обычно этот процесс происходит быстрее копирования, если все делается в рамках одной файловой системы.
F6
– переименование файлов и каталогов. Эта же самая клавиша может использоваться и для переименования файлов и каталогов. В окне, которое показывает адрес назначения нужно просто набрать новое имя файла или каталога. Маленький совет – не надо кликать в эту строку курсором мыши – в этом случае, если вы начнете набирать новое имя, оно просто сотрет старое, когда вы нажмете первую букву. Это позволит вам сэкономить время на стирание введенных символов.
Обновление панелей
Ctrl-r
– панели не обновляются автоматически подобно тому, как это происходит у вас на компьютере. Надеюсь, вы это понимаете... Поэтому если вы следите за обновлением log файлов на компьютере или появлением новых архивов, которые формирует ваш скрипт, или еще какие-то изменения происходят с файлами на вашем сервере, то самое нужное для вас сочетание клавиш, это именно Ctrl-r
. Позволяет перечитать состояние файловой системы и отобразить все изменения на панели.Выделение файлов и каталогов
insert
или Shift-↑
Shift-↓
(Shift и стрелки вверх и вниз на клавиатуре). В случае, если имеются выделенные файлы, копирование производится именно выделенных файлов, а не того, на который указывает курсор.+
, которая расположена на цифровом блоке клавиатуры или обычный значок плюса +
. Удобнее всего использовать плюс из цифрового блока, потому, что не требуется нажатие Shift.Файл
.+
появится окно для ввода маски выделения. Обратите внимание, что здесь должна стоять звездочка, если вы хотите выделить все файлы и каталоги в текущем каталоге. Или явно указанная маска, для выделения по маске. Например, для выделения только файлов с расширением .log надо ввести *.log
-
– снимает выделение файлов по маске или, если в качестве маски введена звездочка (это значение по умолчанию), снимает выделение со всех файлов и каталогов в текущем каталоге.*
– Инвертирует текущее выделение выделение файлов. Прошу акцентировать внимание на слове "файлов". То есть, если выделены и файлы и каталоги, то инвертировать выделение получится именно для файлов. Кстати это самый быстрый способ выделить в каталоге только файлы. Достаточно просто нажать звездочку и все файлы в текущем каталоге окажутся выделены.Как узнать размер каталога
Ctrl-space
– это сочетание клавиш покажет размер текущего каталога, на который указывает курсор. К сожалению, на Mac это сочетание переключает раскладку языка. Поэтому для владельцев Mac придется размер каталога определять через меню F9->Команда->Размеры каталогов
.Перемещение по каталогам
Enter
на /..
позволит подняться на уровень выше. Быстрее переместиться к началу списка файлов в панели поможет клавиша Home
. Enter
на имени каталога – то вы войдете в этот каталог.Работа с архивами
Enter
. Правда, сразу нужно учитывать, что если архив большой, то реакция на нажатие Enter
последует не сразу. Задержка может доходить даже до десятка секунд – все зависит от мощности вашего сервера и размера архива. В этом случае после нажатия Enter
нужно просто подождать некоторое время.F5
. С точки зрения пользователя ничем не отличается от работы с каталогом.Alt-Enter
(или Option-Enter
на Mac) позволяет ввести в командную строку имя текущего файла или каталога. В таком случае разархивирование zip файла выглядит таким образом – мы наводим курсор на файл, набираем unzip в командной строке, нажимаем пробел и затем нажимаем Alt-Enter
. Все, у нас получилась готовая команда и нам осталось только нажать Enter
для ее запуска.Создание и удаление файлов и каталогов
F7
– создать папку в текущем каталоге (надеюсь все понимают, что не надо использовать *, +, и знак вопроса в имени?).F8
– удалить текущий файл или каталог (перед удалением вас переспросят – стоит ли это делать).Shift-F4
– создать новый файл. Будет открыт текстовый редактор, в котором вы сможете набрать содержимое файла. В момент сохранения (по F2
) или при попытке выйти из файла, вас попросят дать имя новому файлу.Просмотр и редактирование файлов
F3
– просмотр текущего файла (обычно срабатывает быстрее на больших файлах и гарантирует, что вы ничего случайно не поменяете в нем). Есть еще одно преимущество – строки можно как сворачивать, так и разворачивать по всей длине. Удобно просматривать таким образом log файлы. F2
– позволяет переключаться между свернутыми и развернутыми строками. F4
– позволяет увидеть 16-тиричный код символов. Очень полезно, если у вас неожиданно возникла неприятная проблема с BOM последовательностью в php файлах, которая способна свести с ума каждого отсутствием явно видимых ошибок в коде. Так вот этот режим позволяет своими глазами убедиться в наличии нечитаемых символов. Must have одним словом. F7
– поиск нужной строки в файле.F4
– редактирование текущего файла. Есть расцветка кода, что делает редактирование более приятным. Из необходимых команд – F7
– поиск нужной строки текста в файле и F4
– поиск и замена текста по всему файлу. Ctrl-y
– удаление строки, на которой находится курсор. С остальными возможностями можно ознакомиться, если нажать F1
.Shift
для Windows пользователей или c зажатой клавишей Option
для владельцев Mac. Просто выделяете текст и все – он уже в буфере обмена! Вставить можно с помощью Shift-Insert
для Windows или Ctrl-V
для Mac.Права доступа и владелец файла
Ctrl-x
c
– на всякий случай напоминаю – после нажатия Ctrl-x
отпускаем обе клавиши и потом нажимаем c
. Обязательно нажимаем в английской раскладке.Ctrl-x
o
– сменить владельца файла.F9 -> Файл -> Права (расширенные)
.r
w
x
. Переход можно делать стрелками или табуляцией. Выбор владельца файла осуществляется путем нажатия Enter
, когда курсор переходит на нужный пункт.Подключение по FTP, SFTP или SSH (Виртуальные файловые системы)
astra
. Где astra – это имя вашего сервера.F1
, когда откроется соответствующее окошко подключения.sh://Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. /var/www
. Пароль в строке не передается. Подключение либо по ключам, либо пароль у вас спросят в процессе подключения. Здесь первые символы до двух косых черт – это тип подключения, затем идет адрес сервера и потом место в файловой системе сервера куда нужно подключиться.F9 -> Настройки -> Виртуальные ФС
F9 -> «Команда» -> «Список активных ВФС»
. При необходимости ненужные можно отключить.Выход из MC
F10
– выйти из MC. Не забывайте это сделать, если у вас включен режим Ctrl-o
. После выхода из MC можно закрыть окно подключения по SSH с помощью Ctrl-D
.Решение различных проблем с MC
Если панели стали разной ширины, это, вероятно, произошло из-за случайного нажатия комбинации клавиш или действий мыши.
Чтобы сделать панели одинаковой ширины: Нажмите Alt (option) + = (удерживайте клавишу Alt (Option) и нажмите =). Это вернет панели к одинаковой ширине.
Обычно такая ситуация бывает на дистрибутивах Linux отличных от AlmaLinux, но разобрать эту ситуацию нужно.
Если вы видите черный экран вместо ожидаемого редактора mcedit (редактор по умолчанию для mc), то вы, вероятнее всего, попали в один из редакторов по умолчанию вашей операционной системы.
Обычно таких редакторов бывает два – nano (из которого можно выйти просто нажав Ctrl-X (Control-X на Мак) или vim.
Определить nano очень просто – его подсказки по горячим клавишам находятся внизу (там и написано про Ctrl-X), а вот vim у незнакомого человека может вызвать ступор. Черный экран с текстом вашего файла и нет никакой реакции на нажатия привычных клавиш – это введет в ступор любого, кто впервые сталкивается с vim.
Поэтому сейчас ваша первая цель – выйти из vim.
Если вы находитесь в командном режиме (и не вводите текст), наберие :q!
и нажмите Enter
. Эта команда позволит вам выйти без сохранения изменений. Обратите внимание, что это подразумевает нажатие на двоеточие (при этом курсор переместится в нижнюю часть экрана, где и будут набираться остальные символы), а затем, после того, как нажали двоеточие, нужно набрать букву q
и восклицательный знак. Обратите внимание на выбранный язык и регистр клавиатуры – двоеточие у вас может просто не нажаться, если вы будете делать это на другом языке, а вводимые символы вы не увидите.
Если вы находитесь в режиме ввода (редактирование текста), сначала нажмите Esc
, чтобы перейти в командный режим, а затем следуйте инструкциям из предыдущего пункта.
Когда вы вышли из редактора и оказались в MC или командной строке, можно сменить редактор по умолчанию для MC. Это очень просто делается в настройках самого MC.
- Перейдите в главное меню, нажав F9.
- Выберите пункт "Команда" (или "Command" на английском) и найдите пункт "Встроенный редактор" (или "Use Internal editor" на английском).