Step 6 · Ubuntu · Independent
The wider command line toolkit
Search that is fast enough to use without thinking, a terminal that survives disconnection, and the remaining network and archive utilities.
Nothing in steps 1 to 5 needs anything here, and nothing here needs them.
Install it whenever you like — before the language toolchains, after, or
never. It is not part of the install_all.sh run.
Run this
$ curl -fsSL https://aikaryashala.com/system_setup/scripts/install_more_cmds.sh | bash
What gets installed
Searching
rgripgrep: search file contents across a whole project, fast, skipping ignored files.fdFind files by name, with sane defaults.fzfFuzzy-pick from any list. Press Ctrl+R to search your command history.batLikecat, but with syntax highlighting and line numbers.
Networking
wgetFetch URLs; better than curl at large or resumable downloads.rsyncCopy directories efficiently — only what changed, locally or over ssh.ncNetcat: open a raw TCP connection. Invaluable for testing a port.tracerouteSee the hops between you and a host.
Working in the terminal
tmuxSplit the terminal, and keep sessions alive when you disconnect.ncduWhat is using my disk. Navigable, unlikedu.pstopwatchfreeFromprocps: the classic process and memory tools.manThe manual pages, for when you want the real answer.bcA calculator that lives in the terminal.timeMeasure how long a command takes.
Archives and text
tarxzThe archive formats most Linux software ships in.dos2unixStrip Windows line endings — a common annoyance when files come from the C: drive.gnupgVerify signatures — used when adding third-party package repositories.
Ubuntu ships these as batcat and fdfind, because
the names bat and fd were already taken by other
packages. The script creates links in ~/.local/bin so the
normal names work, and makes sure that directory is on your
PATH.
Try them
# search every file under the current directory for a word
$ rg "TODO"
# find files by name, anywhere below here
$ fd "\.c$"
# look at a file with syntax highlighting
$ bat hello.c
# copy a folder to another machine, resuming if it breaks
$ rsync -avP ./project/ user@host:~/project/
# how long did that take?
$ /usr/bin/time -v ./slow-program
tmux in sixty seconds
$ tmux # start a session
$ tmux attach # come back to it later
Inside tmux, every shortcut starts with Ctrl+B. Then: % splits left/right, " splits top/bottom, arrow keys move between panes, and d detaches — leaving everything running.
Check it worked
The script adds ~/.local/bin to your PATH for
bat and fd, so load that change before checking:
$ source ~/.bashrc
$ rg --version && bat --version && fd --version && fzf --version
Your shell caches where commands live. Run source ~/.bashrc,
or just close and reopen the terminal.