LINUX.ORG.RU

а как ускорить листинг огромных директорий в баше?

 , , ,


0

1

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

★★★
Ответ на: комментарий от megabaks

Межгалактическая библиотека марсианских эльфов.

hbars ★★★★★
()

reiserfs если дохрена небольшого.
У меня справляется, даже парняге охота дачку передать. Но далеко.

hbars ★★★★★
()

не допедрил

во-первых, правильно пишется «не до педрил», во-вторых, здешние модераторы тоже иногда помогают, так что зря ты так

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

Межгалактическая библиотека марсианских эльфов.
У меня справляется, даже парняге охота дачку передать. Но далеко.

пил?

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

У меня справляется, даже парняге охота дачку передать. Но далеко.

Неа. Автор рейзера бы понял.

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

Он по-русски не говорит, а ты ему какой-то индблиш суёшь.

Deleted
()

а вообще не вижу проблемы:
есть 100500 директорий.

for i in `seq 100500`;do mkdir ${i};done
есть иксы и tty (без fb)
берём тот же ls:
yakuake
time ls -d1 *
тут список дир
real    0m1.561s
user    0m0.525s
sys     0m0.320s
без вывода списка, т.е. без отрисовки
time ls -d1 * &>/dev/null

real    0m0.810s
user    0m0.419s
sys     0m0.386s
т.е. 50% заняла отрисовка
теперь tty
time ls -d1 *
тут список дир
real    0m10.303s
user    0m0.469s
sys     0m9.788s
при чём здесь bash я так и не понял - он выдал список из 100500 дир за 0.8 сек, а вот вывод на экран к нему не имеет никакого отношения.
иксовые эмуляторы vs tty вроде уже избитая тема

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

это когда кеширован этот список, а так достаточно (внезапно) зайти в /usr/share и увидеть «эффект первого посещения директории» у себя.

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

ты резок как не знаю что :)

это мой хомяк на ноуте первый раз
real	0m3.441s
user	0m0.016s
sys	0m0.024s
это хомяк второй раз
real	0m0.023s
user	0m0.008s
sys	0m0.000s

это /usr/share первый раз
real	0m10.871s
user	0m0.016s
sys	0m0.060s
это второй раз
real	0m0.010s
user	0m0.004s
sys	0m0.004s

а сам то как думаешь? (С)

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

таки фс! :3:
ext4:
горячо:

real    0m1.435s
user    0m0.673s
sys     0m0.197s
холодно
real    0m7.441s
user    0m0.792s
sys     0m0.493s
вот у думай.

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

да хз - разве что полное отсутствие поддержки загрузчиками...
да - у меня ещё ssd на sata2 :3, т.е. потенциал не раскрывается

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

Бут по старинке выносить?

аха - я оставил на старом корне.
да, для fsck и dump-а надо ставить f2fs-tools-1.2.0 (новей пока нет)

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

ну, например, в кто-то продристался спамом. захожу я короче такой в спул, и пытаюсь выполнить ls, find, а то и вовсе автодополнением воспользоваться хочу. а он тормозит безбожно. что делать-то?

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

reiserfs

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

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

ты же не описал что к чему.
фс: какая? с какими опциями монтируешь?
терминал: tty или иксовый эмулятор?
кэш: что-то кэшировано или всё холодное?
носитель: hdd, аль ssd?
...
ну и циферок нет.
а с нулевыми данными тебе никто ничего и не скажет - говорить-то, собственно, не о чем.

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

ну, например, баш автодополнением занимается. насчёт лс не уверен. но с автодополнением реальные проблемы. щас проверю

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

только с работы пришёл, а потому и без конкретных циферок

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

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

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

предлагаю посчитать сколько времени затрачивается на вывод с удалённой машинки овер ssh овер дохрена данных: локально делаешь

time seq 100500
постишь сюда время
локально делаешь
time seq 100500 &>/dev/null
постишь сюда время
так будет понятно сколько вывод 100500-от строк требует времени.
по ssh делаешь повторяешь всё, что делал локально и так же постишь время сюда.
сразу станет очевидно - в сети ли дело.

megabaks ★★★★
()
Последнее исправление: megabaks (всего исправлений: 1)

Лично я бы перенаправил список в текстовый файл, а его бы спокойно листал mcedit-ом.

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

нет, там помимо прочего и нагрузки на диск

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

найду такого проблемного - замерю и запощу

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

Это в смысле ″ls -f -1″ дольше? А вобще счастье начинается, когда ls'у не хватате ОЗУ для хранения списка файлов.

И, как я понял, у ТС в 6 раз больше файлов, чем в вашем seq, да ещё сервер, где скорее всего из кеша всё вытесняется и при каждом TAB будет чтение всего этого каталога. Если у вас на «холодную» получилость порядка 2 секунд, то 2*6=12 секунд, что и бесит ТС.

mky ★★★★★
()

а как ускорить листинг огромных директорий в баше

Перейти с героина на кокаин. или наборот.

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

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

anonymous
()

Не уверен, что вариант устроит, но иногда я упрощаю чтение вывода так:

ls bla_bla | less

Это тот же пейджер, который показывает маны.

Bagrov ★★★★★
()
Последнее исправление: Bagrov (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.