Опубликован: 24.07.2006 | Доступ: свободный | Студентов: 8870 / 1199 | Оценка: 3.95 / 3.75 | Длительность: 41:47:00
ISBN: 978-5-94157-183-3
Лекция 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>) обновляет список файлов, отображаемый в панели. Это бывает полезно в тех случаях, когда другие процессы создают или удаляют файлы. Если вы выполнили команду меню Критерий панелизации (перенаправление вывода команды на панель, о нем будет рассказано ниже), и вследствие этого на панели находятся результаты работы какой-то программы, по команде Перечитать на панель вновь будет выведено содержимое каталога.

Владислав Гермак
Владислав Гермак

Приглашения оболочки

Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения, которое bash выводит, когда ожидает ввода очередной команды пользователем. По умолчанию этой переменной присвоено значение "\s-\v\$ ".

"\s-\v\$ ". -значиние /v замените /u