fzf for quickly matching file names especially deep in the directory hierarchy
ripgrep for quickly searching for text content within files
dtrx for handling the right extractions of different archive types
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
fzf for quickly matching file names especially deep in the directory hierarchy
ripgrep for quickly searching for text content within files
dtrx for handling the right extractions of different archive types
What is the difference between ripgrep
and just plain grep?
ripgrep
is a reimplementation of grep
in Rust. It benchmarks faster for large file searches and also comes with quality of life features like syntax highlighting by default.
It also ignores files in .gitignore and some others by default
It also has a much simpler and forgiving syntax. Just type rg anything
and it finds anything
Even better, there is ripgrep-all that can also search in binary files like PDFs and office documents: https://github.com/phiresky/ripgrep-all
I have mostly replaced all command line stuff with Emacs, but there are still a few CLI utilities that I continue to use, whether I am in the CLI directly or whether I am using Emacs:
tmux
or screen
(terminal multiplexing)bash
(shell scripting)grep
, sed
(filtering, formatting)ps
, pgrep
, pkill
(process control)ls
, find
, du
(filesystem search)ssh
, nc
, rsync
, sshfs
, sftp
(remote access, file transfer)tee
, dd
(pipe control)less
, emacs
, diff
, patch
, pandoc
(text editing)man
, apropos
(manual)tar
, gzip
, bzip2
, xz
(archiving)hexdump
, base64
, basenc
, sha256sum
(data encoding, checksums)wget
, curl
, (HTTP client)dpkg
, apt-get
, guix
(package management)mpv
(media player)ldd
, objdump
, readelf
(inspecting binary files)zfs
(maintaining my backup filesystem)i use kibi as a text editor
i also have terminal client called alacritty
also doas instead of sudo
Ranger and/or vifm as file managers. Can't live without them
I basically live in nvim
. Being able to configure my editor in an actual programming language makes it so much more useful to me than vim
could ever be.
They might have specific uses that most users might not need and there may be better alternatives but some of the ones I've been using are:
CISO - A command line tool for making compressed ISO files that can be used in emulators and some video game consoles running custom firmware.
RAR - The Linux version of WinRAR, which doesn't have a UI like the Windows version does.
Flatpak - Probably well known but in case a newer Linux user sees this, it's used to download and install flatpaks from Flathub.
argos-translate for offline machine language translation.
tmux & neovim for editing files and organizing the terminal displays.
asciinema for recording and playing back terminal sessions.
off the top of my head:
ranger
and mc
- both are file managers, and their approach is so different that I choose one of them I need at the moment depending on what do I want to do (mc
for traditional file management, ranger
for looking around the directory tree and peeking into files)htop
, tmux
- classicsweechat
, profanity
- for my IM needsripgrep
- for searching through filesmagic-wormhole
for file and ssh public key exchangemosh
for when the network conditions aren't idealnmap
to see if that machine I've connected into the network is up and what IP did it getbat
for quick looking into filesgdb
, with mandatory gdb dashboardnvim
for serious text and code editing, micro
for more casual editingyt-dlp