Seems like an appropriate place to share https://github.com/agarrharr/awesome-cli-apps
I’m a fan of ripgrep and lsd in particular.
*NIX enthusiast, Metal Head, MUDder, ex-WoW head, and Anon radio fan.
Seems like an appropriate place to share https://github.com/agarrharr/awesome-cli-apps
I’m a fan of ripgrep and lsd in particular.
Check out the for docs. It ships with helpers that offer better shell integration than you’re getting here.
You’re absolutely right. For what it’s worth, it’s just the first part that’s important.
When you pick up a new concept from a “resource” such as a tutorial, take a minute to explore the concept and understand the semantics of what you’re doing. In the name of illustrating a concept tutorials can often be misleading in subtle ways.
An explanation of my “useless use of cat” example:
The command line has a concept called “piping”. This lets one command send output to a second command. It’s very handy. There is usually also a “cat” command, which will read a file and send the contents where you tell it. This is often your screen, or through a “pipe” to a second command. There is also a “grep” command that lets you search data for certain words.
Many “linux newbie” tutorials combine these tools to show how “piping” lets you send data from one command to another. “cat” some text file, then “pipe” the output to “grep” to search for your words. It usually looks something like cat ./my_address_book.txt | grep Giles
to find lines in “./my_address_book.txt” that contain the word “Giles”. The thing is that “grep” can take a file name as an argument. You can just do grep Giles ./my_address_book.txt
, and cat is for concatenating files into one. If you want to simply read a file there are more appropriate tools such as “less”. This by the way is the “useless use of cat”
When you’re a newbie though, it may be the first time you’re seeing either “grep” or “cat”. The tutorial is just trying to show you “pipes”. Along the way you’re picking up these “bad habits”. I’ve met professional sysadmins who didn’t know grep took a filename as an argument. It was always “cat blah | grep my_search”. I will see people type “cat /some/file | less” instead of “less /some/file”. It shows a lack of understanding of what these tools actually do, and IMO it just comes down to regurgitating tutorial actions without bothering to understand the semantics of what you’re being shown.
Don’t follow tutorials, understand them. I’m so tired of seeing useless uses of cat because some asshole writing a tutorial 20 years ago decided to illustrate how pipes work with a good ol cat file | grep string
as if grep didn’t take a file name as an argument.
The more time I spend being mad about this the more I notice people using horrible practices in tutorials because they’re too lazy to setup a legit use case.
A new user sees this and thinks this is how grep works.
Loops are another common one. People going around not knowing you can pass a glob to a shell for loop. Because the tutorial they read was lazily written and they didn’t bother to understand the bits of what they were being shown, only how to reproduce/mangle the command until they manage to get close enough to what they want out of it.
I’m not even interested in the username of the person I’m responding to. I tend to ignore it completely unless there’s a comment like “lol, username checks out”.
There are very few times I will bother to check someones profile. They have to either say something so awesome that I want to see more, or have given a take so hot I want to see if they’re trolling or if this is standard behaviour for them.
While it looks like the whole Jerboa/“miscommunication” thing has been sorted out here I want to chime in to say that no, I don’t think that checking profiles for anything is a reasonable expectation.