After fleeing Windows 10âs EOL doom on my trusty Core i7-7700HQ laptop, Fedora 43 Workstationâs Ptyxis terminal (the default beast with container tabs, dark mode perfection, and GPU acceleration).
I realized that even though the terminal is modern, my muscle memory was still summoning old-school commands like cat, ls, find, grep, and even cls from my Windows refugee days. Time to upgrade the commands, not just the OS. đ
I channeled my old registry-tweaking soul from Windows 98 through 10 days, installing modernizers like bat, fd, ripgrep, lsd, tldr.
Then aliased them over classics so ls and pals auto-upgrade. No muscle memory rewrite needed! Ptyxis renders their colorful glory flawlessly. đ
These tools arenât tweaks; theyâre revolutionsâfaster, smarter, Git-aware eye candy that make my Pentium 4-era Gentoo live CD dreams real. Laugh at grepâs sloth while ripgrep blitzes monorepos? Check. Syntax-highlighted âcatsâ like VS Code? Yup. My Zorin/Pop!_OS dabbling hinted at this power & now Fedora 43 is nailing it .
So this is how I swapped out the classics for nicer, more helpful toolsâ bat, fd, ripgrep, lsd, tldr â and wired aliases so my old habits still work, just⊠better.
The end result? Same keystrokes, completely new experience.
Tested with: Fedora 44 · fish 4.6.0 · bash 5.3.9 · ripgrep 15.2.0 · fd 10.4.2 · bat 0.26.1
Old vs New: What I Replaced đ
Hereâs the mapping of what I actually changed:
catâbatfindâfdgrepâripgrep(rg)lsâlsdmanâtldr(and how to get the realmanback â see below)clsâclear(for Windows muscle memory)
â ïž Alternatives, not drop-in replacements. None of these speak the originalâs dialect â
batisnâtcat,fdisnâtfind,rgisnâtgrep,lsdisnâtls. And because the alias shadows the classic name, the classic name now reaches the new tool instead of the original. The portable escape hatch iscommand:command grep âŠ,command man âŠ. The absolute path gets past it too â/usr/bin/find, once youâve confirmed thatâs where your system puts it. In Bash you can also use\grepand drop the alias withunalias grep; in fish\grepstill lands on the wrapper, so itâsfunctions --erase grep.
The key idea: donât fight habits, hijack them. I still type ls and grep like a 20âyear Windows/Unix hybrid, but the output looks and behaves like something from this decade.
cat â bat: Reading Files Like a Human đ
cat is fine⊠if you enjoy staring at a wall of monochrome text. bat takes the same job and makes it actually pleasant to use.
What bat adds over cat:
- Syntax highlighting for tons of languages and file types (scripts, configs, JSON, YAML, you name it)
- Line numbers by default (amazing when debugging or sharing snippets)
- Git integration: shows which lines are changed vs HEAD in tracked files
- Optional paging when output is long, instead of dumping a scroll-fest in one go
cat config.yaml = âgood luckâ.
bat config.yaml = âoh wow, I can read this.â đ€©
Install (Fedora 43):
sudo dnf install bat
Alias:
alias cat='bat --paging=never --style=numbers'
Now every time I type cat, I get a prettier, more informative view without changing my workflow.
find â fd: Searching Without a PhD in find Flags đ
find is powerful but feels like it was designed by someone who hates humans. fd keeps the idea of find but makes it fast and sane.
What fd improves over find:
Simple default usage: fd foo searches recursively for names containing âfooâ
Ignores hidden and .git stuff by default (can be turned back on when needed)
Smart case: lowercase pattern = case-insensitive, includes uppercase = case-sensitive
Uses regular expressions but doesnât force you to type a small novel each time
Example:
# Old
find . -name "*.py"
# New
fd '\.py$'
Install (Fedora 43):
sudo dnf install fd-find
Fedora ships the binary as fd (Debian and Ubuntu call the same binary fdfind), so:
Alias:
alias find='fd --color=auto'
alias f='fd --hidden --exclude .git'
Now find is actually fd, and f is my âinclude dotfiles tooâ shortcut â worth knowing that fd still obeys .gitignore, so hidden and every last file arenât the same thing.
grep â ripgrep (rg): Searching Code at 2026 Speeds âĄ
grep has served faithfully since the dinosaurs, but modern codebases absolutely demolish it. ripgrep (rg) is like grepâs hyperactive, gym-rat cousin.
What ripgrep improves:
Much faster on big trees (multi-threaded, optimized search engine)
Automatically respects .gitignore and similar ignore files
Skips binary files, and honours .gitignore and friends â which is why build artefacts usually stay out of the way
Provides nicer defaults for recursive searches
Example:
# Old
grep -R "myFunction" .
# New
rg "myFunction"
Same intent, way less typing, a lot less waiting.
** Install (Fedora 43):**
sudo dnf install ripgrep
Alias:
alias grep='rg --color=auto'
alias fgrep='rg --fixed-strings'
Now every unconscious grep call silently routes through ripgrep and my terminal feels faster than my laptop actually is. đ„Č
ls â lsd: Directories With Actual Visual Clues đ
ls prints filenames. lsd prints information.
What lsd adds:
Colors and icons for file types (much easier to scan visually)
Tree view output (lsd âtree) when you want structure at a glance
Better defaults for layout and formatting
Still close enough to ls that your fingers donât revolt
Example:
# Old
ls -la
# New
lsd -la
Same command shape, much more readable.
Install (Fedora 43):
sudo dnf install lsd
To see icons, youâll want a Nerd Font or similar configured in Ptyxis (e.g., one of the Noto/nerdâpatched fonts).
Aliases:
alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -a'
alias l='lsd -al'
I barely remember what stock ls looks like anymore. Probably gray and sad.
man â tldr: âWhatâs the Flag I Actually Need?â đ
man pages are detailed⊠too detailed when you just want âHow do I use this again?â. tldr is the âtoo long; didnât readâ companion to man: short, example-focused cheatsheets for the commands it happens to cover. Itâs a memory jogger, not the reference â the real manual is still where the whole story lives.
What tldr gives you:
Short description of the command
A handful of the most common, practical usage examples
Enough to jog your memory without scrolling for days
Example:
tldr tar
Returns a concise list of âdo this exact thingâ snippets instead of an encyclopedia.
Install (one simple way):
# Python client via pipx (recommended pattern)
pipx install tldr
Check the official site for other client options or install methods if you prefer a different language client.
Alias:
alias man='tldr'
Which Iâll admit out loud: that puts tldr on top of man, so a bare man tar gives me four example lines instead of the manual. tldr only ships a curated set of pages, so anything outside that set comes back empty â trading a long manual for a blank screen on exactly the commands I reach for least. When I actually need the reference I go around it: command man tar, or /usr/bin/man tar. The cleaner move is to not shadow it at all â alias t='tldr' and leave man alone.
cls â clear: Healing My Windows Muscle Memory đ§
This one is simple but vital for a recovering Windows user:
In CMD/PowerShell: cls
In Linux: clear
Rather than retrain my fingers (good luck with that after two decades), I just made cls work:
alias cls='clear'
Now I can smack cls all day and Fedora politely clears the screen instead of judging me.
How I Wired the Aliases đ§”
On Fedora 43 with bash, I keep things tidy using a separate aliases file.
Create the config directory (if it doesnât exist):
mkdir -p ~/.bashrc.d
Create/edit the aliases file:
nano ~/.bashrc.d/aliases
Paste all the aliases:
# cat -> bat
alias cat='bat --paging=never --style=numbers'
# find -> fd
alias find='fd --color=auto'
alias f='fd --hidden --exclude .git'
# grep -> ripgrep
alias grep='rg --color=auto'
alias fgrep='rg --fixed-strings'
# ls -> lsd
alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -a'
alias l='lsd -al'
# man -> tldr
alias man='tldr'
# Windows muscle memory
alias cls='clear'
Fedoraâs stock ~/.bashrc already loops over ~/.bashrc.d/* when that directory exists. Get the name right, though: itâs ~/.bashrc.d, not ~/.config/bashrc.d â put the file somewhere nothing sources and the aliases silently never load. If your ~/.bashrc is missing that block, add:
for rc in ~/.bashrc.d/*; do
[ -r "$rc" ] && . "$rc"
done
Reload:
source ~/.bashrc
Open a new Ptyxis tab and all your âoldâ commands are now powered by their upgraded twins.
edit : Doing This in Fish đ
This article is about the time I was still on bash, but if youâve moved on to fish shell, aliases work a bit differently.
In fish, alias is just sugar for a function, and fish makes life easier when it comes to setting up aliases:
example:
alias -s cat bat
Thatâs my âsame keystrokes, better terminalâ setup on Fedora 43 with Ptyxis. Still typing like an old Windows power userâjust getting way better output for my trouble. đ