О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

19.08.2008

Универсальный konqueror

2005 г

Содержание

Введение

Каждому пользователю любой ОС, будь то Windows или Linux, DOS или Solaris, не избежать операций с файлами - их просмотра, копирования, перемещения, а иногда - страшно сказать - даже удаления. Хорошо юниксоидам-позиксивистам, привыкшим к консольному режиму: для всех этих действий им достаточно командной оболочки, сиречь шелла (shell) и десятка команд. Данные с необходимыми опциями и в должных сочетаниях, команды эти, подобно конторе Кука, предоставят полную информацию о файловой системе, дадут возможность отобрать из изобилия созданных документов те, что потребны в данный момент, и произвести над ними те действия, которые позволят прийти к поставленной цели кратчайшим путем (разве что верблюда не пришлют для доставки к оной).

А как быть пользователям, с младых ногтей подвергшимся тлетворному влиянию графических интерфейсов, которым командная строка кажется столь же таинственной, как Книга Мертвых древних египтян? Конечно, радикальный выход для них - скорее ознакомиться с командами управления файлами (хотя бы в объеме соответствующей интермедии). Но пока суть да дело - им на помощь придут программы, именуемые файловыми менеджерами.

О древовидниках и двухпанельниках

Не скажу за Windows - каюсь, по незнанию, - но в POSIX-системах (и в этом пользователь должен четко отдавать себе отчет) файловые менеджеры не делают ничего такого, что не могли бы сделать встроенные команды оболочки и штатные утилиты операционной системы (т.н. классические Unix-утилиты). Более того, ни на что большее они не способны в принципе: ведь при любой файловой операции они используют те же базовые функции ядра ОС (то есть системные вызовы), специально для этой цели предназначенные. Которые уже испокон веков и по полной программе задействованы в файловых утилитах POSIX-систем. А подчас файловые менеджеры просто являют собой надстройки на шелл-командами - так называемые front-end'ы. Однако красивые интерфейсы и удобные менюшки могут создать впечатления если не богатства возможностей, то хотя бы простоты их использования.

Все файловые менеджеры можно условно разделить на две категории - двухпанельники и древовидники, по преобладающему представлению в них файловых систем. В силу некоторых причин начнем со вторых.

Древовидные файловые менеджеры ведут свое начало от старинной, ныне почти забытой DOS-программы XTree Gold. И исходят они из метафоры дерева файловой системы (каковым в POSIX-совместимых операционках она на самом деле и является). Типичным их современным представителем является Windows Explorer (хотя как раз в этой операционке понятия древовидной организации файловой системы и нет). Преобладающий (и адекватный представлению) способ манипуляции файлами здесь - перетаскивание их мышью из одного каталога в другой, действия с помощью клавишных комбинаций занимают подчиненное положение. Может, потому и не получили они популярности во времена "черного DOS'а" и столь же черной текстовой консоли Unix, к коим мышь приходилось прикручивать пассатижами...

Двухпанельные файловые менеджеры апеллируют к другой метафоре - списку файлов в каталоге. А поскольку плоский список (в сущности, ничем не отличающийся от вывода команды ls в шелле) давал, казалось, немного простора для файлопредставления (хотя именно вывод команды ls, как мы видели в Интермедии 6, опровергает это мнение), появилась резонная мысль вывести одновременно два независимых списка файлов, между которыми и осуществляется взаимодействие. Причем здесь определяющей оказывается обычно роль клавишных комбинаций (что, конечно, не значит, что в двухпанельниках запрещен Drag&Drop, а в древовидниках нельзя использовать "горячие клавиши"). Впервые двухпанельная метафора была реализована в знаменитом Norton Commander, почему их часто называют еще менеджерами командирского стиля.

В отличие от древовидников, давших достаточно мало (по числу представителей, но не пользователей - вспомним Windows Explorer) отростков, двухпанельная идея породила множество продолжателей. Тут можно перечислить и отечественный Volkov Commander (без него по сию пору не обходится ни один диск-Reanimator), и столь же родной FAR, и - двухпанельник в квадрате - "четырехглазый пай-мальчик" (Pie Commander), и множество других. Апофеозом же двухпанельников стал Windows Commander, не так давно трасформировавшийся в "тоталитарного командира" (Total Commander).

В мире POSIX-систем древовидная идея вообще произрастала довольно хило (хотя несколько файловых менеджеров, сделанных по образу и подобию XTree Gold, и существуют, но я почти не знаю тех, кто ими реально бы пользовался). А вот двухпанельная идея обрела здесь благодатную почву. И хотя количественно их оказалось немного, один из них - Midnight Commander (mc) - занял в Linux господствующее положение среди всех файловых менеджеров (не считая командной строки, конечно). В мире же BSD-систем получил некоторое распространение отечественный продукт - deco (он же Demos Commander от дедушки русского Интернета).

Интересно, что доминирование двухпанельников над древовидниками особенно явно выражено среди отечественных пользователей: популярность на Руси и старого NC, и современных FAR и Total Commander вкупе с mc (и с поправкой на ОС) далеко превосходит общемировой уровень. Достаточно заметить, что все отечественные дистрибутивы Linux непременно включают mc в "умолчальный" набор устанавливаемых приложений. Чего в дистрибутивах заграничных эта программа удостаивается не так уж и часто.

Объяснение феномена двухпанельной любви можно найти в изысканиях историков из Екатеринбурга, опубликованных на сайте Neosoft (http://www.neosoft.ru). Ими было показано, что знаменитый герой Первой Русской революции, лейтенант Петр Петрович Шмидт, не погиб в застенках от лап царских опричников. А таинственным образом спасся и эмигрировал в США, где его с удовольствием приняли на службу в Военном-Морские силы. Там под именем Питера (sic!) Нортона он дослужился до капитана (по уточненным мною сведениям - до коммандера, этот чин и дал имя предтече обсуждаемого класса программ), после чего вышел в отставку и занялся софтверным бизнесом. Оставшись, не смотря на годы жизни на чужбине, сугубо русским человеком, он как никто другой смог угадать чаяния пользователей-соотечественников. На что они и ответили всенародной любовью к его продуктам, в том числе и к Norton Commander.

От себя замечу, что версия екатеринбуржцев подтверждается рядом косвенных признаков. В частности - умолчальной цветовой гаммой первозданного NC, унаследованной и VC, и FAR, и mc. Каковая являет собой ни что иное, как инвертированные цвета Андреевского флага...

Однако я отвлекся - вернемся к нашим файловым менеджерам. Исторически сложилось так, что я никогда не мог причислить себя ни к двухпанельникам, ни к древовидникам в чистом виде. XTree Gold прошел как-то мимо меня, развесистые баобабы Windows Explorer наводили ужас. Во времена "черного DOS'а" я, конечно, прибегал к NC. Однако и тогда набрать к командной строке что-нибудь типа copy from to, мне казалось проще, чем рыскать стрелками по панелям и запоминать горячие клавиши. А уж в Linux или BSD, с их непревзойденными возможностями автоматизации действий в шелле, необходимость в mc или deco вообще возникала достаточно редко - и только на раннем этапе освоения командного интерфейса.

Так и остался бы я лишним на празднике жизни файловых менеджеров, если бы в один прекрасный день не сделал замечательное открытие, имя которому - konqueror.

Konqueror в его величии

Конечно, о существовании konqueror я знал со дня его появления. Ведь эта программа - одно из штатных средств интегрированной графической среды KDE (начиная с версии 2.0), функционирующей поверх любого дистрибутива Linux (собственно, во многих она представляет собой десктоп по умолчанию), FreeBSD или любой другой BSD-системы. И устанавливается эта программа вместе со всей средой, являясь ее непременным и неотъемлемым компонентом - почти таким же, как Windows Explorer в одноименной операциоке.

При первом запуске konqueror (делается это щелчком на пиктограмме Home на рабочем столе или панели KDE) не производит впечатления выдающегося произведения программистской мысли: обычный Explorer-подобный файловый менеджер с преобладанием древовидных черт в его облике (рис. 1).

Рис. 1. Вид konqueror по умолчанию. Грубо слепленный клон Windows Explorer, не так ли?

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

Повторяю, на первый взгляд - ничего. И если случайно (или - прочитав эту статью) не залезть в его настройки, но так до конца жизни можно остаться в неведении относительно бездонных их возможностей. Правда, надо отметить, что настройки эти не вполне логично разбросаны по трем пунктам главного меню - Вид, собственно Настройка и Окно. Может быть, потому они и не получили пока всенародной известности.

Начать с того, что Explorer-подобная ипостась konqueror, хотя и загружается по умолчанию, - лишь одна из многих доступных. Зайдя в меню Окно, видим, что можно легко отключить файловое древо навигационной панели, получив просто плоскость с пиктограммами каталогов и файлов. Жизни нашей это отнюдь не украсит, поэтому преобразуем ее в список с именами файлов и их атрибутами.

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

Здесь можно последовательно включить/отключить демонстрацию размера и типа файла, времени его изменения (атрибут mtime) и последнего к нему доступа (атрибут atime), имя владельца и группу, которой он принадлежит, а также атрибуты доступа - в том порядке, в каком мы их подключаем. Что-то напоминает (рис. 2), не так ли? Совершенно верно, да это же практически вывод команды ls, только в несколько ином порядке.

Рис. 2. Представление konqueror в виде плоского списка - по информативности ничуть не ниже, чем вывод команды ls с максимально задействованными опциями

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

Теперь для пущей двухпанельности остается только вывести параллельно два независимых таких списка. Этого достигаем, вернувшись в меню Окно и приказав - Разделить панель по вертикали. После чего, скорректировав вывод атрибутов, получаем вполне Norton-подобный вид (рис. 3).

Рис. 3. Konqueror - почти Norton-подобный вид

По аналогии с NC легко догадаться, что между панелями возможен обмен файлами - копирование, перемещение, и т.д. Делать, однако, это пока придется либо методом Drag&Drop или через пункты главного меню. Что для истинного сына командира Нортона покажется неприемлемым.

Не беда - в его распоряжении возможность настроить комбинации горячих клавиш (почти) так, как ему хочется. Для чего в меню Настройка предусмотрен специальный пункт - Комбинации клавиш. Он вызывает список доступных действий (рис. 4). В нем достаточно выбрать то, коему мы хотим приписать привычную клавишную комбинацию (например, Выделить все), отметить переключатель По выбору - и нажать то, что нужно (в данном случае - привычные Серый плюс и Серый Enter на малой цифровой клавиатуре).

Рис. 4. Настройка "горячих клавиш": еще один шаг к полному Norton-подобию

Аналогично можно поступить и с прочими привычными клавишами - привязать к F3 функцию просмотра файла, к F4 - вызов редактора для его модификации (причем - не обязательно встроенный, которым по умолчанию KDE выступает KWrite, а любой имеющийся в системе, в том числе и консольный), к F5 и F6 - копирование и перемещение файлов, соответственно. Правда, тут нужно оговориться - некоторые из клавишных комбинаций могут быть уже задействованы как умолчания самой KDE. Однако и их изменить - не проблема, благо, в нынешних версиях ее сделать это предлагается сразу же (лезть в настройки клавиатуры среды стало не нужно).

Однако сила командира Нортона была отнюдь не только в двух его панелях. А еще и в собственной командной строке, еще в приснопамятные времена далеко превосходившей по своей функциональности убогий DOS'овский COMMAND.COM. И где она здесь? - спросите вы меня.

Отвечу легко: командная строка командира нам тут не потребуется. Ибо, поворотившись обратно же в меню Окно, мы увидим там пункт Показать эмулятор терминала. И включение его даст нам не просто командную строку - а полноценное терминальное окно с запущенным экземпляром вашей пользовательской оболочки, настроенной в полном соответствии с тем, как это описано в ее профильных файлах (типа ~/.bash_profile и т.д. - но это было темой главы 15). То есть в этом окне доступны будут и автодополнения команд и путей (нажатием клавиши табулятора), и командная история (прокручиваемая стрелками управления курсором), и управление заданиями (стандартными шелл-операторами типа &), и перенаправления ввода/вывода, и вообще все тридцать три удовольствия чисто консольной жизни - но в графическом режиме.

И при этом одну из панелей можно синхронизировать с терминалом - для этого нужно отметить переключатели в нижнем правом углу панели и терминального окна. И тогда мы получаем а) всю гибкость работы в командной строке плюс б) полную визуализацию результатов своих действий - именно ее часто не хватает начинающему пользователю при использовании команд типа cp, mv или rm. Вплоть до возможности перетаскивания файлов в строку шелла методом Drag&Drop - для задания их имен как аргументов команд.

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

Рис. 5. Konqueror - итоговый вариант: и терминал бывает украшением рабочего стола (фоном - фрагмент фотографии залива Сан-Франциско)

Пару слов специально об установке типа терминала. Для нормального поведения клавиш управления курсором здесь настоятельно рекомендую Linux console - даже во FreeBSD, это даст привычное поведение клавиш типа Home и End в большинстве командных оболочек. А вот для tcsh добиться того же мне удавалось только при типе терминала XTerm (XFree 4.x.x).

Вообще говоря, терминальное окно konqueror по своим свойствам и функциям полностью идентично программе эмулятора терминала из комплекта KDE - konsole. Так что все сказанное относится и к ней, избавляя меня от необходимости введения дополнительного раздела. Отмечу только, что сама по себе konsole - очень мощная и удобная терминалка, позволяющая создавать множество связанных окон с навигацией по ним с помощью вкладок или клавишных комбинаций. А если последние определить как Alt+F# - то можно добиться полной иллюзии работы в обычной текстовой консоли.

И еще - к слову о настройках вообще. Большинство из выполненных нами ранее действий будут иметь силу только для запущенной в данный момент копии konqueror. Чтобы сделать их перманентными, требуется сохранить настройки в профиле. Что делается - кто бы мог подумать! - в меню Настройка, и ее пункте Сохранить профиль просмотра filemanagement.

Лики konqueror'а

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

Рис. 6. Предварительный просмотр файлов, слева направо: навигационная панель, фиксация на которой выбирает каталог, панель содержимого каталога - в ней мы выбираем файл, отображаемый в панели просмотра.

Ничто не в силах помешать нам создать и собственный профиль konqueror, либо из умолчального, либо взяв за основу один из иных существующих. Для чего ему нужно только присвоить имя в момент сохранения. Правда, щелчком по все той же пиктограмме Home по прежнему будет вызываться прежний умолчальный профиль. Можно ли это изменить?

Ну конечно же, можно. Для чего 1) отправляемся в панель запуска KDE, 2) отыскиваем там нужный нам значок (в большинстве тем это в той или иной степени стилизованное изображение домика), 3) щелкаем на нем правой клавишей мыши, 4) в появившемся контекстном меню выбираем пункт Свойства, 5) в возникшей панели переходим на вкладку Приложение, и 6) отыскиваем на ней поле Команда (рис. 7). А в поле этом остается просто заменить имя вызываемого профиля, выступающего как аргумент команды kfmclient (в оригинале это имеет вид kfmclient openProfile filemanagement), на имя, придуманное ранее, при сохранении профиля (типа kfmclient openProfile my_profile_name).

Рис. 7. Создание собственного профиля konqueror, вызываемого по умолчанию через главную стартовую панель KDE

Konqueror в ипостаси браузера

К слову сказать, среди имен предопределенных профилей можно обнаружить и такое - webbrowsing. Да-да, konqueror - не только файловый менеджер-организатор, но и Интернет-агитатор - web-браузер. Причем, начиная с KDE версии 3.0, вполне сравнимый по функциональности с такими всамделишними браузерами, как Mozilla или Opera (и далеко превосходящий Internet Explorer). Что немаловажно в наших условиях - без проблем справляющийся с любыми кириллическими кодировками, каковые могут быть определены автоматически или установлены вручную. Правда, автоматическое определение кодировки основывается на значении метатэга charset, и при его отсутствии на странице (а многие web-мастера не утруждают себя указанием набора символов) не сработает,

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

Разумеется, запустить konqueror в реинкарнации web-браузера можно и сам по себе - для этого на стартовой панели KDE по умолчанию имеется соответствующая пиктограмма (нечто вроде земного шарика, обрамленного шестеренкой). Просмотр ее (то есть пиктограммы) свойств показывает, что стартует браузер командой kfmclient openProfile webbrowsing - то есть различия с файловым менеджером только в аргументе запускающей команды. Из чего заключаем, что и для него можно создать любой собственный профиль.

А поводов для этого konqueror-браузер дает сколько угодно. Потому что в нем, как и в файловом менеджере, можно настроить все, что душе угодно - и шрифты для отображения web-страниц, и вид и состав инструментальной панели, и положение панели закладок, и многое, многое другое.

При желании можно придать браузеру двухпанельный вид, или отобразить в нем окно терминала (рис. 8). За каким зеленым это потребуется? - спросите вы меня. Не скажите, батенька, - отвечу я вам. Такое представление оказывается очень не лишним при работе с ftp-архивами - файлы из них можно копировать точно также, как это делается на локальной машине (перетаскиванием мышью, горячими клавишами или просто из командной строки). Правда, при условии, что в konqueror будет интегрирован собственный ftp-клиент KDE - kget (который, напомню, входит не в основной kdebase, как konqueror, а в отдельный пакет kdenetworks). Впрочем, он это проделывает сам собой при первом же запуске (если специально не отказаться от этой возможности). А можно из командной строки воспользоваться каким-либо консольным ftp-клиентом, типа wget или lftp - возможности и того, и другого далеко выходят за рамки функций большинства "качалок" графического режима. В этом случае и kdenetworks не понадобится...

Рис. 8. Konqueror в ипостаси браузера - и с терминальным окном. Для чего? Да для запуска консольного ftp-клиента, например...

Однако описанием возможностей konqueror в роли браузера я заниматься не буду. Как и его настройками - выполняются они очень просто, и по аналогии с настройкой konqueror - файлового менеджера. Хотя на отдельных деталях позволю задержать ваше внимание.

Одна из привлекательных черт konqueror в роли браузера - использование концепции закладок (Tabs). Появившись впервые в Opera (основанной, к слову сказать, на той же библиотеке Qt), эта концепция была внедрена чуть ли не во все браузеры графического режима. И нынче ей можно удивить разве что пользователей Internet Explorer. Однако в konqueror она реализована очень полно - практически также, как в матушке-Opera.

Кого из нас не раздражали сайты, авторы которых склонны злоупотреблять атрибутом target=_blank в тэгах гиперссылок? В результате чего любой "клик" по ссылке приводит к открытию нового окна, каковые мгновенно заполоняют собой весь экран, сколь бы большим он не был. Конечно, с этим можно бороться: кликнув на ссылке правой клавишей и выбрав из контекстного меню пункт Открыть в новой вкладке. Однако можно и решить эту проблему раз навсегда. Для чего отправиться в меню Настройка, выбрать там пункт Настроить konqueror и в панели Поведение Web отметить переключатель Открывать ссылки в новой вкладке, а не в новом окне. А через кнопку Дополнительные параметры распространить действие этой опции даже на всплывающие окна (так называемые pop-up'ы).

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

Пустячок, но приятный: программа krename

А в заключение этой интермедии я хотел бы рассказать о замечательной программе, имеющей прямое отношение к проблеме управления файлами. Хотя и не входящей в konqueror и даже в комплект KDE вообще, но созданной для работы в этой среде. Программа эта - krename, и предназначена она для массового переименования файлов. Чтобы оценить ее удобство и востребованность, представим себе такую ситуацию.

Дано: массив старых файлов, имена которых записаны в формате DOS в виде 8.HTM, которые нужно включить в новый сайт и, соответственно, переименовать для единообразия в вид имя.html. Пользователя Windows с его Explorer'ом сама мысль о потребном количестве кликов вгонит в дрожь, не придут на помощь тут и всякого рода FAR и Total Commander.

Для записного юниксоида решение лежит на поверхности: нужно написать простенький скрипт, выполняющий такую операцию за один раз. И это действительно несложно - я для этой цели пользовался оператором for, вероятно, можно придумать и другие способы. Однако такое сиюминутное решение (согласитесь, ведь предложен далеко не самый сложный случай из реально возможных) будет применимо только к файлам с определенными масками имен. Можно, конечно, поднатужиться, и придумать чуть более сложный сценарий, универсальный, допускающий задание произвольных масок - как для заменяемых, так и для заменяющих имен. А это и будет база программы вроде rename - так не лучше ли положиться на нее, снабженную к тому же удобным графическим интерфейсом, нежели изобретать велосипед?

Если последнее покажется более простым остается только установить программу любым способом. Она есть в портах и пакетах FreeBSD, вероятно, в "больших" дистрибутивах Linux, на худой конец - просто собрать из исходников (каковые берутся с упоминаемого предшествующей главе сайта http://kde-apps.org). На худой конец - потому, что текущая в данный момент версия rename не всегда собирается с KDE произвольной версии. И потому это тот случай, когда проще воспользоваться штатными средствами дистрибутива - в надежде на то, что в нем совместимость KDE и rename протестирована (во FreeBSD и DragonFlyBSD так оно и есть, за все дистрибутивы Linux не поручусь).

А теперь запускаем rename. При первом запуске он предложит выбор режима - использование мастера (wizard) или режим эксперта. Для начала выберем первый, полуавтоматически, режим: при необходимости переключиться позднее в режим эксперта труда не составит.

Теперь остается выбрать файлы для переименования. Они могут находиться в произвольных местах файловой системы - чтобы включить в список файлы из другого каталога, достаточно прибегнуть к кнопке Добавить. А закончив с отбором - обратиться к кнопке Далее, чтобы перейти к следующему шагу - выбору условий переименования. Ибо krename позволяет (рис. 9) сохранить файлы в исходном каталоге (каталогах) под новыми именами, с сохранением копий под старыми именами или без оного, скопировать или переместить переименованные файлы в произвольный каталог, а также создать сценарий отмены переименования (или - использовать существующий), для чего потребуется только задать его имя - сам сценарий запишется автоматически. А выполнить его можно будет через меню Дополнительно -> Откат старого переименования.

Рис. 9. Krename - выбор условий переименования

На следующей же стадии задается собственно схема переименования (рис. 10). При этом можно частично использовать их старые имена и "расширения", дополнив их суффиксами и (или) префиксами; при этом символы старых имен могут быть преобразованы в верхний или нижний регистр. В качестве суффиксов и префиксов могут использоваться номер, дата или просто произвольный набор символов.

Рис. 10. Определение схемы переименования файлов

С помощью кнопки Найти и заменить можно предварительно в именах всех выбранных файлов заменить одни их части на другие, в том числе и с использованием регулярных выражений (рис. 11). А можно вообще отказаться от сохранения исходных имен файлов, задав для всего массива собственную маску.

Рис. 11. Частичная коррекция имен исходных файлов перед их переименованием

Таким образом легко превратить рассеянные по разным каталогам и бессистемно именованные файлы изображений в единый массив иллюстраций к некоему материалу вида ris01.tiff ... ris#.png, собрав их заодно в едином подходящем каталоге (например, ~/book/ill). Однако это - не все, что может делать krename: в режиме эксперта она обретает дополнительные возможности.

Переход в режим эксперта выполняется через меню Настройка -> Настроить krename, где во вкладке Интерфейс следует отметить переключатель Использовать вкладки (для опытных) (рис. 12).

Рис. 12. Переключение режимов krename

В режиме мастера интерфейс krename преобразуется в вид с закладками (рис. 13). В первой из них (Файлы) осуществляется отбор файлов для переименования, во второй (Назначение) - определяются каталоги для помещения переименованных файлов - все точно также, как было описано выше.

Рис. 13. Режим эксперта, закладка Файлы

Схема переименования задается во вкладке Имя файла (рис. 14). Где можно видеть, что, кроме обычной замены по маске, как в режиме мастера, прибавились такие возможности, как переопределение "расширения" (за начало его можно принять не последнюю точку в имени, а первую), при использовании номеров в именах - сделать нумерацию не сквозной, а спропуском произвольных (вписанных руками) номеров, а также задействовать некие функции.

Рис. 14. Режим эксперта, закладка Имя файла

Среди функций программы krename - полтора десятка встроенных, общего назначения, частично задействованных и в режиме мастера (смена регистра символов в именах, например), но большей частью доступных только в режиме эксперта (создание промежуточных каталогов для помещения переименованных файлов, манипуляция с единичными символами в именах). Кроме того, имеются функции специально для обработки контента файлов множества форматов - графических, мультимедийных, текстовых (включая PostScript) и пакетных (RPM, DEB). Так, функции для всех графических форматов позволяют поменять глубину цвета и разрешение (в том числе - раздельно по вертикали или горизонтали), для аудиофайлов - создать список песен в html-формате, и так далее.

Наконец, вкладка Модули позволяет произвести над переименованными файлами дополнительные действия (рис. 15): выполнить в их отношении команду оболочки (из списка или произвольную), изменить атрибуты принадлежности и доступа (в рамках полномочий данного пользователя, конечно), а также времени (atime и mtime), отсортировать переименованные файлы в каталоге и даже изменить набор используемых в именах символов (например, KOI8-R на UTF8).

Рис. 15. Режим эксперта, закладка Модули

Таким образом, возможности программы krename далеко выходят за рамки простых сценариев оболочки. И их реализация путем шелл-скриптинга потребовала бы весьма изощренного программирования (мне, например, такое было бы не по силам). Так что использование ее вполне оправданно даже для опытных пользователей: время, сэкономленное на сочинении собственных скриптов переименования файлов, лучше употребить на совершенствование контента оных...