LINUX.ORG.RU

разыскивается файловый менеджер

 ,


1

2

САБЖ. Но не простой. К нему есть одно единственное требование — он должен переваривать огромное количество файлов в одной директории (скажем хотя-бы тысяч 500). PCManFM падает, наутилус фризится. Надо чтобы уметь переходить в поддиректории, где результаты обработки файлов хранятся. А то только полный путь вбивать.

★★★★★

Последнее исправление: peregrine (всего исправлений: 3)
Ответ на: комментарий от anonymous

Пробовал. MC - единственное что открывает. Но хочется чего-то виндоподобного, потому как неплохо бы и условному студню вантузятнику показывать данные для тык-тыка. А ещё и от линуксовой консольки у них мозг взорвётся.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

У меня лежат форки аж трех фм, в которых я пытался решить эту задачу. Блин, надо допилить хоть один….

wandrien ★★
()
Ответ на: комментарий от peregrine

Это что такие тупые и ленивые студни пошли, что даже консольку не могут осилить за вечерок максимум?

anonymous
()
Ответ на: комментарий от peregrine

Проблем основных три: вызовы stat(), сортировка, рассчет gui.

stat() я обрабатываю в отдельном потоке. Большинство простеньких фм этого не делает.

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

Сейчас самая слабая часть — инкрементальная пересортировка. Нужно отказываться от готовойреализации сортирующего контейнера и писать свой.

В итоге, чтобы писать lightweight код, нужно много-много усилий.

wandrien ★★
()
Ответ на: комментарий от wandrien

Я может чего не догоняю, но простая отрисовка «только того, что влезает в экран», и запрос меты тоже только для этих файлов, позволяет ходить по папкам с лям+ файлов в обычной Яве :-)

rukez ★★★★
()
Ответ на: комментарий от rukez

Проблема в том, что ни ширпотребные тулкиты, ни ширпотребные фм не рассчитаны на масштабируемость.

Как насчет того, чтобы вычислить высоту КАЖДОГО элемента списка перед отрисовкой? А если их будет 500 тысяч? А если для каждого тулкит хочет вызвать шрифтовый движок, чтобы посчитать высоту строки текста?

Как результат, говнокод под видом простоты поддержки кода.

Все такие места приходится находить и переписывать.

wandrien ★★
()
Ответ на: комментарий от rukez

Вечером попробую натравить мой stuurman на 500 тысяч файлов. Самому интересно….

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от peregrine

Да ладно, я себя ещё с одногруппниками помню 20 лет назад. Не сказать бы гении конечно, но тогда впервые надо было на dec vms поработать, которая некоторую плазменную установку обслуживала и ничего. Методичку в зубы и как-то справились.

anonymous
()
Ответ на: комментарий от anonymous

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

peregrine ★★★★★
() автор топика
Ответ на: комментарий от peregrine

А ещё и от линуксовой консольки у них мозг взорвётся.

А от миллиона файлов с данными не взорвётся? Вообще, консолько единственно возможный инструмент для разгребания таких завалов. Так и расскажи своим студням.

anonymous
()
Ответ на: комментарий от peregrine

Но хочется чего-то виндоподобного

Ну так MC… Внешне похож на Far.

anonymous
()

он должен переваривать огромное количество файлов в одной директории (скажем хотя-бы тысяч 500)

ranger справляется. С включенным подсчётом общего занимаемого пространства файлов в дире справляется медленно, но справляется.

mord0d ★★★★★
()

Попробуй под wine total commander. Если взлетит, есть ненулевая вероятность, что во-первых тебе его и хватит, но даже если нет - есть ряд наследников в том числе и под онтопик, которые якобы тоже писали любители поизвращаться с ФС для любителей поизвращаться с ФС.

pon4ik ★★★★★
()
Ответ на: комментарий от wandrien

Проблема в том, что ни ширпотребные тулкиты, ни ширпотребные фм не рассчитаны на масштабируемость.

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

п.с. бывают кстати «перегибы на местах» в обратную сторону - самый эпичный пример это отсутствие вертикальной полосы скрола в таблицах на управляемых формах 1с8, именно из-за генерации графики только для видимого куска данных :-)

rukez ★★★★
()

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

pfg ★★★★★
()

Дельфин KDE’шный открывает бодренько директорию с миллионом файлов. Но занимает гиг с лишним в оперативке в этот момент

chaos_dremel ★★
()
Последнее исправление: chaos_dremel (всего исправлений: 1)
Ответ на: комментарий от neocrust

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

anonymous
()
Ответ на: комментарий от anonymous

mc по моему тоже считает, но резвее. sudo rm -rd приходится использовать.

anonymous
()

Dolphin в свое время специально переписывали чтобы он на очень больших директориях не зависал, проверь, может будет работать. Но скорее всего не быстро, из-за «естественной» сортировки.

Khnazile ★★★★★
()
Ответ на: комментарий от Alve

Кстати, Gnome Commander может зависнуть, если наткнется на рекурсию при автопереименовании. Double и Total Commander такой проблемы не имеют (насчет Double не уверен). Зато в Gnome Commander для переименования можно использовать несколько полей и искать в нескольких каталогах.

anonymous
()
Ответ на: комментарий от peregrine

В таком случае следующий кандидат - DoubleCommander.

hobbit ★★★★★
()

огромное количество файлов в одной директории (скажем хотя-бы тысяч 500)

А почему это всё в одной директории?

WitcherGeralt ★★
()

Прочитал ответы. Склоняюсь к тому, что подобная задача решается на уровне cli, тем более что это, как по мне, исключительно редкая задача.

anonymous
()

Acme должно мочь хоть в разы больший объем. Ставь plan9port, или как там называется порт программ plan9, и все будет как хочется.

anonymous
()
Ответ на: комментарий от neocrust

Thunar 500 тысяч файлов показал за полчаса где-то.

i-rinat ★★★★★
()

Консольный lf открывает папку с 500к файлами за 8 секунд, навигация без фризов, словно десяток файлов в папке. Но это в папке tmp, которая в оперативке. Вряд ли играет роль, но все же. Nautilus за 32 секунды открыл, что, в принципе, норм я считаю. Столь же быстрая навигация. Файлы создавал for i in {0..500000}; do touch $i.txt; done

Так что на реальных файлах может быть медленне, наверное.

anonymous
()

он должен переваривать огромное количество файлов в одной директории

Объясните зачем? Вы не сможете просмотреть список не то что 500K, но и просто 500. Задача должна быть прикладная – поиск, копирование/перемещение/переименование/просмотр/редактирование… всё.

anonymous
()
Ответ на: комментарий от anonymous

Вроде и так объяснил. В директории с файлами есть ещё и каталоги и файлы с определённым расширением. Каталогов всего десяток, фалов с расширением, скажем .json вообще 4 штуки. Вот их и надо уметь открывать легко и без геморроя, не парясь по поводу миллионов .xml файлов. Ну и случайный файл из этих пол лимонов тоже надо уметь открывать. Именно что случайный, потому как смысла открывать какой-то конкретный нет. Скорее даже вредно.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от vasily_pupkin

Не так всё плохо. Понимаешь, я эти файлы в скрипте быстрее обрабатываю, чем thunar открывает.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

А потому что удобно при парсинге в одну директорию срать. Можно конечно и в БД срать, но легче от этого не становится, потому что больших нагрузок по чтению-записи там нету. Разово спарсил данные, потом сиди думай как их обработать, после обработки там вообще только выжимка для обучения нейронки будет на несколько десятков мегабайт.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 3)

Есть ещё Krusader

«Из той же оперы», что и Total Commander под win. Те же две панели и работает довольно шустро, хотя на большом количестве файлов в одном каталоге не доводилось пробовать.

Netzschlange
()

PCManFM падает наутилус фризится

Что? У вас 256мб озу и пентиум 3? Иначе такое поведение объяснить невозможно.

// был комп с 512мб озу и интел атомом нулевых годов рождения, PCManFM летал, Thunar летал, Nautilus летал.

tongubin
()

Линуксоиды становятся все более женственными и жеманными. Ищется файл-менеджер с гламурными иконками и чтобы фсё мох.

anonymous
()
Ответ на: комментарий от tongubin

256 мб это уже времена Pentium 4, имхо. На Pentium 3 было 64-128 мб. У нас в колледже были компы Pentium 3 (вроде) 666 MHz, на Win2000. И даже выходили в интернет с помощью Opera Presto.

artenaki
()
Ответ на: комментарий от wandrien

Зачем считать высоту элементов разве нельзя выводить постранично по 30 штук ни больше ни меньше , влезает оно в экран или нет это уже второе дело .

Gennadevich
()
Ответ на: комментарий от tongubin

16 гигов оперативки. Говнокод он такой, да. Ладненько, будет вам скринкаст этого дела. Только попозже, пока я занят.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от tongubin

Сейчас в псевдоремонте

Ремонт порой - незваный гость!
Он в доме, словно в горле кость!
Затягивает, как болото!
Доводит до седьмого пота!
Порядки он свои заводит,
Начальником по дому ходит!
Он господин, - а Вы слуга!
Пора б намять ему бока!..

Владимир

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.