9 ms·
Fsearch, a fast file search utility for Unix-like systems
- croemer 3y agoUnix-like apparently does not include macOS here Edit: Or does it? https://ports.macports.org/port/fsearch/details/ https://ports.macports.org/port/fsearch/details/
- paradox460 3y agoDo you really need it on Mac? We've got mdfind
- mistercow 3y agoThat's just a cli for Spotlight, right? I have found Spotlight to be increasingly unreliable over the years, to the point of being essentially useless now. Most recently, I discovered that absolutely nothing in my iCloud drive can be found with Spotlight, even if the file is on disk and I'm just trying to match its name. For extra fun, I found an Apple support page that suggested the Windows-in-1999-esque procedure of blocking and then unblocking the directory from indexing in the Spotlight preferences. Unsurprisingly, this didn't work. Testing out mdfind and trying to simply find a file in a specific directory (which only contains five files): mdfind -onlyin . name-of-my-file.md Nothing. mdfind -onlyin . -name name-of-my-file.md Nothing. mdfind -onlyin /absolute/path/to/cwd -name name-of-my-file.md Nothing. This is pretty reflective of my experience with the Spotlight GUI. Every search turns up something, but the file I want is almost never in the results.
- Affric 3y agoSpotlight progressively getting worse was one of the reasons I switched to Linux. I think MacOS is great. Many of the features are brilliant. The UI is second to none to this day. But holy moly, Spotlight has degraded. From searching my files, to searching my files and the internet, to consistently providing me with nothing I am looking for. When Apple first started selling OSX it's UNIX heritage was a part of the selling point but my vibe is that they only really consider text input a feature for devs. Which thinking of Mac's history is on brand but just leaves you down many a frustrating dead end.
- pvtmert 3y agoif you do not have the "show all file extensions" enabled, `.md` query in spotlight will not show up anything. try without extension. (eg: just the name) I even have scripts to locate other scripts using mdfind, it is pretty robust to be honest... Eg: source $(mdfind -name spacelatte-bashlib.sh)
- mistercow 3y agoIt also doesn’t work without the extension. It does work on my work laptop, so I expect that something is broken with my index. But this is also part of the problem. The whole thing is opaque, breaks, and offers no clear recourse for how to resolve any issues.
- ukuina 3y agoAnd FindAnyFile (https://apps.tempel.org/FindAnyFile/index.php https://apps.tempel.org/FindAnyFile/index.php), disclosure: happy user with no affiliation.
- dzek69 3y agoThis is great tool, I use it everyday, but far from it's Windows based original Everything. Also this is anbandoned apparently, which makes me extra sad, because it lacks few crucial features like: - being able to just remove a file from the index if you delete it from the app directly (insted it shows a window how it "soon" gonna be implemented) - while i understand that indexing service is more complex job - at least caching the index would be nice, because right now when i start the app i have to wait for it to index everything again, but usually i search for files that exists for a long time, not these that was created between my fsearch uses So yeah. Cool dead and incomplete piece of software ¯\_(ツ)_/¯ From time to time I look for better alternative, if you happen to know one - let me know.
- RachelF 3y agoMe too - strangely, one of the reasons I stay on Windows is Everything (https://www.voidtools.com/ https://www.voidtools.com/) - it is just so useful.
- BOOSTERHIDROGEN 3y agoWhat is the pattern syntax you use most often?
- porridgeraisin 3y agoJust regular fuzzy finding is the most common. For example, to attach a file instead of faffing around clicking in the open dialog, I type into fluent search(a frontend to everything) and it enters it in the current context i.e the open dialog. It has a few other qualifiers, like big: huge: etc to search large files. Same way with time etc. Rarely when you need it you prefix with regex: and you get everything you need. It's very useful that both everything and fluent search integrate into explorer in that if you right click on the search result you get the same context menu as you would in explorer. Drag drop works, etc,. The issue with every other tool in every other OS is the lack of this feature. You basically have a virtual fully featured directory for every search result, simply cannot beat that.
- apt-get 3y agofsearch is the best locate front-end for Linux, but sadly, I've got many gripes with it... crappy drag'n'drop, no daemonization to minimize to system tray, closing the app resets the clipboard for some reason (EXTREMELY annoying when you open it to copy a file path), the list is long. Not to mention that locate itself doesn't auto-update the index with fs changes. I miss Everything :(
- porridgeraisin 3y agoNot to detract from your overall point, but the app is not resetting the clipboard. In X11 if you close any app, you lose anything you copy from it. This is because in X11 windows do message passing to emulate a clipboard. Your browser say and fsearch send messages to each other to send data in few KB chunks(yes there's an incremental transfer protocol where you have to support all kinds of irrelevant clients even if the last such client died before the turn of the century) So when one of the windows closes, it's gg. It's a pretty convoluted over-engineered idea when instead a single file ~/. clipboard would have sufficed. For a more articulated rant from 20 years ago, see the rant file in https://github.com/porridgewithraisins/x11cp https://github.com/porridgewithraisins/x11cp. Also shameless plug. To fix this, use a clipboard manager. Also shameless plug https://github.com/porridgewithraisins/coffee-pesto https://github.com/porridgewithraisins/coffee-pesto :)
- CyberDildonics 3y agoHow does this search filesystems quickly on linux?
- wander_homer 3y agoAuthor here. The app works in two steps: Step one is building an index of the file system. This is simply done by walking the filesystem. The resulting index is stored in RAM and a file. On the next app start the index ia loaded from that file, which is much quicker than walking the file system. Step two is using this in RAM index for searching. This scales really well with the number or CPU cores and on modern systems a normal case insensitive substring search should finish almost instantly with few million files. The next release will support file system monitoring with inotify and fanotify to keep the index updated. Although this has some drawbacks.
- bdzr 3y agoI've never used fsearch, but I use a CLI tool that replaces locate (https://plocate.sesse.net/ https://plocate.sesse.net/). Do you have an idea of how the performance and index format compares with fsearch?
- wander_homer 3y agoI'm not familiar with the internals of plocate, but I'll have a brief look at it.
- CyberDildonics 3y agoThis is simply done by walking the filesystem. This is the part I'm wondering about. Everything scans the filesystem very fast and there is no way it is just using 'stat' on every file then diving into the directories. Are you just using stat from C to walk the filesystem or are you doing something else? I've used sqlite to cache filesystem results and it is also extremely fast once everything is in there, but I think a lot of approaches should work once the file attributes are cached.
- einpoklum 3y agoI like that the author has not done away with the menu, like certain software projects which shall not be named but begin with GN and end with ME.
- jcul 3y agoI was wondering what this adds over mlocate. It seems it's a GUI only / GUI first tool. The GitHub page recommends mlocate for a CLI version.
- wander_homer 3y agoHi, author here. Likely the most significant benefit is the more powerful query language. For example you can also search by file modification date or size and use boolean operators. https://github.com/cboxdoerfer/fsearch/wiki/Search-syntax https://github.com/cboxdoerfer/fsearch/wiki/Search-syntax
- jcul 3y agoAh thanks for that, I can see the benefit there alright.
- soundarana 3y agoFor example it updates after every character you type. Sometimes you don't know exactly what you are looking for or you are exploring.
- aikinai 3y agoFor anyone looking for a Mac equivalent, there's GoToFile[0]. As far as I've seen, this is the only app for Mac that doesn't just reuse Spotlight search (which I find to be terrible). I looked for exactly this type of app for years before finding it, and when I did, it didn't seem real with the old-fashioned website and zero mentions on sites like HN. But I can assure that it works great and it's maintained. I just wish the author would promote it better so it gets more attention and isn't so hard to find. [0] https://www.soma-zone.com/GoToFile/ https://www.soma-zone.com/GoToFile/
- code_biologist 3y ago+1 on the need for non-Spotlight options. Source code makes a mess of spotlight for everyday usage. I like Leap a lot for multimedia browsing with more precise search capabilities than spotlight: https://ironicsoftware.com/leap/ https://ironicsoftware.com/leap/
- Jakob 3y agoYou can remove folders from spotlight under "Spotlight Privacy". I removed my source code folders, which vastly improved search results.
- code_biologist 3y ago100%. That's when I discovered I needed non-spotlight search to bulk search what I just excluded from spotlight.
- optimalquiet 3y agoSoma-zone software in general is pretty neat for Mac power users. I especially like Launch Control, which lets you configure and inspect launchd (the mac service daemon) services.
- monroewalker 3y agoHow does a program like this work? Is it indexing every file on the system and monitoring all events for updates?
- Beijinger 3y ago"Performance. On Windows I really like to use Everything Search Engine. It provides instant results as you type for all your files and lots of useful features (regex, filters, bookmarks, ...). On Linux I couldn't find anything that's even remotely as fast and powerful." https://www.lesbonscomptes.com/recoll/pages/index-recoll.html https://www.lesbonscomptes.com/recoll/pages/index-recoll.htm... "Recoll finds documents based on their contents as well as their file names." "Recoll will index an MS-Word document stored as an attachment to an e-mail message inside a Thunderbird folder archived in a Zip file (and more… ). It will also help you search for it with a friendly and powerful interface, and let you open a copy of a PDF at the right page with two clicks. There is little that will remain hidden on your disk."
- wander_homer 3y agoRecoll serves a different purpose as it's primarily build to index and search within your personal documents. That's why it doesn't work well when you point it to the root folder, in an attempt to search within the entire system of millions of files and that's also the reason why it's not as fast, since it's doing more work (parsing complex file formats, searching within a more complex database structure and more data, ...). FSearch is primarily built to find files on the entire system instantly (by that I mean that all results should be ready by the time you press the next character while typing), based on their name, size, time, filetype, etc. This is less work than what Recoll does and that's why it is much faster. That's why I also use both tools.
- Beijinger 3y ago"FSearch is primarily built to find files on the entire system instantly " I am not sure, but I think my Bodhi "everything starter" solves this problem for me. If I look for something more specific, I use recoll.
- QuadrupleA 3y agoI gave up on Desktop Linux unfortunately, but this is a great Everything replacement for those who love it on Windows.
- ivanjermakov 3y agoWhat made you to give up?
- QuadrupleA 3y agoToo much research and extremely low level troubleshooting required (i.e. source code reading) to get things working. Especially around wayland, multi-monitor, multi-GPU, Nvidia, etc. I hate what Microsoft has been doing with Windows, but Linux just isn't practical for my setup yet.
- berkes 3y agoYou are either extremely unlucky or chose a very strange setup. The problems you describe were common in early 2000s, but haven't been common in Linux desktop for a decade or so. For those reading above and thinking "I'll skip Linux, if that's the current status": it's not. Just pick Ubuntu LTS. Use it on common hardware (e.g not bleeding edge) and stick with the defaults. Don't try to make it exactly like your Mac or Windows machine but lean into how it does things. They are different . They may be uncomfortable. Then, once familiar feel free to tinker and hack. I'm on Linux since 1996. I've hacked and tweaked everything in my younger years. Now I'm on a boring, hardly configured Ubuntu LTS. Well, my she'll and nvim are tuned beyond recognition, I guess. The rest: boring.
- carpo 3y agoE a d
- ensocode 3y agoDoes it support find in files? I am using catfish and looking for alternatives but find in files would be a must have. Some are recommending fzf (rg, fd). What is your search workflow and what tools do you use?
- wander_homer 3y ago> Does it support find in files? No, not yet.
- eviks 3y agoDo any of the modern filesystem on Linux cover this very important use case of instant search anywhere like the good old NTFS does (that's how you get Everything's awesome performance)?
- OvbiousError 3y agoBetween mlocate and rg I've never felt like I needed anything else.
- eviks 3y agoHave you tried anything else like Everything? It's common to feel no need if you haven't experienced the awesomeness of immediate feedback that in many parts is easily refinable with a shortcut maintaning the same properties, e.g., turn case sensitivity: no need to get your query from history, edit flags and rerun it; or add another column with extra data, same thing, no need to remember the rarely used flags or run a help command to get them, edit query and rerun it
- pjmlp 3y agoLooks quite nice, brownie points for being native.
- WebTDs 3y agoMy favorite search tool on windows is Agent Ransack https://www.mythicsoft.com/agentransack/ https://www.mythicsoft.com/agentransack/ Searches not only file names but in contents as well. Also blazing fast in my experience.
- pacifika 3y agoJust noting this is Windows software not unix-like.
- smcleod 3y agoIt’d be interesting if this could integrate with plocate (mlocate’s replacement) which is incredibly quick at indexing and returning results but relatively basic.
- wander_homer 3y agoYou mean like being able to read the plocate database with FSearch? I don't see much point in that, because the plocate database is missing some crucial data, which FSearch uses to make searching and sorting quicker. For example file attributes like size or modification date and the sort order by various attributes (name, path, size, ...) aren't indexed by plocate. If plocate is faster at building the index, it probably makes more sense look at what's the reason behind that and add these improvements to FSearch.
- liotier 3y agoHow does it compare to Baloosearch ? Baloo and KDE Plasma go nicely together !