Хотя для управления файловой системой и вообще для работы с файлами можно использовать такие команды операционной системы, как pwd, ls, cd, mv, mkdir, rmdir, cp, rm, cat, more и т. д., гораздо удобнее делать большую часть работы по обслуживанию файловой системы с помощью программы Midnight Commander, которая наглядно представляет все выполняемые действия, облегчая тем самым выполнение указанных операций.
Midnight Commander (или просто mc ) - это программа, которая позволяет просмотреть структуру каталогов и выполнить основные операции по управлению файловой системой. Другими словами, это файловый менеджер. Если вы имеете опыт работы с Norton Commande r ( nc ) в MS-DOS или с FAR в Windows, то вы легко сможете работать и с mc, поскольку даже основные комбинации "горячих клавиш" у них совпадают. В этом случае для того, чтобы работать с Midnight Commander, вам достаточно бегло просмотреть приводимый ниже материал. Для тех же, кто не знаком с nc или FAR (да есть ли такие?), рекомендую внимательно проработать этот раздел, потому что Midnight Commander существенно облегчает работу с операционной системой.
Примечание Приводимое в данной лекции описание составлено применительно к версии 4.5.30 программы, хотя может использоваться и для других версий. |
Примечание Данное описание полностью применимо только в тех случаях, когда программа запущена с терминала. Когда работа производится через |
В большинстве дистрибутивов программа Midnight Commander не устанавливается автоматически при инсталляции системы. Но соответствующий rpm-пакет, как правило, имеется на дистрибутивном диске, и установка Midnight Commander из rpm-пакета проходит без каких-либо сложностей (о том, как произвести установку ПО из rpm-пакета, см. лекцию 10). А, поскольку наличие этой программы существенно облегчит Вашу дальнейшую жизнь, я настоятельно рекомендую вам установить ее сразу же, как только вы произвели установку ОС.
Для того, чтобы запустить Midnight Commander, надо набрать в командной строке оболочки mc и нажать <Enter>. Если программа не запустилась, надо найти, где расположен исполняемый файл с именем mc, воспользовавшись командой find / -name mc, после чего указать в командной строке полный путь, например, у меня это /usr/bin/mc. После запуска вы увидите голубой экран, очень напоминающий экран программы FAR Е. Рошаля, которая широко используется в DOS-окне под Windows.
(рис 6.1) Внешний вид экрана при работе с Midnight Commander
Почти все пространство экрана при работе с Midnight Commander занято двумя "панелями", отображающими списки файлов двух каталогов. Над панелями расположена строка меню, причем к выбору команд в этом меню можно переключиться по клавише <F9> или с помощью мыши (если сразу после запуска mc вы не видите строки меню, не огорчайтесь - видна или нет строка меню, определяется настройками программы).
Самая нижняя строка представляет собой ряд экранных кнопок, каждая из которых ассоциирована с одной из функциональных клавиш <F1> - <F10>. Можно считать эту строку подсказкой по использованию функциональных клавиш, а можно и непосредственно запускать соответствующие команды, щелкая мышкой по экранной кнопке. Отображение строки с экранными кнопками можно отключить, если вы хотите сэкономить пространство экрана (об этом будет рассказано позже, когда будем говорить о настройках программы). Такая экономия оказывается оправданной по двум причинам. Во-первых, вы достаточно быстро запомните назначение этих 10 клавиш, и подсказка вам становится не нужна (а мышкой по этим клавишам щелкать не всегда удобно). Во вторых, если даже вы забыли, какая именно клавиша вам нужна для выполнения необходимого в данный момент действия, вы всегда можете воспользоваться меню Файл главного меню программы (только помните, что выход в главное меню осуществляется по клавише <F9>). Через меню Файл обеспечивается возможность выполнения любой операции из числа ассоциированных с функциональными клавишами кроме <F1> и <F9>.
Вторая снизу строка на экране - это командная строка программы Midnight Commander (точнее - командная строка текущей оболочки shell ), где можно ввести и выполнить любую команду системы. Выше нее (но под панелями) может отображаться поле "полезных советов" (hint4s), которое можно убрать, соответствующим образом отрегулировав настройки программы.
Каждая панель состоит из заголовка, списка файлов какого-либо каталога и строки мини-статуса (последняя может быть не видна, это тоже задается настройками программы). В заголовке панели указан полный путь к каталогу, содержимое которого отображается в панели, а также три экранных кнопки - "<", "v" и ">", которые используются для управления программой с помощью мыши (эти кнопки не работают, если вы запустили mc в эмуляторе терминала). В строке "мини-статуса" отображаются некоторые данные о том файле или каталоге, на который в данный момент указывает подсветка (например, размер файла и права доступа к нему).
Одна из панелей является текущей (активной), о чем свидетельствует подсветка имени каталога в заголовке панели и подсветка одной из ее строк. Соответственно, в той оболочке, из которой была запущена программа Midnight Commander, текущим является каталог, отображаемый в активной панели. В этом каталоге и выполняются почти все операции. Операции типа копирования (<F5>) или переноса файла (<F6>) используют каталог, отображаемый на второй панели, в качестве целевого каталога (в который осуществляется копирование или перенос).
В активной панели одна строка выделена подсветкой. Подсветку можно перемещать с помощью клавиш управления перемещением. Встроенная программа просмотра файлов, программа просмотра подсказки и программа просмотра каталогов используют один и тот же программный код для управления перемещением. Следовательно, для перемещения используются одни и те же комбинации клавиш (но в каждой подпрограмме имеются и комбинации, применяющиеся только в ней). Приведем краткую таблицу, в которой перечислены общие клавиши управления перемещением.
| Клавиша | Выполняемое действие |
|---|---|
| <Стрелка вверх> или <Ctrl>+<P> | Перемещение на одну строку назад или вверх |
| <Стрелка вниз> или <Ctrl>+<N> | Перемещение на одну строку вперед |
| <PageUp> или <Alt>+<V> | Перемещение на одну страницу назад |
| <Page Down> или <Ctrl>+<V> | Перемещение на одну страницу вперед |
| <Home> | Перемещение к началу |
| <End> | Перемещение к концу |
При работе с программой Midnight Commander практически в любой момент можно обратиться к интерактивной подсказке, вызов которой осуществляется нажатием клавиши <F1>. Подсказка организована как гипертекст, т. е. в ее тексте встречаются гипертекстовые ссылки на другие ее разделы. Такие ссылки выделены голубым фоном.
Для перемещения в окне просмотра подсказки вы можете использовать клавиши перемещения курсора (стрелки) или мышь. Кроме общих комбинаций управления перемещением, приведенных в табл. 6.1, программа просмотра помощи воспринимает также комбинации, используемые в подпрограмме просмотра файлов:
| Клавиша | Выполняемое действие |
|---|---|
| <B> или <Ctrl>+<B> или <Ctrl>+<H> или <Backspace> или <Delete> | Перемещение на одну страницу назад |
| <Пробел> | Перемещение на одну страницу вперед |
| <U> ( <D> ) | Перемещение на половину страницы назад (вперед) |
| <G> (<Shift>+<G>) | Перемещение к началу (к концу) |
Кроме уже перечисленных комбинаций клавиш могут быть использованы еще некоторые, работающие только при просмотре подсказки (они приведены в табл. 6.3).
| Клавиша | Выполняемое действие |
|---|---|
| <Tab> | Переход на следующую ссылку |
| <Alt>+<Tab> | Переход на предыдущую ссылку |
| <Стрелка вниз> | Переход на следующую ссылку или смещение текста на одну строку вверх |
| <Стрелка вверх> | Переход на следующую ссылку или смещение текста на одну строку вниз |
| <Стрелка вправо> или <Enter> | Переход по текущей ссылке |
| <Стрелка влево> или <L> | Возврат к ранее просмотренным разделам подсказки |
| <F1> | Помощь по использованию самой подсказки |
| <N> | Переход к следующему разделу помощи |
| <P> | Переход к предыдущему разделу помощи |
| <C> | Переход к оглавлению подсказки |
| <F10>, <Esc> | Выход из окна просмотра подсказки |
Вы можете использовать клавишу пробела для перехода к следующей странице подсказки и клавишу <B> для перехода к предыдущей странице. Программа запоминает последовательность переходов по ссылкам и позволяет вернуться к ранее просмотренным разделам, воспользовавшись клавишей <L>.
Если включена поддержка мыши, то при просмотре подсказки можно пользоваться мышью. По щелчку левой клавиши мыши происходит переход по ссылке или перемещение по тексту подсказки. Щелчок правой кнопкой мыши используется для перехода к ранее просмотренным разделам.
Программа Midnight Commander обеспечивает поддержку мыши. Это свойство реализуется, если запущен драйвер мыши , независимо от того, работаете ли вы на консоли Linux или программа Midnight Commander запущена через терминал xterm (даже если вы используете соединение с удаленной машиной из xterm через telnet, rlogin или ssh ).
Щелчком левой кнопки можно переместить подсветку на любой файл любой из панелей. Для того, чтобы отметить (выделить) любой файл, достаточно щелкнуть правой кнопкой мыши на имени файла. Для снятия отметки используется та же правая кнопка.
Двойной щелчок левой кнопкой мыши на имени файла означает попытку запустить файл на исполнение (если это исполняемая программа); либо, если файл расширений содержит программу, ассоциированную с данным расширением, запускается эта программа и ей передается на обработку выбранный файл.
Щелчком мыши по функциональной кнопке можно также вызвать программу, ассоциированную с функциональными кнопками. Щелчок по команде верхнего меню вызывает выпадающее подменю.
Если щелкнуть мышью по верхней рамке панели, отображающей очень длинный список файлов, происходит перемещение списка на одну колонку назад. Щелчок по нижней рамке панели приводит, соответственно, к перемещению по списку на целую колонку вперед. Этот метод перемещения работает также при просмотре встроенной подсказки и просмотре окна Дерево каталогов.
Если Commander запущен с поддержкой мыши, вы можете производить копирование и вставку блоков текста, если будете удерживать клавишу <Shift>. Для этого нужно нажать клавишу <Shift> и, удерживая ее нажатой, выделить мышью нужный кусок текста, затем отпустить <Shift>, перенести курсор в нужное место, снова нажать <Shift> и щелнуть правой кнопкой мыши. Отметим, что это свойство не работает в окне
Панели программы Midnight Commander чаще всего отображают содержимое каталогов файловой системы (поэтому называются иногда панелями каталогов). Однако на панель может быть выведена и некоторая другая информация. В настоящем разделе будет рассказано, как изменить вид панели или способ представления информации на панели.
Вид панелей, в которых отображаются списки файлов и подкаталогов, может быть изменен через команды выпадающих меню левой и правой панелей Левая панель (Left) и Правая панель (Right) главного меню. Если вы хотите изменить формат представления списка файлов в панели, вы можете воспользоваться командой Формат списка... соответствующей (левой или правой) панели. Имеется возможность выбрать один из 4 вариантов представления списка файлов: Стандартный (Full), Укороченный (Brief), Расширенный (Long) и Определяемый пользователем (User).
При задании структуры вначале указывается размер панели: "half" (половина экрана) или "full" (весь экран). После размера панели можно указать, что на панели должно быть две колонки. Это делается добавлением цифры 2 в строку задания формата. Далее надо перечислить имена полей с необязательным параметром ширины поля. В качестве имен полей могут использоваться следующие слова:
name - отображать имя файла.size - отображать размер файла.bsize - отображать размер в альтернативной форме, при которой выводятся размеры файлов, а для подкаталогов выводится только надпись "SUB-DIR" или "UP-DIR".type - отображать одно-символьное поле типа. Этот символ может принимать значения из следующего подмножества символов, выводимых командой ls с параметром -F:mtime - время последней модификации файла.atime - время последнего обращения к файлу.ctime - время создания файла.perm - строка, показывающая текущие права доступа к файлу.mode - восьмеричное представление текущих прав доступа к файлу.nlink - число ссылок на данный файл.ngid - идентификатор группы (nuid - идентификатор пользователя (UID), в цифровой форме.owner - group - группа, имеющая права на файл.inode - номер Вы также можете использовать следующие имена полей для организации вывода информации на дисплей:
space - вставить пробел при выводе на дисплей.mark - вставить звездочку (| - вставить вертикальную линию при выводе на дисплей.Для того, чтобы задать фиксированную ширину поля, нужно добавить двоеточие ':', после которого указать число позиций, которое отводится под это поле. Если после числа поставить символ '+', то указанное число будет интерпретироваться как минимальная ширина поля, и, если экран позволяет, поле будет расширено.
Например, "стандартный" формат вывода задается строкой:
half type,name,|,size,|,mtime
а "расширенный" - строкой:
full perm, space, nlink, space, owner, space, group, space, size, space, mtime, space, name
А вот пример формата, определяемого пользователем:
half name,|,size:7,|,type,mode:3
Отображение списка файлов в любой из панелей может производиться в соответствии с одним из восьми порядков сортировки:
Порядок сортировки вы можете задать, выбрав в меню соответствующей панели команду Порядок сортировки.... При этом появляется диалоговое окно (рис. 6.2), в котором кроме желаемого порядка сортировки можно указать, что сортировка производится в обратном порядке (поставив с помощью клавиши пробела отметку в скобках возле слова Обратный (Reverse)) и с учетом регистра символов.
(рис 6.2) Диалоговое окно задание порядка сортировки
По умолчанию подкаталоги отображаются в начале списка, но это можно изменить, проставив отметку возле опции "Смешивать файлы/каталоги" ("Mix all files") команды Конфигурация меню Настройки.
Можно выводить в панель не все списки файлов данного каталога, а только соответствующие определенному шаблону. Команда Фильтр в меню любой панели позволяет задать шаблон, которому должны соответствовать имена файлов, отображаемых в панели (например, "*.tar.gz").
Имена подкаталогов и ссылки на подкаталоги отображаются всегда, независимо от шаблона.
В меню каждой из панелей имеется команда Перечитать (аналог которого в других программах обычно называется "Обновить"). Команда Перечитать (горячие клавиши <Ctrl>+<R>) обновляет список файлов, отображаемый в панели. Это бывает полезно в тех случаях, когда другие процессы создают или удаляют файлы. Если вы выполнили команду меню Критерий панелизации (
Помимо того, что может задаваться формат вывода на панель списка файлов, любую панель можно перевести в один из следующих режимов.
При выводе в панель результатов "быстрого просмотра" используется встроенная программа просмотра файлов, так что, если переключиться клавишей <Tab> в панель просмотра, вы сможете использовать все команды управления просмотром, в частности, перечисленные в табл. 6.1 - 6.2.
Для управления режимами работы панели можно пользоваться командами меню, которые были упомянуты выше, но удобнее использовать управляющие комбинации клавиш.
До сих пор мы рассказывали только о внешнем виде экрана программы Midnight Commander и о том, как изменить этот вид. Теперь пора рассказать о том, как работать с файлами с помощью этой программы.
Наиболее часто выполняемые в Midnight Commander операции привязаны к функциональным клавишам <F1> - <F10>. Приведем сводку в виде табл. 6.4.
| Функциональная клавиша | Выполняемое действие |
|---|---|
| <F1> | Вызывает контекстно-зависимую подсказку |
| <F2> | Вызывает меню, создаваемое пользователем |
| <F3> | Просмотр файла, на который указывает подсветка в активной панели |
| <F4> | Вызов встроенного редактора для файла, на который указывает подсветка в активной панели |
| <F5> | Копирование файла или группы отмеченных файлов из каталога, отображаемого в активной панели, в каталог, отображаемый на второй панели. При копировании одного файла можно поменять его |
| <F6> | Перенос файла или группы отмеченных файлов из каталога, отображаемого в активной панели, в каталог, отображаемый на второй панели. Как и при копировании, можно поменять имя файла или целевого каталога. |
| <F7> | Создание подкаталога в каталоге, отображаемом в активной панели |
| <F8> | Удаление файла (подкаталога) или группы отмеченных файлов |
| <F9> | Вызов основного меню программы (отображаемого над панелями) |
| <F10> | Выход из программы |
Перечисленные в этой
Прежде чем выполнять какую-то из операций, указанных в табл. 6.4 или задаваемых командами меню, надо выбрать файл или группу файлов, которые будут объектами операции. Для выбора только одного файла достаточно переместить на него подсветку в активной панели (конечно, вначале надо перейти в соответствующий каталог). Если же вы хотите выполнить какую-то операцию сразу над группой файлов, эти файлы надо отметить. Чтобы отметить файл, на который указывает в данный момент подсветка, используйте клавишу <Insert> или комбинацию <Ctrl>+<T>. При этом имя файла в панели выводится другим цветом. Для снятия отметки с файла используются те же комбинации.
Выделить группу файлов для последующей обработки можно также с помощью команды Отметить группу меню Файл. Эта команда используется для отметки группы файлов по заданному шаблону. Midnight Commander выдаст строку ввода, в которой надо задать регулярное выражение, определяющее желаемую группу имен. Если включена опция Образцы в стиле shell, регулярные выражение строятся по тем же правилам, которые действуют в оболочке shell (см. лекцию 5). Если опция "Образцы в стиле shell" отключена, то пометка файлов производится по правилам обработки нормальных регулярных выражений (см. руководство man ed ).
Если выражения начинаются или оканчиваются слэшем (/), то пометка будет ставиться на каталоги, а не на файлы.
"Горячей" клавишей для операции отметки группы файлов является клавиша <+> на цифровой клавиатуре.
Операция "Снять отметку" ("горячая" клавиша - <-> или <\> - обратный слэш) является обратной по отношению к операции отметки группы файлов и использует те же правила формирования шаблонов. Используется для снятия отметки с группы файлов.
Операция "Инвертировать отметку" (<*>) используется для того, чтобы снять отметки со всех помеченных файлов текущего каталога, одновременно отметив все файлы, которые не были помечены.
Если текущий каталог содержит много файлов (так что все они не умещаются на панели), то прежде чем отметить файл, его нужно еще отыскать. В таких случаях удобно пользоваться комбинациями клавиш <Ctrl>+<S> и <Alt>+<S>. После нажатия одной из этих комбинаций инициируется режим поиска имен файлов в текущей директории по первым символам имени. В этом режиме вводимые символы отображаются не в командной строке, а в строке поиска. Если режим Показ мини-статуса (Show mini-status) включен, эта строка отображается на месте строки мини-статуса. При этом в процессе ввода символов линия подсветка перемещается к следующему файлу, название которого начинается с введенной строки символов. Клавиши <Backspace> или <Del> могут использоваться для исправления ошибок. Если <Ctrl>+<S> нажато снова, осуществляется поиск следующего подходящего файла. Надо отметить, что если в текущем каталоге нет файлов с именами, начинающимися на вводимые символы, эти символы не отображаются в строке мини-статуса, что как раз и говорит Вам, что вы здесь не найдете искомого файла.
После выбора и отметки файлов для обработки достаточно нажать одну из функциональных клавиш, чтобы выполнить нужную операцию с файлами, например, скопировать файлы, переместить или удалить. Особенно удобно в сравнении с работой из командной строки осуществлять с помощью Midnight Commander просмотр или редактирование файлов, поскольку в Midnight Commander имеются встроенные программы для этих целей. Но в этом разделе мы не будем рассматривать встроенный редактор, отложив его описание до лекции, посвященной работе с текстовыми файлами.
Как уже говорилось, вовсе не обязательно использовать функциональные клавиши для вызова ассоциированных с ними команд. Любую из этих команд можно выполнить через меню Файл. Кроме команд, ассоциированных с функциональными клавишами, меню Файл содержит еще следующие команды (в скобках указаны соответствующие "горячие" клавиши).
chown.Midnight Commander указывает Как видите, меню Файл содержит все наиболее употребительные команды, которые нужны нам для обычных операций обработки файлов текущего каталога. Естественно, что операции, используемые чаще всего, связаны с функциональными клавишами. Поэтому вернемся к описанию этих команд, чтобы дать некоторые дополнительные пояснения.
При выполнении операций копирования и перемещения (или переименования) файлов вы имеете возможность изменить имена копируемых или перемещаемых файлов. Для этого вы должны задать маску для имен файлов-источников и маску для имен файлов, которые будут созданы (файлы-приемники). Обычно эта вторая маска представляет собой несколько символов замены (wildcards) в конце строки, определяющей место назначение создаваемых файлов. Задание масок осуществляется в строках ввода, отображаемых в окне, появляющемся после обращения к командам копирования / переноса (рис. 6.6).
Все файлы, удовлетворяющие маске источника, будут переименованы (скопированы или перемещены с новыми именами) в соответствии с маской файла-приемника. Если имеются помеченные файлы, то копируются (перемещаются) только помеченные файлы, удовлетворяющие заданной маске для файлов-источников.
(рис 6.6) Диалоговое окно для переименования файлов
Есть еще несколько опций, которые влияют на выполнение операций копирования/перемещения файлов, и которые устанавливаются в том же окне запроса, где задаются маски имен файлов, либо через команду меню Настройки | Конфигурация.
Опция Разименовывать ссылки (Follow links) определяет, будут ли при копировании жестких или символических ссылок в каталоге-приемнике (и рекурсивно в подкаталогах) создаваться такие же ссылки, или будут копироваться файлы (и подкаталоги), на которые эти ссылки указывают.
Опция Внутрь каталога, если есть (Dive into subdirs) определяет, что делать, если в каталоге-приемнике уже существует подкаталог, имя которого совпадает с именем файла (каталога), который копируется (источника). По умолчанию (опция отключена) содержимое каталога-источника копируется в каталог-приемник. Если опция включена, то в каталоге приемнике будет создан новый подкаталог с тем же именем, в который и будет осуществляться копирование.
Лучше показать это на примере. Пусть вы хотите скопировать содержимое каталога one в каталог /two/one, который уже существует. Обычно (опция отключена) mc будет просто копировать все файлы из one в /two/one. Если опцию включить, копирование файлов будет производиться в /two/one/one.
Опция Сохранять атрибуты (Preserve attributes) определяет, будут ли при копировании/перемещении сохранены атрибуты исходного файла: права доступа, временные метки и, если вы root, UID и umask.
На процедуры копирования и перемещения файлов оказывает также влияние установка опции Образцы в стиле shell в меню Настройки / Конфигурация. Когда эта опция включена, вы можете использовать символы замены (wildcards) '*' и '?' в маске источника. Они обрабатываются аналогично тому, как это делается в shell. В маске приемника разрешается использовать только '*' и '\<цифра>'. Первый символ '*' в маске приемника соответствует первой группе символов замены в маске источника, второй символ '*' соответствует второй группе и т. д. Аналогично, символ замены '\1' соответствует первой группе символов замены в маске источника, символ '\2' - второй группе и т. д. Символ '\0' соответствует целому имени файла-источника. Приведем пару примеров.
Пример 1. Если маска источника "*.tar.gz", а маска приемника - "/two/*.tgz", и имя копируемого файла - "foo.tar.gz", копия будет называться "foo.tgz" и будет находиться в каталоге "/two".
Пример 2. Предположим, вы хотите поменять местами имя и расширение файла, так чтобы "file.c" стал файлом "c.file". Маска источника для этого должна иметь вид "*.*", а маска приемника - "\2.\1".
Когда опция Образцы в стиле shell ("Use shell patterns") выключена, mc не осуществляет автоматической группировки. Для указания групп символов в маске источника, которые будут соответствовать символам замены в маске приемника, вы должны в этом случае использовать скобки '\(...\)'. Этот способ более гибкий, но требует больше усилий при вводе. Снова приведем два примера
Пример 3. Если маска источника имеет вид "^\(.*\)\.tar\.gz$", копирование производится в "/two/*.tgz" и копируется файл "foo.tar.gz", то результатом будет "/two/foo.tgz".
Пример 4. Предположим, что вы хотите поменять местами имя файла и его расширение, так чтобы имена вида "file.c" приняли вид "c.file".
Маска источника для этого - "^\(.*\)\.\(.*\)$", а маска приемника - "\2.\1".
При выполнении операций копирования/перемещения вы можете также преобразовать регистр символов в именах файлов. Если вы используете '\u' или '\l' в маске приемника, то следующий символ имени будет образован в верхнем (заглавные символы) или нижнем (строчные) регистре соответственно.
Если использовать в маске приемника '\U' или '\L', то к соответствующему регистру будут преобразованы все последующие символы, вплоть до следующего вхождения '\L' или '\U', или же до конца имени файла.
Применение '\u' и '\l' обеспечивает более широкие возможности, чем '\U' и '\L'.
Например, если маска источника есть '*' (опция Образцы в стиле shell включена) или '^\(.*\)$' (опция Образцы в стиле shell выключена), а маска приемника есть '\L\u*', имена файлов будут преобразованы таким образом, что первые буквы имени будут заглавными, а все остальные - строчными.
Символ '\' в масках используется для отмены специальной интерпретации отдельных символов. Например, '\\' означает просто обратный слэш (как литерал) и '\*' означает просто звездочку (
Когда вы выполняете операции копирования, перемещения или удаления файлов, Midnight Commander отображает на экране диалоговое окно, в котором показано, какой(ие) файл(ы) в данный момент обрабатывается и как идет процесс обработки. Для отображения процесса обработки на экран выводится до трех диаграмм-полосок (
В нижней части этого диалогового окна имеются две кнопки. Нажатие на кнопку Пропустить приведет к тому, что будет пропущена обработка текущего файла. Нажатие на экранную кнопку Прервать завершает выполнение заданной операции, все оставшиеся файлы будут пропущены.
В процессе выполнения файловых операций вы можете увидеть окна еще трех видов.
Окно ошибок информирует об ошибке и предлагает три варианта продолжения. Обычно вы выбираете либо вариант Пропустить для того, чтобы исключить из обработки файл, на котором споткнулась программа, либо Прервать, чтобы вообще отменить выполнение заданной операции. Третий вариант, Повторить, выбирается тогда, когда вам удалось устранить причину сбоя (например, воспользовавшись другим терминалом).
Окно подтверждения перезаписи появляется тогда, когда вы пытаетесь перезаписать существующий файл, т. е. в каталоге, в который производится перемещение или копирование уже есть файл с заданным именем. В окне подтверждения отображаются время создания и размер файла-источника (переносимого или копируемого файла) и файла-приемника (который в случае перезаписи будет уничтожен).
Ниже выведены два вопроса. На первый вопрос ("Переписать этот файл?") предлагается три варианта ответа:
Ответ на второй вопрос ("Переписать все файлы?") позволяет принять одно из 4 возможных решений по всем выбранным для обработки файлам (чтобы окно запроса не появлялось каждый раз):
Вы можете отказаться от выполнения операции, если нажмете кнопку Прервать в нижней части окна запроса. Выбор нужной экранной кнопки производится клавишами стрелок или клавишей табуляции.
Окно запроса на рекурсивное удаление появляется в том случае, когда вы пытаетесь удалить непустой каталог. По кнопке Да каталог будет удален вместе со всеми файлами, Нет означает отказ от удаления каталога, Все надо выбирать, если вы отметили группу подкаталогов для удаления и уверены в своем выборе, Ни одного -чтобы пропустить все непустые каталоги из числа помеченных, Прервать означает отказ от выполнения операции удаления. Выбирайте Да или Все только в том случае, когда вы действительно уверены, что хотите удалить каталог со всеми вложенными подкаталогами.
Если вы пометили для обработки группу файлов, то после выполнения операции будет снята отметка только с тех файлов, которые успешно обработаны. Пропущенные файлы останутся помеченными.
Как было сказано при описании внешнего вида экрана Midnight Commander, в нижней части экрана всегда присутствует командная строка оболочки.
Для того, чтобы во время работы с Midnight Commander запустить любую команду операционной системы, вы должны либо набрать имя соответствующей программы в командной строке, либо выбрать его в одной из панелей (переместив подсветку на имя файла программы), а затем нажать клавишу <Enter>. Если вы нажимаете клавишу <Enter> в тот момент, когда подсветка указывает на имя файла, не являющегося исполняемым, Midnight Commander сравнивает расширение выбранного файла с расширениями, прописанными в "файле расширений" ~/mc.ext. Если в файле расширений найдется подраздел, задающий процедуры обработки файлов с данным расширением, то обработка файла производится в соответствии с заданными в этом подразделе командами. Перед обработкой выполняются простые макро-подстановки.
Зачастую ввод команд требует ввода большого числа символов (особенно с учетом того, что надо указать параметры команды и, в том числе, полные, с указанием путей, имена обрабатываемых файлов). Для облегчения ввода в Midnight Commander существуют несколько клавиатурных команд, которые позволяют сократить число нажатий на клавиши во время ввода и редактирования команд в командной строке.
Строки ввода - это не только командная строка оболочки shell, но и строки ввода в диалоговых окнах различных подпрограмм. Во всех случаях, когда на экране появляется строка ввода, можно пользоваться управляющими комбинациями клавиш, перечисленными в табл. 6.5.
| Комбинация клавиш | Выполняемое действие |
|---|---|
| <Ctrl>+<A> | Перемещает курсор в начало строки |
| <Ctrl>+<E> | Перемещает курсор в конец строки |
| <Ctrl>+<B> | Перемещает курсор на одну позицию влево |
| <Ctrl>+<F> или <0> | Перемещает курсор на одну позицию вправо |
| <Alt>+<F> или <0> | Перемещает курсор на одно слово вперед |
| <Alt>+<B> | Перемещает курсор на одно слово назад |
| <Ctrl>+<H> или <Backspace> | Удаляет символ, предшествующий курсору |
| <Ctrl>+<D> или <Delete> | Удаляет символ в позиции курсора |
| <Ctrl>+<@> | Устанавливает метку для того, чтобы вырезать (скопировать в буфер) часть текста |
| <Ctrl>+<W> | Копирует текст, расположенный между курсором и меткой, в буфер, удаляя текст из строки ввода |
| <Alt>+<W> | Копирует текст, расположенный между курсором и меткой, в буфер (без удаления из строки ввода) |
| <Ctrl>+<Y> | Вставляет содержимое буфера в строку ввода перед позицией курсора |
| <Ctrl>+<K> | Удаляет текст от курсора до конца строки |
| <Alt>+<P> и <Alt>+<N> | Эти комбинации используются для перемещения по |
| <Ctrl>+<Alt>+<H> или <Alt>+<Backspace> | Удалить предшествующее слово |
| <Alt>+<Tab> | Пытается выполнить завершение ввода (completion) имени файла, команды, переменной, имени пользователя или имени хоста |
Выпадающее подменю Команды главного меню позволяет выполнить еще ряд операций по управлению файловой системой, а также выполнить некоторые команды, изменяющие вид панелей Midnight Commander и отображаемую в панели информацию.
При обращении к команде меню Дерево каталогов выводится окно, отображающее структуру каталогов файловой системы.
Дерево каталогов может быть вызвано двумя способами: через команду Дерево каталогов из меню Команды и команду Дерево из меню правой или левой панелей.
Чтобы избавиться от долгих задержек во время создания дерева каталогов, Midnight Commander создает дерево путем просмотра только небольшого подмножества всех каталогов. Если каталог, который вам нужен, не отображен, перейдите в его
Существует два режима отображения дерева каталогов. В статическом режиме перемещения для выбора каталога (т. е. перемещения подсветки на имя другого каталога) используются только клавиши <стрелка влево> и <стрелка вправо>. Показываются все известные программе на данный момент подкаталоги. В динамическом режиме клавиши <стрелка влево> и <стрелка вправо> используются для перехода на соседний каталог того же уровня. Для перехода в
Для управления просмотром дерева каталогов могут использоваться следующие комбинации клавиш:
Следующие действия возможны только в окне просмотра дерева каталогов и не поддерживаются при просмотре дерева в одной из панелей
В окне просмотра дерева каталогов поддерживается мышка. Двойной щелчок аналогичен нажатию клавиши <Enter>.
Команда Поиск файла (горячие клавиши <Meta>+<?> или <Esc>,<?>) выпадающего меню Команда позволяет вам найти на диске файл с заданным именем. После выбора этой команды меню вначале запрашивается имя искомого файла и имя каталога, с которого необходимо начинать поиск. Нажав экранную кнопку Дерево, вы можете выбрать начальный каталог поиска из дерева каталогов. В поле Содержание (Contents) можно задать регулярное выражение по правилам команды egrep. Это значит, что перед символами, имеющими специальное значение для egrep, необходимо вставить символ "\", например, если вам нужно найти строку "strcmp (", вы должны указать шаблон поиска в виде "strcmp \(". Для того, чтобы начать поиск, нажмите экранную кнопку Дальше. Во время поиска его можно приостановить кнопкой Остановить и продолжить по кнопке Продолжить.
Список найденных файлов можно просматривать, перемещаясь с помощью клавиш <Стрелка вверх> и <Стрелка вниз>. Кнопка Перейти используется для перехода в каталог, в котором находится подсвеченный файл. Кнопка Повтор служит для задания параметров нового поиска.
Кнопка Выход служит для выхода из режима поиска.
Нажатие на кнопку Панелизация приведет к тому, что результаты поиска будут отображены на текущую активную панель, так что вы можете производить с выбранными файлами еще какие-то действия (просматривать, копировать, перемещать, удалять и так далее). После вывода на панель можно нажать <Ctrl>+<R> для возврата к обычному списку файлов.
Кроме того, имеется возможность задать список каталогов, которые команда Поиск файла будет пропускать в ходе поиска (например, вы знаете, что искомого файла нет на CD-ROM или не хотите искать в каталогах, подключенных через NFS по очень медленному каналу). Каталоги, которые надо пропустить, должны быть указаны в переменной find_ignore_dirs в секции Misc Вашего файла ~/.mc/ini.
Имена каталогов разделяются двоеточиями, следующим образом:
[Misc] find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
Вы можете использовать
Команда Переставить панели (<Ctrl>+<U>) меняет местами содержимое правой и левой панелей.
По команде Отключить панели (<Ctrl>+<O>) показывается вывод последней из выполнявшихся команд shell. Эта команда работает только через xterm и на консоли Linux.
По команде Сравнить каталоги (<Ctrl-X>, <D>) сравнивается содержимое каталогов, отображаемых на левой и правой панелях.
Существует три метода сравнения. При быстром методе сравниваются только размер и дата создания файлов с одинаковыми именами. В результате в обоих каталогах будут подсвечены файлы, отсутствующие во втором каталоге, или более новые версии соответствующих файлов. После этого вы можете воспользоваться командой Копировать (<F5>) для того, чтобы сделать содержимое каталогов одинаковым.
При побайтном методе сравнивается содержимое файлов (побайтно). Этот метод недоступен, если машина не поддерживает системный вызов mmap(2). При сравнении по размеру сравниваются только размеры соответствующих файлов, а дата создания не проверяется.
Команда меню Критерий панелизации (который правильнее было бы назвать "find ). Например, если вы хотите выполнить какое-то действие над всеми символическими ссылками текущего каталога, вы можете использовать команду Критерий панелизации для запуска следующей команды:
[user]$ find . -type l -print
После выполнения этой команды в текущей панели будет отображено не содержимое соответствующего каталога, а только все
Если вы захотите, то можете сохранить часто используемые команды панелизации под отдельными информативными именами, чтобы иметь возможность их быстро вызвать по этим именам. Для этого нужно набрать команду в строке ввода (строка "Команда") и нажать кнопку Добавить. После этого вам потребуется ввести имя, по которому вы будете вызывать команду. В следующий раз вам достаточно будет выбрать нужное имя из списка, а не вводить всю команду заново.
Команда меню История команд выводит окно со списком ранее выполнявшихся команд. Подсвеченную строку из истории можно скопировать в командную строку оболочки (перемещение подсветки - клавишами <Стрелка вверх> и <Стрелка вниз>, копирование - по клавише <Enter>).
Доступ к
Команда меню Справочник каталогов (<Ctrl>+<\>) позволяет создать список каталогов, которые часто используются, и обеспечить быстрый переход к нужному каталогу из этого списка. Для этого создается список меток (условных имен), присвоенных наиболее часто используемым каталогам. Этот список можно использовать для быстрого перехода в нужный каталог. Пользуясь диалоговым окном справочника каталогов, вы можете добавить новую метку в список или удалить ранее созданную пару метка/каталог. Для добавления метки можно также использовать комбинацию клавиш (<Ctrl>+<X>, <H>), по которой текущий каталог добавляется в справочник каталогов. Программа выдаст запрос на ввод метки для этого каталога.
Команда меню Фоновые задания позволяет вам управлять фоновыми заданиями, запущенными из Midnight Commander (такими заданиями могут быть только операции копирования и перемещения файлов). Используя эту команду меню или "горячие" клавиши <Ctrl>+<X>, <J>, вы можете остановить, возобновить или снять любое из фоновых заданий.
После выбора команды меню Файл расширений вы получаете возможность редактировать файл mc.ext, в котором можете связать с определенным расширением файла (окончанием имени после последней точки) программу, которая будет запускаться для обработки (просмотра, редактирования или выполнения) файла с таким расширением. Запуск выбранной программы будет осуществляться после установки подсветки на имя файла и нажатия клавиши <Enter>.
Команда Файл меню используется для редактирования пользовательского меню (которое появляется после нажатия клавиши <F2>).
Программа Midnight Commander имеет ряд установок (опций), каждая из которых может быть включена или выключена, для чего служат несколько диалоговых окон, доступных через меню Настройки. Опция включена, если поставлена (с помощью клавиши пробела) звездочка или знак "x" в скобках перед названием опции. Рассмотрим последовательно команды меню Настройки, через которое включаются / отключаются эти опции.
Команда Конфигурация.
При выборе этой команды меню появляется диалоговое окно, изображенное на рис. 6.7. Параметры конфигурации, задаваемые в этом окне, делятся на три группы: "Настройки панелей", "Пауза после исполнения" и "Прочие настройки".
(рис 6.7) Окно настроек параметров конфигурации
В поле "Настройки панелей" вы задаете значения следующих параметров.
Midnight Commander не показывает файлы, имена которых заканчиваются на '~' (подобно опции -B команды ls ).ls -a ).Midnight Commander будет использовать для вывода содержимого каталога следующий трюк: содержимое каталога перечитывается только в том случае, если изменилась запись в i-node каталога, т. е. если в каталоге создавались или удалялись файлы; если изменялись только записи в i-node файлов каталога (изменялся размер файла, режим доступа или владелец и т.п.) содержимое панели не обновляется. В этом случае (если опция включена) вы должны обновлять список файлов вручную (клавишами <Ctrl>+<R>).Поле Пауза после исполнения. После выполнения Вашей команды Midnight Commander может обеспечить паузу, чтобы вы могли просмотреть и изучить вывод команды. Есть три варианта установки этой опции.
xterm вы можете просмотреть этот вывод, нажав <Ctrl>+<O>.xterm или Linux-консоли).В поле Прочие настройки вы задаете значения следующих параметров:
Midnight Commander перед выполнением операций копирования, перемещения и удаления подсчитывает общее число обрабатываемых файлов и их суммарный размер и показывает ход выполнения операции над этими файлами в виде диаграммы-полоски (правда, это слегка замедляет выполнение операций). Эта опция не работает, если отключена опция "Детали операций".shell (Shell Patterns). По умолчанию команды отметки группы файлов (Select), снятия отметки (Unselect) и вывода списка файлов по фильтру (Filter) используют регулярные выражения, которые строятся по правилам, действующим в оболочке. Для того, чтобы достичь такого эффекта, выполняются следующие преобразования: '*' заменяется на '.*' (ноль или больше символов); '?' заменяется на '.' (в точности один символ) и '.' заменяется на обычную точку (literal dot). Если опция отключена, то регулярные выражения должны строиться так, как описано в man 1 ed.Midnight Commander значения всех настраиваемых параметров сохраняются в файле ~/.mc/ini.EDITOR. Если такой редактор не задан, будет вызываться vi.PAGER . Если такая программа не задана, используется команда view.Midnight Commander может выполнять "Завершение ввода" при нажатии на клавиши <Alt>+<Tab>, пытаясь угадать окончание вводимой команды. По умолчанию при первом нажатии <Alt>+<Tab> он ищет все возможные варианты завершения и, если завершения неоднозначны (имеется много разных вариантов), то только издает звуковой сигнал. При втором нажатии <Alt>+<Tab> отображаются все возможные завершения. Если вы хотите видеть все возможные варианты завершения после первого нажатия <Alt>+<Tab>, включите эту опцию.Midnight Commander отображает в верхнем правом углу вращающуюся черточку, как индикатор того, что выполняется какое-то задание (операция).lynx. Если эта опция включена, вы имеете возможность использовать клавиши <0> для перехода в подсвеченный в данный момент каталог и <0> для перехода в родительский по отношению к текущему каталог (при условии, что командная строка пуста). По умолчанию опция отключена.chown. Если эта опция включена, то при обращении к командам chmod или chown вместо них будет вызываться Расширенная команда chown.Midnight Commander будет следовать логической цепочке подкаталогов при выполнении команд смены каталога как в панели, так и по команде cd. Так же ведет себя по умолчанию bash. Если же опция не включена, Midnight Commander будет при выполнении команды cd следовать реальной структуре каталогов, так что если вы вошли в текущий каталог по ссылке на него, то по команде cd .. вы окажетесь в его Диалоговое окно Внешний вид дает вам возможность изменить некоторые параметры отображения главного окна программы Midnight Commander на экране монитора (рис. 6.8).
(рис 6.8) Настройки внешнего вида программы
Вы можете вывести на экран или отменить вывод строки главного меню, командной строки, строки подсказок, мини-статуса, строки с подсказкой по функциональным клавишам. На Linux- (или
Можно также указать, должны ли панели располагаться горизонтально или вертикально, изменить размеры панелей.
По умолчанию вся информация отображается одним цветом, но вы можете сделать так, что права доступа и типы файлов были выделены другими цветами. Если включено выделение цветом прав доступа, поля perm и mode в форматах вывода, показывающие права пользователя, запустившего программу Midnight Commander, выделены цветом, определенным ключевым словом selected в секции [Colors] инициализационного файла ~/.mc/ini. Если включено выделение цветом типов файлов, то разными цветами выделяются каталоги, дампы памяти (файлы core ), исполняемые файлы и т. д.
Если включена опция Мини-статус, в нижней части каждой панели выводится строка информации о выделенном подсветкой файле или каталоге каждой панели.
В диалоговом окне Биты символов... (рис. 6.9) вы указываете, в каком формате Ваш терминал будет обрабатывать (вводить и отображать на дисплее) информацию, представленную байтами (например, записанную в файле).
(рис 6.9) Настройка вывода
Если терминал поддерживает только 7-битный вывод, то нужно выбрать установку 7 бит. Выбрав "ISO-8859-1" вы получите все символы из таблицы ISO-8859-1, а выбор установки Полный 8-битный вывод имеет смысл на тех терминалах, которые могут отображать все 8-битовые символы. Чтобы при просмотре или редактировании файлов в Midnight Commander видеть на экране кириллицу, установите опции Полный 8-битный вывод и Полный 8-битный ввод (как на рис. 6. 9) и нажмите экранную кнопку Дальше.
Установка опции Полный 8-битный вывод позволяет просматривать на экране файлы, набранные в кодировке cp1251 ), то имейте в виду, что Валерий Студенников написал чудесную заплату (patch), которая позволяет выбирать кодовые страницы при просмотре и редактировании файлов в Midnight Commander (см. http://www.linux.zp.ua:8100/mc/ или http://www.sama.ru/~despaire/mc/my-patches.html). Только вам придется самому скомпилировать версию mc с этой возможностью. Однако это не так уж сложно (см. лекцию 10).
Используя команду меню Подтверждения, вы можете сделать так, чтобы перед выполнением операций удаления, перезаписи и запуска файла на выполнение, а также перед выходом из программы mc, выдавался дополнительный запрос на подтверждение (либо отменить такие запросы, что несколько рискованно).
Команда Распознавание клавиш: (Learn keys:) вызывает диалоговое окно, в котором вы можете протестировать работу некоторых клавиш (<F1> - <F20>, <Home>, <End>), которые работают не на всех типах терминалов. В диалоговом окне появляется таблица с названиями клавиш, которые подлежат тестированию. Вы можете перемещать подсветку по названиям, используя клавишу <Tab> или клавиши, применяемые в редакторе vi (<h> - влево, <j> - вниз, <k> -вверх, <l>- вправо). Если один раз нажать на клавиши со стрелками, после чего возле их названий в таблице появится пометка OK, то их тоже можно будет использовать для управления перемещением.
Для тестирования работы клавиш нужно нажать каждую клавишу из перечисленных в таблице. Если она работает нормально, возле ее названия в таблице появится пометка OK. После появления такой пометки клавиша начинает работать в ее обычном режиме. Например, первое нажатие на клавишу <F1> приводит только к появлению пометки OK (если клавиша работает нормально), а при следующих нажатиях будет вызываться окно подсказки. То же самое относится к клавишам стрелок. Клавиша <Tab> работает всегда. Если какая-то клавиша не работает, то после нажатия на нее пометка OK не появится. В таком случае можно связать ту реакцию системы, которая должна была последовать за нажатием неработающей (отсутствующей) клавиши, с нажатием другой клавиши или комбинации клавиш. Для этого надо переместить подсветку на название неработающей клавиши (используя мышь или клавишу <Tab>) и нажать <Enter> или клавишу пробела. Должно появиться окно красного цвета, в котором вас просят нажать клавишу, которая будет использоваться вместо неработающей. Для отмены операции нажмите <Esc> и дождитесь, пока красное окно исчезнет. Либо выберите и нажмите ту комбинацию клавиш, которая будет служить заменой для неработающей клавиши (и тоже дождитесь закрытия окна). Когда закончите тестирование и настройку всех клавиш, вы можете сохранить эти настройки в секции [terminal:TERM] Вашего файла ~/.mc/ini (где TERM - название используемого терминала) либо отказаться от запоминания изменений. Если все клавиши работают нормально, то сохранение, конечно, не требуется.
Команда Виртуальные ФС вызывает диалоговое окно, в котором вы можете задать значения некоторых параметров, связанных с использованием виртуальных файловых систем.
Команда Сохранить настройки обеспечивает сохранение выбранных значений параметров в ini-файле программы.
Я надеюсь, что приведенный в этом разделе материал позволит вам начать работать с программой Midnight Commander. Но возможности этой программы гораздо шире, чем это описано в настоящем разделе. В лекции 12 вы еще прочитаете о встроенном редакторе CoolEdit программы Midnight Commander. Кроме того, можно воспользоваться встроенной подсказкой, вызываемой по клавише <F1>. Перевод файла подсказки на русский язык (в виде bzip2-архива) вы можете найти на сайте http://linux-ve.chat.ru. Разархивируйте его, поместите в каталог /usr/lib/mc, заменив расположенный там файл mc.hlp, и вы будете при нажатии клавиши <F1> получать подсказку на русском языке.
Хотя для управления файловой системой и вообще для работы с файлами можно использовать такие команды операционной системы, как pwd, ls, cd, mv, mkdir, rmdir, cp, rm, cat, more и т. д., гораздо удобнее делать большую часть работы по обслуживанию файловой системы с помощью программы Midnight Commander, которая наглядно представляет все выполняемые действия, облегчая тем самым выполнение указанных операций.
Midnight Commander (или просто mc ) - это программа, которая позволяет просмотреть структуру каталогов и выполнить основные операции по управлению файловой системой. Другими словами, это файловый менеджер. Если вы имеете опыт работы с Norton Commande r ( nc ) в MS-DOS или с FAR в Windows, то вы легко сможете работать и с mc, поскольку даже основные комбинации "горячих клавиш" у них совпадают. В этом случае для того, чтобы работать с Midnight Commander, вам достаточно бегло просмотреть приводимый ниже материал. Для тех же, кто не знаком с nc или FAR (да есть ли такие?), рекомендую внимательно проработать этот раздел, потому что Midnight Commander существенно облегчает работу с операционной системой.
Примечание Приводимое в данной лекции описание составлено применительно к версии 4.5.30 программы, хотя может использоваться и для других версий. |
Примечание Данное описание полностью применимо только в тех случаях, когда программа запущена с терминала. Когда работа производится через |
В большинстве дистрибутивов программа Midnight Commander не устанавливается автоматически при инсталляции системы. Но соответствующий rpm-пакет, как правило, имеется на дистрибутивном диске, и установка Midnight Commander из rpm-пакета проходит без каких-либо сложностей (о том, как произвести установку ПО из rpm-пакета, см. лекцию 10). А, поскольку наличие этой программы существенно облегчит Вашу дальнейшую жизнь, я настоятельно рекомендую вам установить ее сразу же, как только вы произвели установку ОС.
Для того, чтобы запустить Midnight Commander, надо набрать в командной строке оболочки mc и нажать <Enter>. Если программа не запустилась, надо найти, где расположен исполняемый файл с именем mc, воспользовавшись командой find / -name mc, после чего указать в командной строке полный путь, например, у меня это /usr/bin/mc. После запуска вы увидите голубой экран, очень напоминающий экран программы FAR Е. Рошаля, которая широко используется в DOS-окне под Windows.
(рис 6.1) Внешний вид экрана при работе с Midnight Commander
Почти все пространство экрана при работе с Midnight Commander занято двумя "панелями", отображающими списки файлов двух каталогов. Над панелями расположена строка меню, причем к выбору команд в этом меню можно переключиться по клавише <F9> или с помощью мыши (если сразу после запуска mc вы не видите строки меню, не огорчайтесь - видна или нет строка меню, определяется настройками программы).
Самая нижняя строка представляет собой ряд экранных кнопок, каждая из которых ассоциирована с одной из функциональных клавиш <F1> - <F10>. Можно считать эту строку подсказкой по использованию функциональных клавиш, а можно и непосредственно запускать соответствующие команды, щелкая мышкой по экранной кнопке. Отображение строки с экранными кнопками можно отключить, если вы хотите сэкономить пространство экрана (об этом будет рассказано позже, когда будем говорить о настройках программы). Такая экономия оказывается оправданной по двум причинам. Во-первых, вы достаточно быстро запомните назначение этих 10 клавиш, и подсказка вам становится не нужна (а мышкой по этим клавишам щелкать не всегда удобно). Во вторых, если даже вы забыли, какая именно клавиша вам нужна для выполнения необходимого в данный момент действия, вы всегда можете воспользоваться меню Файл главного меню программы (только помните, что выход в главное меню осуществляется по клавише <F9>). Через меню Файл обеспечивается возможность выполнения любой операции из числа ассоциированных с функциональными клавишами кроме <F1> и <F9>.
Вторая снизу строка на экране - это командная строка программы Midnight Commander (точнее - командная строка текущей оболочки shell ), где можно ввести и выполнить любую команду системы. Выше нее (но под панелями) может отображаться поле "полезных советов" (hint4s), которое можно убрать, соответствующим образом отрегулировав настройки программы.
Каждая панель состоит из заголовка, списка файлов какого-либо каталога и строки мини-статуса (последняя может быть не видна, это тоже задается настройками программы). В заголовке панели указан полный путь к каталогу, содержимое которого отображается в панели, а также три экранных кнопки - "<", "v" и ">", которые используются для управления программой с помощью мыши (эти кнопки не работают, если вы запустили mc в эмуляторе терминала). В строке "мини-статуса" отображаются некоторые данные о том файле или каталоге, на который в данный момент указывает подсветка (например, размер файла и права доступа к нему).
Одна из панелей является текущей (активной), о чем свидетельствует подсветка имени каталога в заголовке панели и подсветка одной из ее строк. Соответственно, в той оболочке, из которой была запущена программа Midnight Commander, текущим является каталог, отображаемый в активной панели. В этом каталоге и выполняются почти все операции. Операции типа копирования (<F5>) или переноса файла (<F6>) используют каталог, отображаемый на второй панели, в качестве целевого каталога (в который осуществляется копирование или перенос).
В активной панели одна строка выделена подсветкой. Подсветку можно перемещать с помощью клавиш управления перемещением. Встроенная программа просмотра файлов, программа просмотра подсказки и программа просмотра каталогов используют один и тот же программный код для управления перемещением. Следовательно, для перемещения используются одни и те же комбинации клавиш (но в каждой подпрограмме имеются и комбинации, применяющиеся только в ней). Приведем краткую таблицу, в которой перечислены общие клавиши управления перемещением.
| Клавиша | Выполняемое действие |
|---|---|
| <Стрелка вверх> или <Ctrl>+<P> | Перемещение на одну строку назад или вверх |
| <Стрелка вниз> или <Ctrl>+<N> | Перемещение на одну строку вперед |
| <PageUp> или <Alt>+<V> | Перемещение на одну страницу назад |
| <Page Down> или <Ctrl>+<V> | Перемещение на одну страницу вперед |
| <Home> | Перемещение к началу |
| <End> | Перемещение к концу |
При работе с программой Midnight Commander практически в любой момент можно обратиться к интерактивной подсказке, вызов которой осуществляется нажатием клавиши <F1>. Подсказка организована как гипертекст, т. е. в ее тексте встречаются гипертекстовые ссылки на другие ее разделы. Такие ссылки выделены голубым фоном.
Для перемещения в окне просмотра подсказки вы можете использовать клавиши перемещения курсора (стрелки) или мышь. Кроме общих комбинаций управления перемещением, приведенных в табл. 6.1, программа просмотра помощи воспринимает также комбинации, используемые в подпрограмме просмотра файлов:
| Клавиша | Выполняемое действие |
|---|---|
| <B> или <Ctrl>+<B> или <Ctrl>+<H> или <Backspace> или <Delete> | Перемещение на одну страницу назад |
| <Пробел> | Перемещение на одну страницу вперед |
| <U> ( <D> ) | Перемещение на половину страницы назад (вперед) |
| <G> (<Shift>+<G>) | Перемещение к началу (к концу) |
Кроме уже перечисленных комбинаций клавиш могут быть использованы еще некоторые, работающие только при просмотре подсказки (они приведены в табл. 6.3).
| Клавиша | Выполняемое действие |
|---|---|
| <Tab> | Переход на следующую ссылку |
| <Alt>+<Tab> | Переход на предыдущую ссылку |
| <Стрелка вниз> | Переход на следующую ссылку или смещение текста на одну строку вверх |
| <Стрелка вверх> | Переход на следующую ссылку или смещение текста на одну строку вниз |
| <Стрелка вправо> или <Enter> | Переход по текущей ссылке |
| <Стрелка влево> или <L> | Возврат к ранее просмотренным разделам подсказки |
| <F1> | Помощь по использованию самой подсказки |
| <N> | Переход к следующему разделу помощи |
| <P> | Переход к предыдущему разделу помощи |
| <C> | Переход к оглавлению подсказки |
| <F10>, <Esc> | Выход из окна просмотра подсказки |
Вы можете использовать клавишу пробела для перехода к следующей странице подсказки и клавишу <B> для перехода к предыдущей странице. Программа запоминает последовательность переходов по ссылкам и позволяет вернуться к ранее просмотренным разделам, воспользовавшись клавишей <L>.
Если включена поддержка мыши, то при просмотре подсказки можно пользоваться мышью. По щелчку левой клавиши мыши происходит переход по ссылке или перемещение по тексту подсказки. Щелчок правой кнопкой мыши используется для перехода к ранее просмотренным разделам.
Программа Midnight Commander обеспечивает поддержку мыши. Это свойство реализуется, если запущен драйвер мыши , независимо от того, работаете ли вы на консоли Linux или программа Midnight Commander запущена через терминал xterm (даже если вы используете соединение с удаленной машиной из xterm через telnet, rlogin или ssh ).
Щелчком левой кнопки можно переместить подсветку на любой файл любой из панелей. Для того, чтобы отметить (выделить) любой файл, достаточно щелкнуть правой кнопкой мыши на имени файла. Для снятия отметки используется та же правая кнопка.
Двойной щелчок левой кнопкой мыши на имени файла означает попытку запустить файл на исполнение (если это исполняемая программа); либо, если файл расширений содержит программу, ассоциированную с данным расширением, запускается эта программа и ей передается на обработку выбранный файл.
Щелчком мыши по функциональной кнопке можно также вызвать программу, ассоциированную с функциональными кнопками. Щелчок по команде верхнего меню вызывает выпадающее подменю.
Если щелкнуть мышью по верхней рамке панели, отображающей очень длинный список файлов, происходит перемещение списка на одну колонку назад. Щелчок по нижней рамке панели приводит, соответственно, к перемещению по списку на целую колонку вперед. Этот метод перемещения работает также при просмотре встроенной подсказки и просмотре окна Дерево каталогов.
Если Commander запущен с поддержкой мыши, вы можете производить копирование и вставку блоков текста, если будете удерживать клавишу <Shift>. Для этого нужно нажать клавишу <Shift> и, удерживая ее нажатой, выделить мышью нужный кусок текста, затем отпустить <Shift>, перенести курсор в нужное место, снова нажать <Shift> и щелнуть правой кнопкой мыши. Отметим, что это свойство не работает в окне
Панели программы Midnight Commander чаще всего отображают содержимое каталогов файловой системы (поэтому называются иногда панелями каталогов). Однако на панель может быть выведена и некоторая другая информация. В настоящем разделе будет рассказано, как изменить вид панели или способ представления информации на панели.
Вид панелей, в которых отображаются списки файлов и подкаталогов, может быть изменен через команды выпадающих меню левой и правой панелей Левая панель (Left) и Правая панель (Right) главного меню. Если вы хотите изменить формат представления списка файлов в панели, вы можете воспользоваться командой Формат списка... соответствующей (левой или правой) панели. Имеется возможность выбрать один из 4 вариантов представления списка файлов: Стандартный (Full), Укороченный (Brief), Расширенный (Long) и Определяемый пользователем (User).
При задании структуры вначале указывается размер панели: "half" (половина экрана) или "full" (весь экран). После размера панели можно указать, что на панели должно быть две колонки. Это делается добавлением цифры 2 в строку задания формата. Далее надо перечислить имена полей с необязательным параметром ширины поля. В качестве имен полей могут использоваться следующие слова:
name - отображать имя файла.size - отображать размер файла.bsize - отображать размер в альтернативной форме, при которой выводятся размеры файлов, а для подкаталогов выводится только надпись "SUB-DIR" или "UP-DIR".type - отображать одно-символьное поле типа. Этот символ может принимать значения из следующего подмножества символов, выводимых командой ls с параметром -F:mtime - время последней модификации файла.atime - время последнего обращения к файлу.ctime - время создания файла.perm - строка, показывающая текущие права доступа к файлу.mode - восьмеричное представление текущих прав доступа к файлу.nlink - число ссылок на данный файл.ngid - идентификатор группы (nuid - идентификатор пользователя (UID), в цифровой форме.owner - group - группа, имеющая права на файл.inode - номер Вы также можете использовать следующие имена полей для организации вывода информации на дисплей:
space - вставить пробел при выводе на дисплей.mark - вставить звездочку (| - вставить вертикальную линию при выводе на дисплей.Для того, чтобы задать фиксированную ширину поля, нужно добавить двоеточие ':', после которого указать число позиций, которое отводится под это поле. Если после числа поставить символ '+', то указанное число будет интерпретироваться как минимальная ширина поля, и, если экран позволяет, поле будет расширено.
Например, "стандартный" формат вывода задается строкой:
half type,name,|,size,|,mtime
а "расширенный" - строкой:
full perm, space, nlink, space, owner, space, group, space, size, space, mtime, space, name
А вот пример формата, определяемого пользователем:
half name,|,size:7,|,type,mode:3
Отображение списка файлов в любой из панелей может производиться в соответствии с одним из восьми порядков сортировки:
Порядок сортировки вы можете задать, выбрав в меню соответствующей панели команду Порядок сортировки.... При этом появляется диалоговое окно (рис. 6.2), в котором кроме желаемого порядка сортировки можно указать, что сортировка производится в обратном порядке (поставив с помощью клавиши пробела отметку в скобках возле слова Обратный (Reverse)) и с учетом регистра символов.
(рис 6.2) Диалоговое окно задание порядка сортировки
По умолчанию подкаталоги отображаются в начале списка, но это можно изменить, проставив отметку возле опции "Смешивать файлы/каталоги" ("Mix all files") команды Конфигурация меню Настройки.
Можно выводить в панель не все списки файлов данного каталога, а только соответствующие определенному шаблону. Команда Фильтр в меню любой панели позволяет задать шаблон, которому должны соответствовать имена файлов, отображаемых в панели (например, "*.tar.gz").
Имена подкаталогов и ссылки на подкаталоги отображаются всегда, независимо от шаблона.
В меню каждой из панелей имеется команда Перечитать (аналог которого в других программах обычно называется "Обновить"). Команда Перечитать (горячие клавиши <Ctrl>+<R>) обновляет список файлов, отображаемый в панели. Это бывает полезно в тех случаях, когда другие процессы создают или удаляют файлы. Если вы выполнили команду меню Критерий панелизации (
Помимо того, что может задаваться формат вывода на панель списка файлов, любую панель можно перевести в один из следующих режимов.
При выводе в панель результатов "быстрого просмотра" используется встроенная программа просмотра файлов, так что, если переключиться клавишей <Tab> в панель просмотра, вы сможете использовать все команды управления просмотром, в частности, перечисленные в табл. 6.1 - 6.2.
Для управления режимами работы панели можно пользоваться командами меню, которые были упомянуты выше, но удобнее использовать управляющие комбинации клавиш.
До сих пор мы рассказывали только о внешнем виде экрана программы Midnight Commander и о том, как изменить этот вид. Теперь пора рассказать о том, как работать с файлами с помощью этой программы.
Наиболее часто выполняемые в Midnight Commander операции привязаны к функциональным клавишам <F1> - <F10>. Приведем сводку в виде табл. 6.4.
| Функциональная клавиша | Выполняемое действие |
|---|---|
| <F1> | Вызывает контекстно-зависимую подсказку |
| <F2> | Вызывает меню, создаваемое пользователем |
| <F3> | Просмотр файла, на который указывает подсветка в активной панели |
| <F4> | Вызов встроенного редактора для файла, на который указывает подсветка в активной панели |
| <F5> | Копирование файла или группы отмеченных файлов из каталога, отображаемого в активной панели, в каталог, отображаемый на второй панели. При копировании одного файла можно поменять его |
| <F6> | Перенос файла или группы отмеченных файлов из каталога, отображаемого в активной панели, в каталог, отображаемый на второй панели. Как и при копировании, можно поменять имя файла или целевого каталога. |
| <F7> | Создание подкаталога в каталоге, отображаемом в активной панели |
| <F8> | Удаление файла (подкаталога) или группы отмеченных файлов |
| <F9> | Вызов основного меню программы (отображаемого над панелями) |
| <F10> | Выход из программы |
Перечисленные в этой
Прежде чем выполнять какую-то из операций, указанных в табл. 6.4 или задаваемых командами меню, надо выбрать файл или группу файлов, которые будут объектами операции. Для выбора только одного файла достаточно переместить на него подсветку в активной панели (конечно, вначале надо перейти в соответствующий каталог). Если же вы хотите выполнить какую-то операцию сразу над группой файлов, эти файлы надо отметить. Чтобы отметить файл, на который указывает в данный момент подсветка, используйте клавишу <Insert> или комбинацию <Ctrl>+<T>. При этом имя файла в панели выводится другим цветом. Для снятия отметки с файла используются те же комбинации.
Выделить группу файлов для последующей обработки можно также с помощью команды Отметить группу меню Файл. Эта команда используется для отметки группы файлов по заданному шаблону. Midnight Commander выдаст строку ввода, в которой надо задать регулярное выражение, определяющее желаемую группу имен. Если включена опция Образцы в стиле shell, регулярные выражение строятся по тем же правилам, которые действуют в оболочке shell (см. лекцию 5). Если опция "Образцы в стиле shell" отключена, то пометка файлов производится по правилам обработки нормальных регулярных выражений (см. руководство man ed ).
Если выражения начинаются или оканчиваются слэшем (/), то пометка будет ставиться на каталоги, а не на файлы.
"Горячей" клавишей для операции отметки группы файлов является клавиша <+> на цифровой клавиатуре.
Операция "Снять отметку" ("горячая" клавиша - <-> или <\> - обратный слэш) является обратной по отношению к операции отметки группы файлов и использует те же правила формирования шаблонов. Используется для снятия отметки с группы файлов.
Операция "Инвертировать отметку" (<*>) используется для того, чтобы снять отметки со всех помеченных файлов текущего каталога, одновременно отметив все файлы, которые не были помечены.
Если текущий каталог содержит много файлов (так что все они не умещаются на панели), то прежде чем отметить файл, его нужно еще отыскать. В таких случаях удобно пользоваться комбинациями клавиш <Ctrl>+<S> и <Alt>+<S>. После нажатия одной из этих комбинаций инициируется режим поиска имен файлов в текущей директории по первым символам имени. В этом режиме вводимые символы отображаются не в командной строке, а в строке поиска. Если режим Показ мини-статуса (Show mini-status) включен, эта строка отображается на месте строки мини-статуса. При этом в процессе ввода символов линия подсветка перемещается к следующему файлу, название которого начинается с введенной строки символов. Клавиши <Backspace> или <Del> могут использоваться для исправления ошибок. Если <Ctrl>+<S> нажато снова, осуществляется поиск следующего подходящего файла. Надо отметить, что если в текущем каталоге нет файлов с именами, начинающимися на вводимые символы, эти символы не отображаются в строке мини-статуса, что как раз и говорит Вам, что вы здесь не найдете искомого файла.
После выбора и отметки файлов для обработки достаточно нажать одну из функциональных клавиш, чтобы выполнить нужную операцию с файлами, например, скопировать файлы, переместить или удалить. Особенно удобно в сравнении с работой из командной строки осуществлять с помощью Midnight Commander просмотр или редактирование файлов, поскольку в Midnight Commander имеются встроенные программы для этих целей. Но в этом разделе мы не будем рассматривать встроенный редактор, отложив его описание до лекции, посвященной работе с текстовыми файлами.
Как уже говорилось, вовсе не обязательно использовать функциональные клавиши для вызова ассоциированных с ними команд. Любую из этих команд можно выполнить через меню Файл. Кроме команд, ассоциированных с функциональными клавишами, меню Файл содержит еще следующие команды (в скобках указаны соответствующие "горячие" клавиши).
chown.Midnight Commander указывает Как видите, меню Файл содержит все наиболее употребительные команды, которые нужны нам для обычных операций обработки файлов текущего каталога. Естественно, что операции, используемые чаще всего, связаны с функциональными клавишами. Поэтому вернемся к описанию этих команд, чтобы дать некоторые дополнительные пояснения.
При выполнении операций копирования и перемещения (или переименования) файлов вы имеете возможность изменить имена копируемых или перемещаемых файлов. Для этого вы должны задать маску для имен файлов-источников и маску для имен файлов, которые будут созданы (файлы-приемники). Обычно эта вторая маска представляет собой несколько символов замены (wildcards) в конце строки, определяющей место назначение создаваемых файлов. Задание масок осуществляется в строках ввода, отображаемых в окне, появляющемся после обращения к командам копирования / переноса (рис. 6.6).
Все файлы, удовлетворяющие маске источника, будут переименованы (скопированы или перемещены с новыми именами) в соответствии с маской файла-приемника. Если имеются помеченные файлы, то копируются (перемещаются) только помеченные файлы, удовлетворяющие заданной маске для файлов-источников.
(рис 6.6) Диалоговое окно для переименования файлов
Есть еще несколько опций, которые влияют на выполнение операций копирования/перемещения файлов, и которые устанавливаются в том же окне запроса, где задаются маски имен файлов, либо через команду меню Настройки | Конфигурация.
Опция Разименовывать ссылки (Follow links) определяет, будут ли при копировании жестких или символических ссылок в каталоге-приемнике (и рекурсивно в подкаталогах) создаваться такие же ссылки, или будут копироваться файлы (и подкаталоги), на которые эти ссылки указывают.
Опция Внутрь каталога, если есть (Dive into subdirs) определяет, что делать, если в каталоге-приемнике уже существует подкаталог, имя которого совпадает с именем файла (каталога), который копируется (источника). По умолчанию (опция отключена) содержимое каталога-источника копируется в каталог-приемник. Если опция включена, то в каталоге приемнике будет создан новый подкаталог с тем же именем, в который и будет осуществляться копирование.
Лучше показать это на примере. Пусть вы хотите скопировать содержимое каталога one в каталог /two/one, который уже существует. Обычно (опция отключена) mc будет просто копировать все файлы из one в /two/one. Если опцию включить, копирование файлов будет производиться в /two/one/one.
Опция Сохранять атрибуты (Preserve attributes) определяет, будут ли при копировании/перемещении сохранены атрибуты исходного файла: права доступа, временные метки и, если вы root, UID и umask.
На процедуры копирования и перемещения файлов оказывает также влияние установка опции Образцы в стиле shell в меню Настройки / Конфигурация. Когда эта опция включена, вы можете использовать символы замены (wildcards) '*' и '?' в маске источника. Они обрабатываются аналогично тому, как это делается в shell. В маске приемника разрешается использовать только '*' и '\<цифра>'. Первый символ '*' в маске приемника соответствует первой группе символов замены в маске источника, второй символ '*' соответствует второй группе и т. д. Аналогично, символ замены '\1' соответствует первой группе символов замены в маске источника, символ '\2' - второй группе и т. д. Символ '\0' соответствует целому имени файла-источника. Приведем пару примеров.
Пример 1. Если маска источника "*.tar.gz", а маска приемника - "/two/*.tgz", и имя копируемого файла - "foo.tar.gz", копия будет называться "foo.tgz" и будет находиться в каталоге "/two".
Пример 2. Предположим, вы хотите поменять местами имя и расширение файла, так чтобы "file.c" стал файлом "c.file". Маска источника для этого должна иметь вид "*.*", а маска приемника - "\2.\1".
Когда опция Образцы в стиле shell ("Use shell patterns") выключена, mc не осуществляет автоматической группировки. Для указания групп символов в маске источника, которые будут соответствовать символам замены в маске приемника, вы должны в этом случае использовать скобки '\(...\)'. Этот способ более гибкий, но требует больше усилий при вводе. Снова приведем два примера
Пример 3. Если маска источника имеет вид "^\(.*\)\.tar\.gz$", копирование производится в "/two/*.tgz" и копируется файл "foo.tar.gz", то результатом будет "/two/foo.tgz".
Пример 4. Предположим, что вы хотите поменять местами имя файла и его расширение, так чтобы имена вида "file.c" приняли вид "c.file".
Маска источника для этого - "^\(.*\)\.\(.*\)$", а маска приемника - "\2.\1".
При выполнении операций копирования/перемещения вы можете также преобразовать регистр символов в именах файлов. Если вы используете '\u' или '\l' в маске приемника, то следующий символ имени будет образован в верхнем (заглавные символы) или нижнем (строчные) регистре соответственно.
Если использовать в маске приемника '\U' или '\L', то к соответствующему регистру будут преобразованы все последующие символы, вплоть до следующего вхождения '\L' или '\U', или же до конца имени файла.
Применение '\u' и '\l' обеспечивает более широкие возможности, чем '\U' и '\L'.
Например, если маска источника есть '*' (опция Образцы в стиле shell включена) или '^\(.*\)$' (опция Образцы в стиле shell выключена), а маска приемника есть '\L\u*', имена файлов будут преобразованы таким образом, что первые буквы имени будут заглавными, а все остальные - строчными.
Символ '\' в масках используется для отмены специальной интерпретации отдельных символов. Например, '\\' означает просто обратный слэш (как литерал) и '\*' означает просто звездочку (
Когда вы выполняете операции копирования, перемещения или удаления файлов, Midnight Commander отображает на экране диалоговое окно, в котором показано, какой(ие) файл(ы) в данный момент обрабатывается и как идет процесс обработки. Для отображения процесса обработки на экран выводится до трех диаграмм-полосок (
В нижней части этого диалогового окна имеются две кнопки. Нажатие на кнопку Пропустить приведет к тому, что будет пропущена обработка текущего файла. Нажатие на экранную кнопку Прервать завершает выполнение заданной операции, все оставшиеся файлы будут пропущены.
В процессе выполнения файловых операций вы можете увидеть окна еще трех видов.
Окно ошибок информирует об ошибке и предлагает три варианта продолжения. Обычно вы выбираете либо вариант Пропустить для того, чтобы исключить из обработки файл, на котором споткнулась программа, либо Прервать, чтобы вообще отменить выполнение заданной операции. Третий вариант, Повторить, выбирается тогда, когда вам удалось устранить причину сбоя (например, воспользовавшись другим терминалом).
Окно подтверждения перезаписи появляется тогда, когда вы пытаетесь перезаписать существующий файл, т. е. в каталоге, в который производится перемещение или копирование уже есть файл с заданным именем. В окне подтверждения отображаются время создания и размер файла-источника (переносимого или копируемого файла) и файла-приемника (который в случае перезаписи будет уничтожен).
Ниже выведены два вопроса. На первый вопрос ("Переписать этот файл?") предлагается три варианта ответа:
Ответ на второй вопрос ("Переписать все файлы?") позволяет принять одно из 4 возможных решений по всем выбранным для обработки файлам (чтобы окно запроса не появлялось каждый раз):
Вы можете отказаться от выполнения операции, если нажмете кнопку Прервать в нижней части окна запроса. Выбор нужной экранной кнопки производится клавишами стрелок или клавишей табуляции.
Окно запроса на рекурсивное удаление появляется в том случае, когда вы пытаетесь удалить непустой каталог. По кнопке Да каталог будет удален вместе со всеми файлами, Нет означает отказ от удаления каталога, Все надо выбирать, если вы отметили группу подкаталогов для удаления и уверены в своем выборе, Ни одного -чтобы пропустить все непустые каталоги из числа помеченных, Прервать означает отказ от выполнения операции удаления. Выбирайте Да или Все только в том случае, когда вы действительно уверены, что хотите удалить каталог со всеми вложенными подкаталогами.
Если вы пометили для обработки группу файлов, то после выполнения операции будет снята отметка только с тех файлов, которые успешно обработаны. Пропущенные файлы останутся помеченными.
Как было сказано при описании внешнего вида экрана Midnight Commander, в нижней части экрана всегда присутствует командная строка оболочки.
Для того, чтобы во время работы с Midnight Commander запустить любую команду операционной системы, вы должны либо набрать имя соответствующей программы в командной строке, либо выбрать его в одной из панелей (переместив подсветку на имя файла программы), а затем нажать клавишу <Enter>. Если вы нажимаете клавишу <Enter> в тот момент, когда подсветка указывает на имя файла, не являющегося исполняемым, Midnight Commander сравнивает расширение выбранного файла с расширениями, прописанными в "файле расширений" ~/mc.ext. Если в файле расширений найдется подраздел, задающий процедуры обработки файлов с данным расширением, то обработка файла производится в соответствии с заданными в этом подразделе командами. Перед обработкой выполняются простые макро-подстановки.
Зачастую ввод команд требует ввода большого числа символов (особенно с учетом того, что надо указать параметры команды и, в том числе, полные, с указанием путей, имена обрабатываемых файлов). Для облегчения ввода в Midnight Commander существуют несколько клавиатурных команд, которые позволяют сократить число нажатий на клавиши во время ввода и редактирования команд в командной строке.
Строки ввода - это не только командная строка оболочки shell, но и строки ввода в диалоговых окнах различных подпрограмм. Во всех случаях, когда на экране появляется строка ввода, можно пользоваться управляющими комбинациями клавиш, перечисленными в табл. 6.5.
| Комбинация клавиш | Выполняемое действие |
|---|---|
| <Ctrl>+<A> | Перемещает курсор в начало строки |
| <Ctrl>+<E> | Перемещает курсор в конец строки |
| <Ctrl>+<B> | Перемещает курсор на одну позицию влево |
| <Ctrl>+<F> или <0> | Перемещает курсор на одну позицию вправо |
| <Alt>+<F> или <0> | Перемещает курсор на одно слово вперед |
| <Alt>+<B> | Перемещает курсор на одно слово назад |
| <Ctrl>+<H> или <Backspace> | Удаляет символ, предшествующий курсору |
| <Ctrl>+<D> или <Delete> | Удаляет символ в позиции курсора |
| <Ctrl>+<@> | Устанавливает метку для того, чтобы вырезать (скопировать в буфер) часть текста |
| <Ctrl>+<W> | Копирует текст, расположенный между курсором и меткой, в буфер, удаляя текст из строки ввода |
| <Alt>+<W> | Копирует текст, расположенный между курсором и меткой, в буфер (без удаления из строки ввода) |
| <Ctrl>+<Y> | Вставляет содержимое буфера в строку ввода перед позицией курсора |
| <Ctrl>+<K> | Удаляет текст от курсора до конца строки |
| <Alt>+<P> и <Alt>+<N> | Эти комбинации используются для перемещения по |
| <Ctrl>+<Alt>+<H> или <Alt>+<Backspace> | Удалить предшествующее слово |
| <Alt>+<Tab> | Пытается выполнить завершение ввода (completion) имени файла, команды, переменной, имени пользователя или имени хоста |
Выпадающее подменю Команды главного меню позволяет выполнить еще ряд операций по управлению файловой системой, а также выполнить некоторые команды, изменяющие вид панелей Midnight Commander и отображаемую в панели информацию.
При обращении к команде меню Дерево каталогов выводится окно, отображающее структуру каталогов файловой системы.
Дерево каталогов может быть вызвано двумя способами: через команду Дерево каталогов из меню Команды и команду Дерево из меню правой или левой панелей.
Чтобы избавиться от долгих задержек во время создания дерева каталогов, Midnight Commander создает дерево путем просмотра только небольшого подмножества всех каталогов. Если каталог, который вам нужен, не отображен, перейдите в его
Существует два режима отображения дерева каталогов. В статическом режиме перемещения для выбора каталога (т. е. перемещения подсветки на имя другого каталога) используются только клавиши <стрелка влево> и <стрелка вправо>. Показываются все известные программе на данный момент подкаталоги. В динамическом режиме клавиши <стрелка влево> и <стрелка вправо> используются для перехода на соседний каталог того же уровня. Для перехода в
Для управления просмотром дерева каталогов могут использоваться следующие комбинации клавиш:
Следующие действия возможны только в окне просмотра дерева каталогов и не поддерживаются при просмотре дерева в одной из панелей
В окне просмотра дерева каталогов поддерживается мышка. Двойной щелчок аналогичен нажатию клавиши <Enter>.
Команда Поиск файла (горячие клавиши <Meta>+<?> или <Esc>,<?>) выпадающего меню Команда позволяет вам найти на диске файл с заданным именем. После выбора этой команды меню вначале запрашивается имя искомого файла и имя каталога, с которого необходимо начинать поиск. Нажав экранную кнопку Дерево, вы можете выбрать начальный каталог поиска из дерева каталогов. В поле Содержание (Contents) можно задать регулярное выражение по правилам команды egrep. Это значит, что перед символами, имеющими специальное значение для egrep, необходимо вставить символ "\", например, если вам нужно найти строку "strcmp (", вы должны указать шаблон поиска в виде "strcmp \(". Для того, чтобы начать поиск, нажмите экранную кнопку Дальше. Во время поиска его можно приостановить кнопкой Остановить и продолжить по кнопке Продолжить.
Список найденных файлов можно просматривать, перемещаясь с помощью клавиш <Стрелка вверх> и <Стрелка вниз>. Кнопка Перейти используется для перехода в каталог, в котором находится подсвеченный файл. Кнопка Повтор служит для задания параметров нового поиска.
Кнопка Выход служит для выхода из режима поиска.
Нажатие на кнопку Панелизация приведет к тому, что результаты поиска будут отображены на текущую активную панель, так что вы можете производить с выбранными файлами еще какие-то действия (просматривать, копировать, перемещать, удалять и так далее). После вывода на панель можно нажать <Ctrl>+<R> для возврата к обычному списку файлов.
Кроме того, имеется возможность задать список каталогов, которые команда Поиск файла будет пропускать в ходе поиска (например, вы знаете, что искомого файла нет на CD-ROM или не хотите искать в каталогах, подключенных через NFS по очень медленному каналу). Каталоги, которые надо пропустить, должны быть указаны в переменной find_ignore_dirs в секции Misc Вашего файла ~/.mc/ini.
Имена каталогов разделяются двоеточиями, следующим образом:
[Misc] find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
Вы можете использовать
Команда Переставить панели (<Ctrl>+<U>) меняет местами содержимое правой и левой панелей.
По команде Отключить панели (<Ctrl>+<O>) показывается вывод последней из выполнявшихся команд shell. Эта команда работает только через xterm и на консоли Linux.
По команде Сравнить каталоги (<Ctrl-X>, <D>) сравнивается содержимое каталогов, отображаемых на левой и правой панелях.
Существует три метода сравнения. При быстром методе сравниваются только размер и дата создания файлов с одинаковыми именами. В результате в обоих каталогах будут подсвечены файлы, отсутствующие во втором каталоге, или более новые версии соответствующих файлов. После этого вы можете воспользоваться командой Копировать (<F5>) для того, чтобы сделать содержимое каталогов одинаковым.
При побайтном методе сравнивается содержимое файлов (побайтно). Этот метод недоступен, если машина не поддерживает системный вызов mmap(2). При сравнении по размеру сравниваются только размеры соответствующих файлов, а дата создания не проверяется.
Команда меню Критерий панелизации (который правильнее было бы назвать "find ). Например, если вы хотите выполнить какое-то действие над всеми символическими ссылками текущего каталога, вы можете использовать команду Критерий панелизации для запуска следующей команды:
[user]$ find . -type l -print
После выполнения этой команды в текущей панели будет отображено не содержимое соответствующего каталога, а только все
Если вы захотите, то можете сохранить часто используемые команды панелизации под отдельными информативными именами, чтобы иметь возможность их быстро вызвать по этим именам. Для этого нужно набрать команду в строке ввода (строка "Команда") и нажать кнопку Добавить. После этого вам потребуется ввести имя, по которому вы будете вызывать команду. В следующий раз вам достаточно будет выбрать нужное имя из списка, а не вводить всю команду заново.
Команда меню История команд выводит окно со списком ранее выполнявшихся команд. Подсвеченную строку из истории можно скопировать в командную строку оболочки (перемещение подсветки - клавишами <Стрелка вверх> и <Стрелка вниз>, копирование - по клавише <Enter>).
Доступ к
Команда меню Справочник каталогов (<Ctrl>+<\>) позволяет создать список каталогов, которые часто используются, и обеспечить быстрый переход к нужному каталогу из этого списка. Для этого создается список меток (условных имен), присвоенных наиболее часто используемым каталогам. Этот список можно использовать для быстрого перехода в нужный каталог. Пользуясь диалоговым окном справочника каталогов, вы можете добавить новую метку в список или удалить ранее созданную пару метка/каталог. Для добавления метки можно также использовать комбинацию клавиш (<Ctrl>+<X>, <H>), по которой текущий каталог добавляется в справочник каталогов. Программа выдаст запрос на ввод метки для этого каталога.
Команда меню Фоновые задания позволяет вам управлять фоновыми заданиями, запущенными из Midnight Commander (такими заданиями могут быть только операции копирования и перемещения файлов). Используя эту команду меню или "горячие" клавиши <Ctrl>+<X>, <J>, вы можете остановить, возобновить или снять любое из фоновых заданий.
После выбора команды меню Файл расширений вы получаете возможность редактировать файл mc.ext, в котором можете связать с определенным расширением файла (окончанием имени после последней точки) программу, которая будет запускаться для обработки (просмотра, редактирования или выполнения) файла с таким расширением. Запуск выбранной программы будет осуществляться после установки подсветки на имя файла и нажатия клавиши <Enter>.
Команда Файл меню используется для редактирования пользовательского меню (которое появляется после нажатия клавиши <F2>).
Программа Midnight Commander имеет ряд установок (опций), каждая из которых может быть включена или выключена, для чего служат несколько диалоговых окон, доступных через меню Настройки. Опция включена, если поставлена (с помощью клавиши пробела) звездочка или знак "x" в скобках перед названием опции. Рассмотрим последовательно команды меню Настройки, через которое включаются / отключаются эти опции.
Команда Конфигурация.
При выборе этой команды меню появляется диалоговое окно, изображенное на рис. 6.7. Параметры конфигурации, задаваемые в этом окне, делятся на три группы: "Настройки панелей", "Пауза после исполнения" и "Прочие настройки".
(рис 6.7) Окно настроек параметров конфигурации
В поле "Настройки панелей" вы задаете значения следующих параметров.
Midnight Commander не показывает файлы, имена которых заканчиваются на '~' (подобно опции -B команды ls ).ls -a ).Midnight Commander будет использовать для вывода содержимого каталога следующий трюк: содержимое каталога перечитывается только в том случае, если изменилась запись в i-node каталога, т. е. если в каталоге создавались или удалялись файлы; если изменялись только записи в i-node файлов каталога (изменялся размер файла, режим доступа или владелец и т.п.) содержимое панели не обновляется. В этом случае (если опция включена) вы должны обновлять список файлов вручную (клавишами <Ctrl>+<R>).Поле Пауза после исполнения. После выполнения Вашей команды Midnight Commander может обеспечить паузу, чтобы вы могли просмотреть и изучить вывод команды. Есть три варианта установки этой опции.
xterm вы можете просмотреть этот вывод, нажав <Ctrl>+<O>.xterm или Linux-консоли).В поле Прочие настройки вы задаете значения следующих параметров:
Midnight Commander перед выполнением операций копирования, перемещения и удаления подсчитывает общее число обрабатываемых файлов и их суммарный размер и показывает ход выполнения операции над этими файлами в виде диаграммы-полоски (правда, это слегка замедляет выполнение операций). Эта опция не работает, если отключена опция "Детали операций".shell (Shell Patterns). По умолчанию команды отметки группы файлов (Select), снятия отметки (Unselect) и вывода списка файлов по фильтру (Filter) используют регулярные выражения, которые строятся по правилам, действующим в оболочке. Для того, чтобы достичь такого эффекта, выполняются следующие преобразования: '*' заменяется на '.*' (ноль или больше символов); '?' заменяется на '.' (в точности один символ) и '.' заменяется на обычную точку (literal dot). Если опция отключена, то регулярные выражения должны строиться так, как описано в man 1 ed.Midnight Commander значения всех настраиваемых параметров сохраняются в файле ~/.mc/ini.EDITOR. Если такой редактор не задан, будет вызываться vi.PAGER . Если такая программа не задана, используется команда view.Midnight Commander может выполнять "Завершение ввода" при нажатии на клавиши <Alt>+<Tab>, пытаясь угадать окончание вводимой команды. По умолчанию при первом нажатии <Alt>+<Tab> он ищет все возможные варианты завершения и, если завершения неоднозначны (имеется много разных вариантов), то только издает звуковой сигнал. При втором нажатии <Alt>+<Tab> отображаются все возможные завершения. Если вы хотите видеть все возможные варианты завершения после первого нажатия <Alt>+<Tab>, включите эту опцию.Midnight Commander отображает в верхнем правом углу вращающуюся черточку, как индикатор того, что выполняется какое-то задание (операция).lynx. Если эта опция включена, вы имеете возможность использовать клавиши <0> для перехода в подсвеченный в данный момент каталог и <0> для перехода в родительский по отношению к текущему каталог (при условии, что командная строка пуста). По умолчанию опция отключена.chown. Если эта опция включена, то при обращении к командам chmod или chown вместо них будет вызываться Расширенная команда chown.Midnight Commander будет следовать логической цепочке подкаталогов при выполнении команд смены каталога как в панели, так и по команде cd. Так же ведет себя по умолчанию bash. Если же опция не включена, Midnight Commander будет при выполнении команды cd следовать реальной структуре каталогов, так что если вы вошли в текущий каталог по ссылке на него, то по команде cd .. вы окажетесь в его Диалоговое окно Внешний вид дает вам возможность изменить некоторые параметры отображения главного окна программы Midnight Commander на экране монитора (рис. 6.8).
(рис 6.8) Настройки внешнего вида программы
Вы можете вывести на экран или отменить вывод строки главного меню, командной строки, строки подсказок, мини-статуса, строки с подсказкой по функциональным клавишам. На Linux- (или
Можно также указать, должны ли панели располагаться горизонтально или вертикально, изменить размеры панелей.
По умолчанию вся информация отображается одним цветом, но вы можете сделать так, что права доступа и типы файлов были выделены другими цветами. Если включено выделение цветом прав доступа, поля perm и mode в форматах вывода, показывающие права пользователя, запустившего программу Midnight Commander, выделены цветом, определенным ключевым словом selected в секции [Colors] инициализационного файла ~/.mc/ini. Если включено выделение цветом типов файлов, то разными цветами выделяются каталоги, дампы памяти (файлы core ), исполняемые файлы и т. д.
Если включена опция Мини-статус, в нижней части каждой панели выводится строка информации о выделенном подсветкой файле или каталоге каждой панели.
В диалоговом окне Биты символов... (рис. 6.9) вы указываете, в каком формате Ваш терминал будет обрабатывать (вводить и отображать на дисплее) информацию, представленную байтами (например, записанную в файле).
(рис 6.9) Настройка вывода
Если терминал поддерживает только 7-битный вывод, то нужно выбрать установку 7 бит. Выбрав "ISO-8859-1" вы получите все символы из таблицы ISO-8859-1, а выбор установки Полный 8-битный вывод имеет смысл на тех терминалах, которые могут отображать все 8-битовые символы. Чтобы при просмотре или редактировании файлов в Midnight Commander видеть на экране кириллицу, установите опции Полный 8-битный вывод и Полный 8-битный ввод (как на рис. 6. 9) и нажмите экранную кнопку Дальше.
Установка опции Полный 8-битный вывод позволяет просматривать на экране файлы, набранные в кодировке cp1251 ), то имейте в виду, что Валерий Студенников написал чудесную заплату (patch), которая позволяет выбирать кодовые страницы при просмотре и редактировании файлов в Midnight Commander (см. http://www.linux.zp.ua:8100/mc/ или http://www.sama.ru/~despaire/mc/my-patches.html). Только вам придется самому скомпилировать версию mc с этой возможностью. Однако это не так уж сложно (см. лекцию 10).
Используя команду меню Подтверждения, вы можете сделать так, чтобы перед выполнением операций удаления, перезаписи и запуска файла на выполнение, а также перед выходом из программы mc, выдавался дополнительный запрос на подтверждение (либо отменить такие запросы, что несколько рискованно).
Команда Распознавание клавиш: (Learn keys:) вызывает диалоговое окно, в котором вы можете протестировать работу некоторых клавиш (<F1> - <F20>, <Home>, <End>), которые работают не на всех типах терминалов. В диалоговом окне появляется таблица с названиями клавиш, которые подлежат тестированию. Вы можете перемещать подсветку по названиям, используя клавишу <Tab> или клавиши, применяемые в редакторе vi (<h> - влево, <j> - вниз, <k> -вверх, <l>- вправо). Если один раз нажать на клавиши со стрелками, после чего возле их названий в таблице появится пометка OK, то их тоже можно будет использовать для управления перемещением.
Для тестирования работы клавиш нужно нажать каждую клавишу из перечисленных в таблице. Если она работает нормально, возле ее названия в таблице появится пометка OK. После появления такой пометки клавиша начинает работать в ее обычном режиме. Например, первое нажатие на клавишу <F1> приводит только к появлению пометки OK (если клавиша работает нормально), а при следующих нажатиях будет вызываться окно подсказки. То же самое относится к клавишам стрелок. Клавиша <Tab> работает всегда. Если какая-то клавиша не работает, то после нажатия на нее пометка OK не появится. В таком случае можно связать ту реакцию системы, которая должна была последовать за нажатием неработающей (отсутствующей) клавиши, с нажатием другой клавиши или комбинации клавиш. Для этого надо переместить подсветку на название неработающей клавиши (используя мышь или клавишу <Tab>) и нажать <Enter> или клавишу пробела. Должно появиться окно красного цвета, в котором вас просят нажать клавишу, которая будет использоваться вместо неработающей. Для отмены операции нажмите <Esc> и дождитесь, пока красное окно исчезнет. Либо выберите и нажмите ту комбинацию клавиш, которая будет служить заменой для неработающей клавиши (и тоже дождитесь закрытия окна). Когда закончите тестирование и настройку всех клавиш, вы можете сохранить эти настройки в секции [terminal:TERM] Вашего файла ~/.mc/ini (где TERM - название используемого терминала) либо отказаться от запоминания изменений. Если все клавиши работают нормально, то сохранение, конечно, не требуется.
Команда Виртуальные ФС вызывает диалоговое окно, в котором вы можете задать значения некоторых параметров, связанных с использованием виртуальных файловых систем.
Команда Сохранить настройки обеспечивает сохранение выбранных значений параметров в ini-файле программы.
Я надеюсь, что приведенный в этом разделе материал позволит вам начать работать с программой Midnight Commander. Но возможности этой программы гораздо шире, чем это описано в настоящем разделе. В лекции 12 вы еще прочитаете о встроенном редакторе CoolEdit программы Midnight Commander. Кроме того, можно воспользоваться встроенной подсказкой, вызываемой по клавише <F1>. Перевод файла подсказки на русский язык (в виде bzip2-архива) вы можете найти на сайте http://linux-ve.chat.ru. Разархивируйте его, поместите в каталог /usr/lib/mc, заменив расположенный там файл mc.hlp, и вы будете при нажатии клавиши <F1> получать подсказку на русском языке.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.