Программы для поиска файлов (Файлы ищет медленно)

Knoppix

Модераторы: Warderer, Модераторы разделов

nnnk
Сообщения: 82

Программы для поиска файлов

Сообщение nnnk »

Здравствуйте.

Debian GNU/Linux 9 (stretch) 64-бит


Установлены программы gnome-search-tool, catfish. ищут они текст в файле, например ntml, крайне медленно, уходят минуты, а то и десятки минут? параллельно установлен ос виндос7, а там находит за секунды.

Почему для дебиана нету быстрых программ, подскажите пожалуйста?
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Программы для поиска файлов

Сообщение Vascom »

Попробуй grep.
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Программы для поиска файлов

Сообщение azsx »

DocFetcher -- некоторый аналог коперника. В чём то лучше, в чём то хуже. В винде настройка есть -- индексация для быстрого поиска.
Спасибо сказали:
Аватара пользователя
delvin-fil
Сообщения: 135
ОС: Linux → Gentoo

Re: Программы для поиска файлов

Сообщение delvin-fil »

find /path -name "*part_name*" -print
import __hello__
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21402
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Программы для поиска файлов

Сообщение Bizdelnick »

nnnk писал(а):
02.07.2018 00:38
Почему для дебиана нету быстрых программ, подскажите пожалуйста?
"Быстрые" программы ищут не по файлам, а по заранее построенному индексу. Они есть, но названий не скажу, потому что не пользуюсь. Вроде в KDE родными средствами должно искаться "быстро".
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Программы для поиска файлов

Сообщение algri14 »

nnnk писал(а):
02.07.2018 00:38
catfish
По мне, так вполне хорошая программка, даже лучше чем kfind или SpaceFM(поиск файлов и файловый менеджер), но им естественно для ускорения надо дать индекс-указиловку - имя, содержимое, свойства, дату, каталог, иногда ведь и на другом разделе и внешнем диске/флешке, которые ещё и в исключениях стоят в системе по дефолту
Спасибо сказали:
nnnk
Сообщения: 82

Re: Программы для поиска файлов

Сообщение nnnk »

algri14 писал:
02.07.2018 11:36
nnnk писал(а):
02.07.2018 00:38
catfish
По мне, так вполне хорошая программка, даже лучше чем kfind или SpaceFM(поиск файлов и файловый менеджер), но им естественно для ускорения надо дать индекс-указиловку - имя, содержимое, свойства, дату, каталог, иногда ведь и на другом разделе и внешнем диске/флешке, которые ещё и в исключениях стоят в системе по дефолту
не знаю, в виндос индекскс-указиловку не даю, лишние движения и потом а что если по всему диску надо искать. сравнил там и там- результат- 10 секунд в виндовс, около 7 минут в дебиан с catfish, секундомер ставил.
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Программы для поиска файлов

Сообщение Vascom »

Ты сравниваешь тёплое с мягким. И, вероятно, используешь не тот инструмент для решения своей задачи.
Можешь описать что тебе требуется сделать, а мы попробуем предложить наилучший вариант решения в linux.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21402
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Программы для поиска файлов

Сообщение Bizdelnick »

Bizdelnick писал:
02.07.2018 09:03
"Быстрые" программы ищут не по файлам, а по заранее построенному индексу. Они есть, но названий не скажу, потому что не пользуюсь.
Вспомнил одно название: recoll.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Программы для поиска файлов

Сообщение azsx »

поставь DocFetcher, чо вы? Вот прям то что надо. я всегда в никсе по документам им искал.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3697
ОС: Mandriva => Gentoo (~amd64)

Re: Программы для поиска файлов

Сообщение devilr »

Еще бы и в самой системе (в настройках гнома, видимо) включить индексацию.
К слову, в офтопике индексацию можно тоже отключить - будет весьма печально.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3133
ОС: Gentoo

Re: Программы для поиска файлов

Сообщение ormorph »

Ну есть консольная mlocate, после обновления базы данных ищет довольно быстро.
Для обновления базы данных:

Shell

$ sudo updatedb
Поиск файлов:

Shell

$ locate nhtml
При желании можно сделать графический интерфейс используя диалоги, например yad или zenity, для zenity есть готовый пример тыц.
У меня на поиск уходит не более 5 секунд.
Единственное долго обновляется база данных.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2941
ОС: gentoo fluxbox

Re: Программы для поиска файлов

Сообщение yoricI »

Это поиск по именам файлов, а то по содержимому.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Программы для поиска файлов

Сообщение NickLion »

Я так чувствую, что ТС ищет по файлам в NTFS, а Linux с ним не очень дружит по объективным причинам.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3133
ОС: Gentoo

Re: Программы для поиска файлов

Сообщение ormorph »

yoricI писал:
02.07.2018 19:48
Это поиск по именам файлов, а то по содержимому.
А пардон, тогда наверное лучшее recoll.
Вот еще нашел аналог grep-а с индексированием файлов.
Только с таким названием есть еще программа, позволяющая просматривать локальные файлы Markdown в браузере, по этому название grip при установке лучше заменить на какое нибудь другое.
Думаю как нибудь напишу ебилд на эту прогу. Похоже она еще пригодится...
Спасибо сказали:
nnnk
Сообщения: 82

Re: Программы для поиска файлов

Сообщение nnnk »

ormorph писал(а):
02.07.2018 21:21
yoricI писал:
02.07.2018 19:48
Это поиск по именам файлов, а то по содержимому.
А пардон, тогда наверное лучшее recoll.
Вот еще нашел аналог grep-а с индексированием файлов.
Только с таким названием есть еще программа, позволяющая просматривать локальные файлы Markdown в браузере, по этому название grip при установке лучше заменить на какое нибудь другое.
Думаю как нибудь напишу ебилд на эту прогу. Похоже она еще пригодится...
recoll- скажите пожалуйста, эту программу раньше тоже устанавливал, но не смог окончательно разобраться и удалил. 1 recoll- настройки-конфигурация индексирования- индексируемые папки------если сюда добавить какую-нибудь папку а потом убрать нажав на минус, то автоматически файлы в этих папках, всё равно остаются индексированными? 2 в поле языки с словоформами надо вставить русский и английский?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3133
ОС: Gentoo

Re: Программы для поиска файлов

Сообщение ormorph »

nnnk писал(а):
03.07.2018 16:34
recoll- настройки-конфигурация индексирования- индексируемые папки------если сюда добавить какую-нибудь папку а потом убрать нажав на минус, то автоматически файлы в этих папках, всё равно остаются индексированными?
Ну да остаются индексированными, но по ним не осуществляется повторное индексирование.
nnnk писал(а):
03.07.2018 16:34
в поле языки с словоформами надо вставить русский и английский?
Ну это уже на ваш выбор, текст на каких языках должен быть проиндексирован.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Программы для поиска файлов

Сообщение Hephaestus »

nnnk писал(а):
02.07.2018 15:41
не знаю, в виндос индекскс-указиловку не даю, лишние движения
Тогда при поиске оно будет напоминать об отсутствии индекса и показывать всплывающую кнопку.
Дескать, для более быстрого поиска нажмите сюда.
Так что у Вас либо индекс всё-таки есть, либо файлов не очень много и удается (пока) обходиться без индекса.
Когда количество файлов исчисляется сотнями тысяч, ни о каких десяти секундах речи быть не может даже с индексом. А уж без индекса - и подавно.

Я сам с этим маюсь на работе под win7. Индекс я не создавал, ибо машина небыстрая и оно слишком долго обновляется при каждой загрузке, работать в это время нормально невозможно из-за диких тормозов, а ждать - куча рабочего времени на это уходит. Вот, значит, без индекса.
Поэтому когда бывает надо найти какой-нибудь файлик, поиск может занять минут двадцать.
И это у меня только поиск по именам. О поиске по содержимому я даже не мечтаю, тем более в виндах он дюже кривой.
nnnk писал(а):
02.07.2018 15:41
а что если по всему диску надо искать
Индексу так-то пофигу. По умолчанию он охватывает определенные каталоги, но можно создать рекурсивно по всему диску. Единственный минус - долго создается и долго обновляется. И как это настроить - я не нашел.

Что касается поиска в Linux, лично я для поиска по именам использую locate, команду на обновление индекса даю вручную, по мере надобности. find использую реже, там ключей больше, для простых задач получается избыточно.
Для поиска по содержимому использую grep. Здесь, конечно никаких индексов нет, да и, честно говоря, сложно мне представить индекс по содержимому.
Иногда использую связки find+grep или даже locate+grep.
Ну, скажем, grep'ать бинарники приходится не часто, в основном текстовые форматы.
Значит, find или locate отбирают целевую группу файлов, которые grep'аем.
Так оно вроде и быстрее, и в то же время штатными средствами, без спец. инструментов.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3133
ОС: Gentoo

Re: Программы для поиска файлов

Сообщение ormorph »

Консольный вариант нашел для linux codesearch тыц, написан на GO.
Должен быть установлен язык GO.
Под пользователем можно установить:

Shell

$ export GOPATH=mydir
$ go get github.com/google/codesearch/cmd/...
$ export PATH=$PATH:mydir/bin
.
После этого можно будет проиндексировать директории.

Shell

$ cindex dir1 dir2 dir3
после этого можно будет обновлять индекс без указывания директорий.
Выполнить поиск и получить на выходе только список файлов не выводя содержимого:

Shell

$ csearch -l nhtml
Тут так же можно при желании прикрутить гуй в виде диалога.
Плюсом тут выступает достаточно быстрая индексация и поиск.
Из индекса можно удалять директории:

Shell

$ cindex -reset dir1 dir2
удалит все каталоги из индекса, кроме указанных после ключика -reset

Shell

$ cindex -list
Покажет список проиндексированных каталогов.
Для Gentoo написал ебилд codesearch-9999.ebuild:

Код: Выделить всё

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6
EGO_PN=github.com/google/codesearch/cmd/...

inherit golang-vcs golang-base

DESCRIPTION="Code Search is a tool for indexing and searches"
HOMEPAGE="https://github.com/google/codesearch"
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND=""
RDEPEND=""

src_compile() {
	cd ${S}/src/github.com/google/codesearch/cmd/cindex
	go build cindex.go
	cd ../csearch
	go build csearch.go
}
src_install() {
	dobin ${S}/src/github.com/google/codesearch/cmd/cindex/cindex
	dobin ${S}/src/github.com/google/codesearch/cmd/csearch/csearch
}
Возможно в вашем дистрибутиве уже присутствует данный пакет.
Спасибо сказали:
nnnk
Сообщения: 82

Re: Программы для поиска файлов

Сообщение nnnk »

В основном пользуюсь дебиан. в виндовс после установки поставил галочки на всех дисках для индексации и они незаметно проиндексировались. там индекскс-указиловку не даю ищу всегда по всему компьютеру. уходит на это самое большее 10 секунд на 500 гб! Всё просто и ясно. пытался настроить, проиндексировать в recol, но ничего не получилось. один раз находит, другой раз не находит, третий раз вообще ничего не показывает! может у меня кривые руки. буду довольствоваться gnome-search-tool, catfish.

Спасибо всем большое за ответы и время потраченное на мой вопрос.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Программы для поиска файлов

Сообщение Hephaestus »

nnnk писал(а):
04.07.2018 00:14
там индекскс-указиловку не даю
Ну, как же не даю, когда вот оно
nnnk писал(а):
04.07.2018 00:14
в виндовс после установки поставил галочки на всех дисках для индексации
это она самая "индекс-указиловка" и есть. Один раз её сделали, дальше оно само.
Другое дело, насколько (дис)комфортно работать в системе во время создания/обновления индекса. Если у Вас диски проиндексировались незаметно для Вас - хорошо.
Я например, замечаю большую нагрузку на диск во время индексации и ощутимые тормоза.

А по теме я уже сказал, связка find+grep или locate+grep процентов на девяносто решает задачу поиска по содержимому.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали: