Опубликован: 24.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 7:

Программа Midnight Commander

Управление панелями

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

Форматы отображения списка файлов

Вид панелей, в которых отображаются списки файлов и подкаталогов, может быть изменен через команды выпадающих меню левой и правой панелей Левая панель (Left) и Правая панель (Right) главного меню. Если вы хотите изменить формат представления списка файлов в панели, вы можете воспользоваться командой Формат списка... соответствующей (левой или правой) панели. Имеется возможность выбрать один из 4 вариантов представления списка файлов: Стандартный (Full), Укороченный (Brief), Расширенный (Long) и Определяемый пользователем (User).

  • В "стандартном" формате отображаются имя файла, его размер и время последней модификации.
  • В "укороченном" формате отображаются только имена файлов, за счет чего на панели умещаются две колонки (и видно вдвое больше имен).
  • В "расширенном" формате содержимое каталога представляется так, как это делает команда "ls -l". В этом формате панель занимает весь экран.
  • Если вы выберете формат "определяемый пользователем", вы должны будете задать структуру отображаемой информации.

При задании структуры вначале указывается размер панели: "half" (половина экрана) или "full" (весь экран). После размера панели можно указать, что на панели должно быть две колонки. Это делается добавлением цифры 2 в строку задания формата. Далее надо перечислить имена полей с необязательным параметром ширины поля. В качестве имен полей могут использоваться следующие слова:

  • name - отображать имя файла.
  • size - отображать размер файла.
  • bsize - отображать размер в альтернативной форме, при которой выводятся размеры файлов, а для подкаталогов выводится только надпись "SUB-DIR" или "UP-DIR".
  • type - отображать одно-символьное поле типа. Этот символ может принимать значения из следующего подмножества символов, выводимых командой ls с параметром -F:
    • * (asterisk) - для исполняемых файлов;
    • / (slash) - для каталогов;
    • @ (at-sign) - для ссылок (links);
    • = (знак равенства) - для сокетов (sockets);
    • - (дефис) - для байт-ориентированных устройств;
    • + (плюс) - для блок-ориентированных устройств;
    • | (pipe) - для файлов типа FIFO;
    • ~ (тильда) - для символических ссылок на каталоги;
    • ! (восклицательный знак) - для оборванных (stalled) символических ссылок (ссылок, указывающих на отсутствующий файл).
  • mtime - время последней модификации файла.
  • atime - время последнего обращения к файлу.
  • ctime - время создания файла.
  • perm - строка, показывающая текущие права доступа к файлу.
  • mode - восьмеричное представление текущих прав доступа к файлу.
  • nlink - число ссылок на данный файл.
  • ngid - идентификатор группы (GID), в цифровой форме.
  • nuid - идентификатор пользователя (UID), в цифровой форме.
  • owner - владелец файла.
  • group - группа, имеющая права на файл.
  • inode - номер inode файла.

Вы также можете использовать следующие имена полей для организации вывода информации на дисплей:

  • space - вставить пробел при выводе на дисплей.
  • mark - вставить звездочку (asterisk) если файл помечен, пробел - если не помечен.
  • | - вставить вертикальную линию при выводе на дисплей.

Для того, чтобы задать фиксированную ширину поля, нужно добавить двоеточие ':', после которого указать число позиций, которое отводится под это поле. Если после числа поставить символ '+', то указанное число будет интерпретироваться как минимальная ширина поля, и, если экран позволяет, поле будет расширено.

Например, "стандартный" формат вывода задается строкой:

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

Отображение списка файлов в любой из панелей может производиться в соответствии с одним из восьми порядков сортировки:

  • по имени;
  • по расширению;
  • по размеру файла;
  • по времени модификации;
  • по времени последнего обращения к файлу;
  • по номеру узла (inode);
  • без сортировки.

Порядок сортировки вы можете задать, выбрав в меню соответствующей панели команду Порядок сортировки.... При этом появляется диалоговое окно (рис. 6.2), в котором кроме желаемого порядка сортировки можно указать, что сортировка производится в обратном порядке (поставив с помощью клавиши пробела отметку в скобках возле слова Обратный (Reverse)) и с учетом регистра символов.

Диалоговое окно задание порядка сортировки

Рис. 6.2. Диалоговое окно задание порядка сортировки

По умолчанию подкаталоги отображаются в начале списка, но это можно изменить, проставив отметку возле опции "Смешивать файлы/каталоги" ("Mix all files") команды Конфигурация меню Настройки.

Можно выводить в панель не все списки файлов данного каталога, а только соответствующие определенному шаблону. Команда Фильтр в меню любой панели позволяет задать шаблон, которому должны соответствовать имена файлов, отображаемых в панели (например, "*.tar.gz").

Имена подкаталогов и ссылки на подкаталоги отображаются всегда, независимо от шаблона.

В меню каждой из панелей имеется команда Перечитать (аналог которого в других программах обычно называется "Обновить"). Команда Перечитать (горячие клавиши <Ctrl>+<R>) обновляет список файлов, отображаемый в панели. Это бывает полезно в тех случаях, когда другие процессы создают или удаляют файлы. Если вы выполнили команду меню Критерий панелизации (перенаправление вывода команды на панель, о нем будет рассказано ниже), и вследствие этого на панели находятся результаты работы какой-то программы, по команде Перечитать на панель вновь будет выведено содержимое каталога.

Владислав Гермак
Владислав Гермак
У Вас ошибка в курсе
Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Александр Климов
Александр Климов
Россия, Московское высшее техническое училище им. Н. Э. Баумана, 1989