Live data from Hacker News

Modern Linux tools

ikrima.dev

131–140 of 219 posts

Re: Modern Linux tools

#131
post #9

These may be objectively superior (I haven't tested), but I have come to realize (like so many others) that if you ever change your OS installation, set up VMs, or SSH anywhere, preferring these is just an uphill battle that never ends. I don't want to have to set these up in every new environment I operate in, or even use a mix of these on my personal computer and the traditional ones elsewhere. Learn the classic to…

I do it at least for ripgrep.

Re: Modern Linux tools

#132

Earlier quoted context omitted.

Some are so vastly better that it's worth whatever small inconvenience comes with getting them installed. I know the classic tools very well, but I'll prefer fd and ripgrep every time.

For my part, the day I was confused why "grep" couldn't find some files that were obviously there, only to realize that "ripgrep" is ignoring files in the gitignore, that was the day I removed "ripgrep" of my system. I never asked for such behaviour, and I have no time for pretty "modern" opinions in a base software. Often, when I read "modern", I read "immature". I am not ready to replace my stable base utilities fo…

The very first paragraph in ripgrep's README makes that behaviour very clear:

> ripgrep is a line-oriented search tool that recursively searches the current directory for a regex pattern. By default, ripgrep will respect gitignore rules and automatically skip hidden files/directories and binary files. (To disable all automatic filtering by default, use rg -uuu.)

https://github.com/BurntSushi/ripgrep

Re: Modern Linux tools

#133

Earlier quoted context omitted.

Some are so vastly better that it's worth whatever small inconvenience comes with getting them installed. I know the classic tools very well, but I'll prefer fd and ripgrep every time.

For my part, the day I was confused why "grep" couldn't find some files that were obviously there, only to realize that "ripgrep" is ignoring files in the gitignore, that was the day I removed "ripgrep" of my system. I never asked for such behaviour, and I have no time for pretty "modern" opinions in a base software. Often, when I read "modern", I read "immature". I am not ready to replace my stable base utilities fo…

You did ask for it though. Because ripgrep prominently advertises this default behavior. And it also documents that it isn't a POSIX compatible grep. Which is quite intentional. That's not immature. That's just different design decisions. Maybe it isn't the software you're using that's immature, but your vetting process for installing new tools on your machine that is immature.

Because hey guess what: you can still use grep! So I built something different.

Re: Modern Linux tools

#134

Earlier quoted context omitted.

Out of curiosity, how would you recursively grep files ignoring (hidden files [e.g., `.git`]), only matching a certain file extension? (E.g., `rg -g '*.foo' bar`.) I use the command line a lot too and this is one of my most common commands, and I don't know of an elegant way to do it with the builtin Unix tools. (And I have basically the same question for finding files matching a regex or glob [ignoring the stuff I o…

find . -name '.*?' -prune -o -name '*.foo' -exec grep bar /dev/null {} + This is the POSIX way. You'd probably put it in a function in .bashrc

Just noting that I answered why I don't use this approach here https://news.ycombinator.com/item?id=45569313

Re: Modern Linux tools

#135
post #36

Earlier quoted context omitted.

“It’s written in Rust” Actual LOL. Indeed. I was working for a large corporation at one point and a development team was explaining their product. I asked what its differentiators were versus our competitors. The team replied that ours was written in Go. #faceplam

The Rust rewrites can become tiresome, they have become a meme at this point, but there are really good tools there too. An example from my personal experience: I used to think that oxipng was just a faster optipng. I took a closer look recently and saw that it is more than that. See: https://op111.net/posts/2025/09/png-compression-oxipng-optip...

If a new tool has actual performance or feature advantages, then that's the answer to "what problem does it solve", regardless of what language it's in.

Re: Modern Linux tools

#136
post #14

I basically live in the terminal. However, every single one of these tools offers a solution to a problem that I don't have; aren't installed on my system; and mysteriously have many tens of thousands of github stars. I genuinely don't know what is going on here.

Out of curiosity, how would you recursively grep files ignoring (hidden files [e.g., `.git`]), only matching a certain file extension? (E.g., `rg -g '*.foo' bar`.) I use the command line a lot too and this is one of my most common commands, and I don't know of an elegant way to do it with the builtin Unix tools. (And I have basically the same question for finding files matching a regex or glob [ignoring the stuff I o…

  alias grep='grep --exclude-dir .\* --exclude .\*'
  grep -r --include \*.foo bar

Re: Modern Linux tools

#137
post #53

Every time such a list is posted, it tends to generate a lot of debate, but I do think there is at least 2 tools that are really a good addition to any terminal : `fd`: first I find that the argument semantic is way better than `find`, but that is more a bonus than a real killer feature. Now, it being much, much faster than `find` on most setup, I would consider a valuable feature. But the killer feature for me is th…

> Like, searching for `isLoading` on my frontend (~3444 files) is instant with rg (less than 0.10s) but takes a few minutes with grep.

grep will try to search inside .git. If your project is Javascript, it might be searching inside node_modules, or .venv if Python. ripgrep ignores hidden files, .gitignore and .ignore. You could try using `git grep` instead. ripgrep will still be faster, but the difference won't be as dramatic.

Re: Modern Linux tools

#138

Earlier quoted context omitted.

Some are so vastly better that it's worth whatever small inconvenience comes with getting them installed. I know the classic tools very well, but I'll prefer fd and ripgrep every time.

For my part, the day I was confused why "grep" couldn't find some files that were obviously there, only to realize that "ripgrep" is ignoring files in the gitignore, that was the day I removed "ripgrep" of my system. I never asked for such behaviour, and I have no time for pretty "modern" opinions in a base software. Often, when I read "modern", I read "immature". I am not ready to replace my stable base utilities fo…

Sounds like the problem you have here is that `grep` is aliased to `ripgrep`. ripgrep isn't intended to be a drop-in replacement for POSIX grep, and the subjectively easier usage of ripgrep can never replace grep's matureness and adoption.

Note: if you want to make ripgrep not do .gitignore filtering, set `RIPGREP_CONFIG_PATH` to point to a config file that contains `-uu`.

Sources:

- https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md#c...

- https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md#a...

Re: Modern Linux tools

#139
post #131
post #9

These may be objectively superior (I haven't tested), but I have come to realize (like so many others) that if you ever change your OS installation, set up VMs, or SSH anywhere, preferring these is just an uphill battle that never ends. I don't want to have to set these up in every new environment I operate in, or even use a mix of these on my personal computer and the traditional ones elsewhere. Learn the classic to…

I do it at least for ripgrep.

Fzf has saved me so much time over the years. It's so good.

Re: Modern Linux tools

#140
post #118
post #93

Earlier quoted context omitted.

"servers" is the key word here. Some of the tools listed on that page are just slightly "improved" versions of common sysadmin utilities, and indeed, those are probably not worth it. But some are really development tools, things that you'd install on the small number of machines where you do programming. Those might be. The ones that leap out at me are ripgrep (a genuinely excellent recursive grepper), jq (a JSON pro…

In my last role rg and jq were included as part of our standard AMI as well as our base container images. It broadens our CVE exposure but it was undoubtably worth it.

[deleted]
Post reply on HN