Skip to content
Go back

Supercharging My Fedora 43 Ptyxis Terminal with Faster & Better Tools/Commands đŸ§šđŸš€đŸ’„

(updated )

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:

⚠ Alternatives, not drop-in replacements. None of these speak the original’s dialect — bat isn’t cat, fd isn’t find, rg isn’t grep, lsd isn’t ls. And because the alias shadows the classic name, the classic name now reaches the new tool instead of the original. The portable escape hatch is command: 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 \grep and drop the alias with unalias grep; in fish \grep still lands on the wrapper, so it’s functions --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:

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. 😄


Share this post on:

Previous Post
From Windows CMD Hater to Terminal Enthusiast: My Ptyxis Plot Twist
Next Post
Starship, Micro & Fish 🐟: How My Fedora 43 Terminal Grew a Personality