My Real-World Linux Tips and Tricks: What I Use, What I’d Skip

I’m Kayla. I run Linux every day on a ThinkPad X1 Carbon (Fedora 40, GNOME) and on a tiny Raspberry Pi that hums in my closet. I write code, fix silly mistakes, and, yes, break things on Fridays when I should be folding laundry. These are the tips and tools I actually use. Not theory. Real stuff. With real wins and a few “oops.”
If you're still weighing which desktop distro should host your next experiment, the concise write-ups over at Desktop Linux Reviews can help you pick with confidence. I also expanded on many of these habits in this deeper companion piece if you want an even broader toolbox.

You know what? Linux can feel big. But small habits add up. Here’s what helped me work fast without feeling like I’m lost in man pages.


Fast File Searches That Don’t Make You Wait

When logs go wild, I reach for ripgrep and fd. They’re fast. Like “coffee still hot” fast.
Need proof? The actively maintained codebases for both tools live on GitHub—ripgrep and fd—so you can audit, tweak, or compile them yourself.

  • I use ripgrep (rg) to find errors:

    rg -n "ERROR" /var/log
    

    The -n flag shows line numbers. Handy when I’m skimming big files.

  • I use fd to find files by name:

    fd nginx /etc
    

    It skips junk like .git by default. Less noise, more gold.

What I like: speed and sane defaults.
What I don’t: rg’s regex can bite me if I forget quotes.


Jump Around Folders Like You Mean It

I move through projects all day, so I use fzf and zoxide. They feel like magic, but with less drama.

  • Fuzzy find a file and open it:

    fd . | fzf | xargs -r nano
    

    I’ll admit, I still use nano for quick notes. It’s comfy.

  • Jump to places I visit a lot with zoxide:

    z project-name
    

    First I teach it:

    cd ~/code/my-app
    

    After a few days, zoxide “gets” me.

What I like: it saves brain power.
What I don’t: the first day feels like training a shy dog.


Fix Slow Boots With Journal Logs

One week my laptop took forever to boot. I thought it was me. It wasn’t. It was a stubborn service.

  • See what dragged:
    systemd-analyze blame
    
  • Then peek at logs:
    journalctl -b -u NetworkManager --no-pager | rg -n "timeout|fail|drop"
    
  • Turn a service off if it’s pointless:
    sudo systemctl disable cups
    sudo systemctl stop cups
    

    I don’t own a printer. Why was cups even awake?

What I like: clear cause and effect.
What I don’t: systemd names can read like a puzzle.


A Calm Prompt That Shows What Matters

I use the starship prompt with zsh. It shows git status, node versions, and time. But it stays clean.

  • Install and set it as default:
    echo 'eval "$(starship init zsh)"' >> ~/.zshrc
    
  • My tiny tweak in ~/.config/starship.toml:
    add_newline = true
    [git_status]
    conflicted = "!"
    

What I like: info at a glance.
What I don’t: a busy prompt can slow down in huge repos.


Tmux: Keep Work Alive, Even After SSH Drops

I keep long tasks in tmux. If my train Wi-Fi dies, my session lives.

  • Start and name a session:
    tmux new -s web
    
  • Split and run a server:
    Ctrl-b %   # split right
    npm run dev
    
  • Detach and go:
    Ctrl-b d
    
  • Later, hop back:
    tmux attach -t web
    

What I like: peace of mind.
What I don’t: the key binds feel odd the first week.


Packages Without Tears: apt, dnf, and Flatpak

On Fedora I use dnf for base apps and Flatpak for desktop stuff I don’t want to babysit.

  • Install with dnf:
    sudo dnf install jq
    
  • Install a desktop app with Flatpak:
    flatpak install flathub com.spotify.Client
    
  • Run it:
    flatpak run com.spotify.Client
    

What I like: newer desktop apps, less hassle.
What I don’t: Flatpak can eat disk space if I ignore it.

If you’re still juggling the occasional Windows-only utility, here’s how I let Wine access your files safely without tripping over messy permissions.

Clean older runtimes now and then:

flatpak uninstall --unused

When Fans Spin, I Check btop

If the fans jump, I open btop and hunt the hog.

  • Start it:
    btop
    
  • Sort by CPU, find the bad process, then:
    kill -9 12345
    

    I kill with care. I save work first if I can.

What I like: clear graphs, no fuss.
What I don’t: killing the wrong PID stings.


SSH That Feels Like Shortcuts

Typing full SSH lines gets old. I keep a config file.

  • In ~/.ssh/config:
    Host pi
      HostName 192.168.1.40
      User kayla
      IdentityFile ~/.ssh/id_ed25519
    
  • Then connect with:
    ssh pi
    
  • If I need a new key:
    ssh-keygen -t ed25519 -C "kayla@laptop"
    ssh-copy-id pi
    

What I like: short names, less typing.
What I don’t: wrong file perms break SSH fast.

Fix perms if SSH yells:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

Simple, Safe Backups I’ll Actually Run

I’ve tried fancy tools. I always come back to restic or rsync. They’re plain and steady.

  • First time with restic (it asks for a password you must remember):
    export RESTIC_REPOSITORY=/mnt/backup/kayla
    export RESTIC_PASSWORD=keepitsecret
    restic init
    
  • Back up my home:
    restic backup ~/Documents ~/Pictures ~/.config
    
  • Check it:
    restic snapshots
    

What I like: fast and deduped.
What I don’t: forget the password, and it’s game over.

On a slow Sunday, I also run:

rsync -a --delete ~/Documents /mnt/backup/

Little Comforts: Prettier cat and ls

These don’t change the world, but they make every day nicer.

  • Bat for syntax highlights:
    bat ~/.bashrc
    
  • lsd for icons and column view:
    lsd -la
    
  • My tiny alias set in ~/.bashrc:
    alias cat='bat'
    alias ls='lsd'
    

What I like: quick reads, tidy lists.
What I don’t: remote servers may not have them, so I keep the muscle memory for stock tools too.


Quick Fixes I Reach For a Lot

  • Make a script run:

    chmod +x ~/bin/deploy.sh
    
  • Fix a file I saved as root by mistake:

    sudo chown kayla:kayla myfile.txt
    

    Need a refresher on what chown can and can’t do? Check out this hands-on chown guide.

  • See my disk usage, fast:

    du -sh * | sort -h
    

    When that surface check isn’t enough, I dig deeper with the steps from this step-by-step hunt for huge files to find the real culprits.

  • Find who’s using a port (why won’t my app start?):

    sudo lsof -i :3000
    

Need to unzip a mountain of archives in one sweep? I walked through the pros, cons, and commands in this batch-unzipping saga.
And if broken or orphaned links litter your project tree, here’s a safe way to [delete stray symlinks](https://desktoplinuxreviews.com/deleting-symlinks-on-linux-my-hands