Why is fzf, the best utility, relegated to the end? And why is ripgrep - a huge improvement over grep, especially if you want to search only on committed files in a git directory - not even mentioned? This list is outrageous. Even more so because I can't pretend to have known about all of these before, and annoyingly now have to face the fact that some of these actually look pretty handy.
most shells have a CDPATH which works just like PATH but for directories. set it to $HOME/projects/:$HOME/porn/ or whatever, and you'll get the subdirectories in your cd tab completion, without installing extra stuff
I've just replaced cd with it. It's so fucking convenient writing cd n and immediately entering my config, then writing cd f and entering some other project of mine.
3rd thing: these tools may not be available on the remote server at your company. so you don't want to stumble on the commands (aliases exist but the outputs are wildly different)
The problem is the standard apps are just that - standard. I can hop onto any Redhat, Debian or Solaris 10 box at work and use ls, cat etc.
If I went all-in on some bespoke alternatives on my special snowflake machine, I'd constantly be going nuts entering incorrect commands on remote machines and losing efficiency. Then, I'd go back to just using the standard commands everywhere.
They're not though are they. Remember the pain of the last time you tried to write a portable sed then just gave up and used a `perl -pe'? That's real. We've all been there.
-v prints non-printing characters in a visible representation. Making strange
characters visible is a genuinely new function, for which no existing program is suitable. (sed -n l,
the closest standard possibility, aborts when given very long input lines, which are more likely to occur in
files containing non-printing characters.) So isn’t it appropriate to add the -v option to cat to make
strange characters visible when a file is printed?
The answer is "No." Such a modification confuses what cat’s job is concatenating files with
what it happens to do in a common special case showing a file on the terminal. A UNIX program
should do one thing well, and leave unrelated tasks to other programs. cat’s job is to collect the data in
files. Programs that collect data shouldn’t change the data; cat therefore shouldn’t transform its input.
The default output of ls is uncolored, but some distros include an alias in your .bashrc for 'ls' to 'ls --color=auto', so you definitely don't need a whole other utility just for colored output
Yeah, all good and nice, but as long as they are not part of all linux distributions, I will not use them. I need a ls because I know it is working on all machines that I use. Additionally, don’t forget that introducing new tools also introduces new attack surfaces, something you want to avoid on very important servers.