Re:Linux Productivity Tools (2019) [pdf]
by everybodyknows on Tuesday May 19, 2020 @12:15AM
(#23231224)
locate is not mentioned -- two orders of magnitude faster than find for searches from '/' on my laptop, e.g.
Faster because reading from a single binary cache file, updated nightly, rather than opening every directory inode under /. To force an immediate synchronous update of the cache:
[ Parent
| on HN ]
Re:Linux Productivity Tools (2019) [pdf]
by lighttower on Tuesday May 19, 2020 @02:11AM
(#23231753)
Have you tried FZF? [1] Fuzzy matching. It's loaded as a vimplug but binds to bash. It even fuzzy matches your bash history (CTRL-R).
Relying on a database which gets updated nightly is problematic for some usage though in at least 2 ways: I don't leave my computer on if I'm not using it so there's a good chance the db will simply never update (I guess?) plus it's only usable for locating files with confidence if you know they're system files or else they were on the system yesterday. Or, you run updatedb manually all the time and weep because that's not something instant, at all.
All in all, the idea is good, but I'm almost sure there are better implementations (even Windows has tools like 'Everything' which use a database but which gets continuously updated).
There are cron implementations that handle the "turned off at night" problem. anacron is one of them.
Even running updatedb (except the initial run) and then running locate might be faster than running a recursive grep from the root directory. Definitely if you run that grep more than once.
Re:Linux Productivity Tools (2019) [pdf]
by everybodyknows on Tuesday May 19, 2020 @10:55AM
(#23235535)
>you run updatedb manually all the time and weep because that's not something instant, at all.
No, not instant, YMMV. On my mid-range laptop with SATA SSD:
$ time sudo updatedb
real 0m0.501s
user 0m0.247s
sys 0m0.218sIs there any alternatives like "Everyting" on Windows? I really like it for its GUI and depending NTFS index which is immediately updated.
There is also `fd` [1] which is written in Rust and very fast alternative to `find` with a simpler syntax.
curious, is there a rust based implementation of posix utils or at least stuff from gnu-coreutils etc. ? thanks !
locate relies on indexing crons. This has killed several production servers until I disabled it.