Файловые менеджеры в Linux

В самом деле, зачем файловому менеджеру много функций? Вернее, зачем ему функции, отличные от прямого назначения продукта? Если мы перевернем назад несколько страниц истории, то обнаружим там молодого человека -судя по всему, это студент - который сидит перед 14-дюймовым, как тогда говорили, "VGA-монитором" и резво переставляет в трехдюймовом дисководе дискеты. В то время файловый менеджер действительно должен был заключать в себе наиболее широкий спектр возможностей, поскольку большинство работало тогда в DOS, а DOS - система отнюдь не многозадачная, хотя многозадачность относительным образом эмулировалась в ней с помощью резидентных программ, сидящих в оперативной памяти и время от времени подающих признаки жизни.

Когда на смену классическому Norton Commander пришел ставший не менее классическим Volkov Commander, все возрадовались премного, а уж с появлением DOS Navigator восторгам вообще не было предела. Мир развивался, пришла Windows - появились два титана - FAR и Windows Commander, позже переименованный в Total Commander. Оба продукта благодаря своей архитектуре, поддерживающей плагины, стали обрастать дополнениями. Возникли своеобразные субкультуры этих продуктов. Для FAR и Total Commander делаются игры, смотрелки файлов разных форматов, почтовые клиенты - можно найти что угодно.

Тут уместно обратить внимание на причину - вероятно, многозадачность для пользователя настолько непривычна в системе, где работают эти файловые менеджеры, что люди предпочитают работать с ОДНОЙ программой, которая сочетает в себе функции МНОГИХ программ. Иного логического объяснения я найти не могу.

Теперь обратим взор на Linux. Пользователи Windows, впервые столкнувшись с линуксовыми файловыми менеджерами, сразу называют их "убогими", или еще какими словами, печати не подлежащими. На самом деле это непонимание основного принципа системы, краеугольного ее камня - многозадачности. Истоки именно в этом. Поэтому - так всегда было - разработчики программ под Linux редко делают "комбайны". Каждая программа должна выполнять возложенную на нее функцию, и делать это хорошо.

Совершенствуя только те функции, которые соответствуют прямому назначению программы, разработчик добивается наилучшего результата. Можно привести следующую аналогию. Есть два программиста- Иванов и Прохоров. Иванов пытается выучить все языки программирования сразу, а Прохоров - только Java. И вот Прохоров изучает Java в совершенстве и находит высокооплачиваемую работу, а Иванов в это время продолжает... изучать всего по чуть-чуть. Снайпер должен быть снайпером, а если он пойдет махать штыком, толку от этого будет мало.

Итак, линуксовые файловый менеджеры прежде всего имеют узкую специализацию. Они работают с файлами. Самым популярным среди консольных файловых менеджеров является Midnight Commander, внешним видом своим более всего похожий на старый добрый Norton Commander. Две синие панели, строки меню и состояния, командная строка - ничего более. Между тем, это один из наиболее удобных файловых менеджеров, с которыми я работал. Хотя я использую графическую среду KDE, но общаться с файловом системой часто предпочитают именно в консольном Midnight Commander - он постоянно плавает у меня в окошке на экране.

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

Если в Midnight Commander нажать Enter на каком-нибудь файле, то, скорее всего, вам удастся этот файл просмотреть, запустить или воспроизвести - в зависимости от природы этого файла. Разве Midnight Commander умеет играть музыку или показывать видео? Нет, просто он обладает достаточно хорошими настройками по умолчанию, чтобы для MP3 файла запустить плейер XMMS, для видео - Mplayer, для изображения - утилиту Display. Вы скажете, что тут такого? Ведь и FAR может вызывать внешние утилиты. Задам встречный вопрос - тогда зачем ему плагины? Это говорится не с укоризной. Просто вопрос такой.

Всё, что нужно для работы с файлами, в Midnight Commander присутствует. Это и FTP-клиент, и возможность заходить в архивы, как в директории, и даже возможность производить над файлами некие массовые операции. для последнего достаточно выделить файлы в списке, затем нажать F2, чтобы появилось Меню пользователя и выбрать там пункт do something with the current file (сделать что-нибудь с текущим файлом), и в появившемся окошке с полем ввода ввести нужную вам команду. Например, выделяете такие-то файлы с мультфильмами в формате DivX. Нажимаем F2, выбираем приведенный выше пункт меню, и вводим команду: mplayer. Всё! Будут последовательно показаны все выделенные файлы. Кстати, Меню пользователя - пожалуй, единственное не переведенное в Midnight Commander меню. Однако от этого оно не становится менее полезным. Пункт Compress the current directory позволяет архивировать содержимое текущего каталога. Также присутствуют функции по сжатию и распаковке отдельных файлов.

От консоли перейдем теперь к графической оболочке и обратим внимание на другой файловый менеджер - Krusader, буква K в начале названия которого красноречиво указывает на принадлежность этой программы к графической среде KDE. Krusader по внешнему виду и набору функций можно сравнить с Total Commander.

Как и Midnight Commander, Krusader позволяет "прозрачно" работать с архивами, FTP-серверами и т.д. - все это достигается путем так называемых виртуальных файловых систем. Krusader тоже оснащен двумя панелями, однако каждая из них может содержать в себе несколько вкладок, "табов", как страницы в браузерах Opera или Firefox. Это очень удобно, если вам надо копировать некие файлы из дюжины каталогов в один, активно при этом работая одновременно с каждым из этой дюжины каталогов.

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

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

Для быстрого перемещения между каталогами Krusader предоставляет механизм закладок - причем они могут указывать как на локальные, так и на сетевые каталоги, например где-нибудь на FTP-сервере.

Итак, Krusader умеет все, что должен уметь файловый менеджер. А как же плагины, спросите вы? Плагины, предоставляющие доступ к другим файловым системам, как это делают плагины для Total Commander? Всё очень просто. Кесарю - кесарево. Linux сама по себе предоставляет доступ к разным файловым системам, будь то ext2/ext3, FAT32 или NTFS. Такой доступ реализован на уровне системы, его просто незачем повторять в файловом менеджере. Хотите попасть на Windows-разделы? Нет проблем. Linux-разделы? Тоже нет проблем.

Это снова к вопросу о том, что каждая программа должна заниматься своим делом, и дело именно операционной системы предоставлять возможности работы с файловыми системами. Файловый менеджер этим заниматься не должен - и не занимается. В Linux. А вот пока Windows не "видит" разделов Linux и не предоставляет к ним рабочий доступ (хотя есть для этого драйверы сторонних разработчиков), до тех пор и будут существовать соответствующие плагины к файловым менеджерам для платформы Windows.

Автор статьи: Петр Семилетов

soft.mail.ru