Набор файловых утилит для легковесных графических сред ОС Linux

Уже много лет я являюсь пользователем операционной системы Linux, и в качестве графического рабочего стола предпочитаю легковесные графические среды, в частности уже давно бессменно использую XFCE, хотя ранее перепробовал почти все. В это рабочем столе привлекает меня быстрота, простота, ясность и надёжность, отсутствие ненужных излишеств и стремления к внешней эффектности.

Обратной стороной простоты является отсутствие некоторых функций, которые, казалось бы, должны были бы быть априори в любой DE. Недостающие приложения можно взять из Gnome или KDE, но желательно избежать зависимостей от библиотек этих тяжёлых DE, поскольку они не установлены в моей системе.

Поэтому несколько утилит пришлось дописать самостоятельно, на свой вкус. Возможно они будут полезны не только мне, поэтому выкладываю в общий доступ.
Проект находится на GitHub.
Архив стабильной версии можно взять также с этого сайта file-utils-master.zip.

Каждая утилита выполнены в виде единственного perl-скрипта, который достаточно положить в любой удобный каталог, доступный через переменную окружения PATH.

Для работы требуются наличия в системе пакета perl-Gtk2, все остальные пакеты более-менее стандартны для дистрибутива Perl, и, вероятно, есть в любом дистрибутиве Linux.

Для выполнения отдельных функций используются некоторые общие утилиты Linux, такие как diff, и компоненты графического окружения, как файловый менеджер и текстовый редактор. Эти компоненты очевидным образом настраиваются в самом начале скриптов, измените их по желанию.

Использован интерфейс GTK2 как родной для XFCE и LXDE и язык Perl потому, что, во-первых он служит прекрасным клеем для связывания любых компонентов системы и даёт возможность сделать всё просто, во-вторых обеспечивает более высокую переносимость между различными дистрибутивами, в-третьих потому, что просто мне нравится.

Нет никакой привязки утилит к XFCE и LXDE, и, возможно, некоторые пользователи Gnome и KDE также найдут эти утилиты в чём-то более удобными, чем встроенные средства десктопа.

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

Мне хотелось также, чтобы все элементы управления были доступны сразу же, без необходимости открывать дополнительные вкладки, искать команды в меню и т.п. Это тоже не делает интерфейс красивее, зато ускоряет выполнение основных функций.

Ниже - краткий анонс, справка по использованию есть в каждом из приложений.

file-search

Утилита поиска файлов в файловой системе

file-search выполняет:

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

dir-size

Утилита подсчёта суммарного размера директорий и файлов

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

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

В этом качестве dir-size удобно использовать как особое действие файлового менеджера Thunar, для получения размеров выделенных в Thunar файлов как в сумме так и по-отдельности, для оценки возможности копирования на сменный носитель и оценки занимаемого на диске места.

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

dir-comp

Утилита сравнения состава директорий и синхронизация их содержимого

dir-comp сравнивает две указанные директории и в кратком символьном виде выводит найденные отличия. Критериями сравнения являются наличие файлов в одной из директорий, а также их размеры, даты модификации и содержимое.

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

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

Синхронизация с удалённой директорией возможно после монтирования её в локальную файловую систему, с чем прекрасно справляется, например, gvfs-mount.

Интеграция с Thunar

Штатный файловый менеджер среды XFCE - Thunar - предоставляет полезную возможность добавления пользовательских команд в контекстное меню. Вы можете зайти в меню Правка/Особые действия .. и добавить данные скрипты и настроить условия их появления желательным образом.

Для dir-size команда может выглядеть так:

dir-size %N

Это позволит подсчитывать суммарный размер выделенных в окне Thunar файлов и директорий. Вот так меню Thunar выглядит у меня:

Утилита поиска файлов file-search, запущенный из меню Thunar, автоматически выбирает в качестве директории поиска текущую папку Thunar, это позволяет, перемещаясь по файловой системе с помощью Thunar, в любой момент начать поиск файлов от открытой папки.

Аналогичным образом, dir-comp запущенная из Thunar, позволяет сравнить открытую в Thunar папку с какой-либо другой.

Локализация

Если в окружении установлена переменная

LANG=ru_RU.UTF-8

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

Статья и пакет утилит обновлены 25-15-2015.


© 2013-2015 Евгений Турышев. Материалы данного сайта нельзя использовать без предварительного согласия автора