reboot to rm -rf ~/
One thing I will agree with is to stop using SCP.
https://www.brightblack.net/blog/2024-02-09-scp-was-deprecated/
It was deprecated a while back and older, but more experienced Unix wizards still suggest it. SFTP is an alternative, but rsync also works.
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.
I fkn knew
eza
would be at the top of this list.E: I can’t talk, though. Here are my aliases:
alias ls='eza --time-style="+%Y-%m-%d" --group-directories-first --hyperlink --colour=never -hlF always --icons --git' alias ll='eza --time-style="long-iso" --group-directories-first --no-permissions --hyperlink --colour=never -hoalF always --icons --git' alias l='eza --time-style=relative --group-directories-first --hyperlink --colour=auto -hlF=always --icons --no-permissions --no-user'
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.
Start today! Replace “ls” with “dir /w”!
Obilgatory
cat -v
considered harmful: Program Design in the UNIX Environment - Rob Pike & Brian Kernighan (PDF)Can you explain why a little shorter? Ain’t trying to read that whole thing rn, though the snippets I read were interesting
Relevant except below, bolded is the key point.
-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 tocat
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.
I love zoxide. Makes traversing the filesystem so much faster!
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 yourcd
tab completion, without installing extra stuffBut zoxide updates automatically, where you have to update CDPATH manually.
I’ve just replaced cd with it. It’s so fucking convenient writing
cd n
and immediately entering my config, then writingcd f
and entering some other project of mine.Me too! Only learned about it a while ago too. I hate logging into machines that don’t have it.
I had a feeling this would be controversial 😅
Am local village idiot curious as to why this would be controversial.
First guess: advising change from familiar workflow
Second guess: gotta download a lot of these
Who doesn’t already use rsync?
Anyway I’ll give zoxide and eza a shot.
I have used it a couple times but I was unsure if using it to simply replace cp or mv commands was “proper”
Can someone give me a summary? That website keeps crashing my browser…
ls to eza
cat to bat
cp/scp to rsync
find to fd
cd to zoxide
I know what I’m doing tomorrow!
Ferb nods in approval!
Bat looks the most useful for me
You can also let bat render your man pages, with some nicer coloration (and theming) than man does by default.
No
Are some of the commands replaced by Manjaro or similar? For me, it’s normal to call ls and see colors…
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
Eza is a lot more than just ls with colours though.
Wow, pretty cool the tree and total size options, kind of substitutes other commands I commonly use.
Only thing is though I find it slower than du and tree.
You can also try something like broot. Lovely TUI file manager that shows how big folders are when you start it with the -w option, faster than either du or tree in my experience.
That’s true, I was mostly speaking to that specific use-case. It certainly sounds like it has generally superior functionality to ls, but for me personally it doesn’t beat out the utility of already being present on every linux system I’ll touch.
That’s unlike something like rsync which is genuinely more useful than scp for anything other than simple file transfers.
Yeah that’s fair, I only use it on systems where I’m in full control and use enough to get all my toys set up properly, which goes for all the commands in the article. I’ve just aliased ls to eza though, so it’ll mostly (options are a bit different) keep working on any system I’m on.