this post was submitted on 28 Aug 2023
177 points (97.3% liked)
Linux
48655 readers
1920 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use ls and ranger, to find files i use
find -name
and remember that * is used as a wildcard so you can use it when searching for stuff with in incomplete filename or when copying or moving files/directories. You could also use colorls to add some flare to your ls, and oh-my-zsh for syntax highlighting and tab autocompleteI know there is probably a historical reason but I hate how find parses its arguments.
Any other app would be fine --name or find -n.
Every time I use it I have to spend a few minutes checking the results to make sure that it's actually doing what I want it to do.
That's one of the reasons why the more modern
fd
is a nice alternative: it accepts command line args as you'd expect.Also every other search program has the needle as a positional argument and either reserves a named parameter to specify haystack, or has the haystack come after.
Apparently the
find
devs thought users would spend more time using it as an alternative tols -a
than finding specific filesDepending on system, something like
locate
/mlocate
might be installed, and is almost certainly available if the following seems like a good idea.Tools/daemons like them are quicker for finding files - basically because they index all files except those in specified places. (Or potentially only those in specified places depending on tool/configuration.)
That way, rather than
find -name 'some_wildcard_string'
, it's insteadlocate 'partial_filename_match
orlocate --regex 'some_regex_string'
.As for speed:
locate / | wc -c
returned 565035, the count of files currently indexed bymlocate
on my computer, in 0.3 seconds. Quite a bit quicker thanfind
! (locate /
literally returns any file with a/
in the full pathname, which basically means every single file in its DB).