This page kind of serves three purposes: part of my Unix tutorial track, a place to recommend stuff to more experienced Unixers, and a personal checklist for when I set up a new system. Not everything's aimed at all three.
For packages that I recommend installing through language package managers instead of distribution ones, I'll indicate it with a prefix.
nano - text editor. Easy to learn (it shows help on the bottom by default) and yet quite configurable and powerful.
fish - "friendly interactive shell". My current shell of choice. The main sellings points are syntax highlighting, history-based autosuggestions, and better tab completion without needing to install extra stuff and configure a whole bunch of crap (like you do to get those things with
zsh). I've written more about Fish and what's so great about it.
sway - tiling window manager (Wayland port of i3). Great configuration and can reload the config without restarting.
Unfortunately Sway outright prevents running as root, so I had to modify the source to get a satisfactory version. Building was easy enough though.
alacritty - my currently preferred terminal emulator. No tabs (that's the window manager's job) or menu bar.
conky - a configurable tool to easily get system status information. Most useful as a statusbar for Sway or DWM.
dmenu - an easy launcher solution for simple, tiling window managers like DWM and Sway.
wget - swiss army knives of HTTP (and some other protocols).
wget are both classics written in C;
wget is GNU software and
curl is MIT licensed.
httpie is a much younger implemention in Python (also BSD-licensed) and is nicer in just about every way, but doesn't support everything the others do. I keep all three installed.
youtube-dl - Download videos from Youtube and a few other sites.
nmap - "network mapper". A tool for network exploration and security auditing, widely known as a port scanner. The package also contains
ncat, which is a more sophisticated version of
nc that supports TLS!
tor - The Onion Router, a network anonymity tool. I recommend you read about this if you haven't heard of it.
wireshark - a renowned packet analysis tool.
lsof - list open files. It's a little different from
fstat; I'm not sure if either can do anything the other can't, but I find
lsof convenient to have.
htop - like
top, but looks nicer (has color).
iftop - like
top, but for network traffic.
vnstat - analyze network traffic statistics over long times.
rsync - swiss army knife of copying and backups. The
--delete flag is one of the biggest things that makes it worth having over
cp in my opinion.
pv - "pipe view". Monitor progress of data through a pipeline.
cmd1 | pv | cmd2 and it pipes
cmd2, but shows you the progress.
tmux - "terminal multiplexer". It has a lot of features I don't know about, but among them are the ability to use a terminal window in the fashion of a tiling window manager and to reconnect to sessions that get interrupted (for example, if the network cuts out while you're using
entr - "Event Notify Test Runner". Monitors files and runs a given command when they change. As of this writing I'm using it on this server.
jq - I'm not sure what it stands for, but it pretty-prints and manipulates JSON data. "
sed for JSON".
tokei - Count lines of code in a directory. Distinguishes blank lines and comments from code lines and categorizes by language. Lots of other handy functionality.
rlwrap - ever used a CLI application that really needed some goddamn line editing? Use the ReadLine Wrapper.
dmidecode - massive amount of info on all hardware. I can't think of any commonly useful information I don't know how to get without this command, but
dmidecode simplifies things.
zfsnap - makes automatic ZFS snapshots slightly easier.
snapper - like zfsnap for BTRFS.
mpv - terminal-based music and video player.
sox - "SOund eXchange" is what this is apparently supposed to stand for. It's not as nice as
mpv for playing music, but it's the most convenient way I know of to record audio from my laptop microphone.
obs - flexible all-in-one app for recording and streaming.
ffmpeg - swiss army knife of multimedia manipulation.
libreoffice - open source viewer and editor for "document" formats and spreadsheets.
antiword - convert
.doc files to plaintext.
zip - tool to work with the Windows-standard
.zip file format.
unzip may be a separate package.
unrar - tools for
eog - "eye of GNOME" (image viewer). It's not like you need a program like this to view images, but I find it useful for viewing all the image files in a directory in a single window.
zbar - read QR codes.
lmms - Linux MultiMedia Studio, for writing music. Not great, but it's the only free one I know of.
gimp - the GNU Image Manipulation Program. Again, I have plenty of gripes with it, mostly interface-related, but it's free and has been indispensible to me.
ImageMagick - libraries and CLI tools for image manipulation.
linux_base-c7and load kernel modules
This page was last modified 2021-10-22 18:32 (UTC).
This site doesn't host comments because that would be against my principles: discussion belongs in a dedicated, decentralized medium like Lemmy (tag me if you start one!).