basics

These are basic commands for using (B)ourne (A)gain (SH)ell. zsh is a shell language, the shell is also referred as the terminal. Zsh is similar and is now becoming the defualt shell for MacOS (Catalina+). zsh is still default for most Linux systems. Watch this beginner video to get comfortable with these basics. Then you can add the other tools onto this knowledge.

alsactl

Advanced controls for ALSA soundcard driver.

ansible

Ansible is a configuration tool, that can setup and administer multiple machines on a network.

apt

Display network information such as open connections, sockets and ports. For Macs us lsof instead.

awk

Used for pattern scanning. Awk has it’s own processing language. Good for separating out fields in text documents. Can transform data files and produce formatted reports.

certbot

Certbot is used for creating secure socket layer certificates used in authentication. It is free and open source. Brought to all of the world by Letsencrypt.

checksum

Used in verifying downloads. Integrity checking to making sure there was no funny business or corruption.

cloud init

Cloud init is used for deploying images of distributions with various users, keys, settings in place.

cmus

Music player for use in the terminal.

cron

System task scheduler. This is where scripts can be automatically run at set intervals.

curl

Curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

dd

Disk Duplicater can convert, copy and format. This works on block and character devices.

dig

A command line diagnostic tool from BIND

docker

Docker creates containers that run processes. They are lightweight. Some may call them VMs but they are much lighter. Best Practices is a must read!!

dpkg

Debian Package is used to install, build, manage and remove .deb files.

du

Disk Usage has varying levels of depth for showing what is using space on a drive.

exiftool

Exiftool is used to view and manage exif data of a file.

fail2ban

Integrates with iptables or ufw firewalls to enforce bans on suspect IP addresses.

fc

This command will allow editing and re-execution of commands contained in history.

ffmpeg

FFMPEG is a video and audio converter. Used under the hood in many applications.

find

Find is one of the most powerful tools when used correctly. It can be used to parse over many objects and files all the while making changes. Much more than just finding files. However, it is not used for searching inside a file, use egrep for that!

fstab

File systems table is used for configuring mounts within a Debian system.

git

Git is a distributed version control system.

gpg

GnuPG (or Gnu Privacy Guard) is an adaptation of an earlier encryption standard known as PGP (or Pretty Good Privacy).

hostname

Show or set system hostname.

hostnamectl

Shows more information than hostname.

imagemagick

Can be used to adjust images. Typically used to shrink image sizes for web use.

inxi

inxi is a command line system information script. Works for Linux and Mac.

ip

Obtain and maintain IP information.

ipsecctl

Controls flows for IPsec. The ipsecctl utility controls flows that determine which packets are to be processed by IPsec. It allows ruleset configuration, and retrieval of status information from the kernel’s SPD (Security Policy Database) and SAD (Security Association Database). It also can control isakmpd(8) and establish tunnels using automatic keying with isakmpd(8). The ruleset grammar is described in ipsec.conf(5)

iptables

Administration tool for packet filtering and NAT.

isakmpd

IKEv1 key management daemon.

journalctl

Journalctl is used to query the systemd journal.

ln

Links come in several forms. Target must exist when the link is made.

lsb_release

Check Distribution information of a Linux system.

lshw

Show or set system hostname.

lsof

lsof is useful for filtering on connection statuses.

mkfs

Build a linux filesystem. This is a front-end for the various filesystem builders (mkfs.fstype).

molecule

Molecule is essentially a plugin for ansible used to test playbooks and roles.

mount

Mount can list and also add filesystems into an operating system via directories.

netcat

Netcat can be used for several things regarding networking.

netstat

Display network information such as open connections, sockets and ports. For Macs us lsof instead.

networkctl

Show DNS and state of network card

nginx

Commands for controlling nginx server.

nl

Number lines of files.

nmap

Network Mapper is an open source tool for network exploration and security auditing.

pacman

Pacman is the package manager for Arch and Manjaro distros of Linux.

podman

Podman is an daemonless docker and does a better job exposing the VM (machine)

pulseaudio

Controls for ALSA soundcard driver.

resolvectl

Show or set system hostname.

rpcbind

TCP PORT 111 - default port for rpcbind server.
RPC (remote procedure call) allos a client program to call functions that execute on a remote server.

rsync

Rsync is a remote and local file copying tool.

sass

Syntactically awesome style sheets is a preprocessor for creating css.

say

Say will audibly read out lines of input. (MacOs)

scp

Secure Copy is used to copy files over a network.

selinux

SELinux is standand on centos, rhel and fedora and optional on debian and ubuntu.

sftp

Sftp is an interactive file transfer program performed securely through ssh transport.

shred

Shred overwrites the contents of a file to hide data from recovery.

sips

Sips is used to query or modify raster image files and colorsync ICC profiles.

speedtest

Ookla created a speedtest for CLI. Download

ssh

Secure Shell is used to login to remote machines. It can also be used for executing commands on a remote machine.

stream editor

Sed is used to perform basic text transformations on an input stream. Essentially used for substitution or as a find and replace. Files can be edited without opening them!

systemctl

Systemctl is used to introspect and control the state of the “systemd”.

tailscale

Tailscale is a zero config VPN. It also produces a private flat network.

tar

Tar saves many files together into a single disk archive, and can restore files from the archive.

task

Taskwarrior manages a todo list.

tcpdump

Dump traffic on a network. CLI version of wireshark.

teleport

Access Plane for securing access to servers, clusters and applications.

tmux

Tmux is an oldie but goodie for managing many windows & panes in the terminal.

tr

Translate Characters. For instance changing characters from upper to lower case.

ufw

The uncomplicated firewall is a frontend for iptables. It manages netfilter.

umount

Unmount file systems.

vagrant

Creates developer environments inside Virtual Machines (VMs)

vim setup

Follow for customizing vim on a machine.

vim usage

Instructional guide for using vim.

wget

Wget will non-interactively download files off the web using HTTP HTTPS FTP.

wireguard

WireGuard securely encapsulates IP packets over UDP.

youtube-dl

Youtube Downloader allows audio and video to be formatted and downloaded off the web.

zfs

“zed"fs or ‘z’fs is a file system and volume manager created by Sun Microsystems which have been bought out by Oracle.

zip

Zip will compress files into an archive.

zsh

An highly customizable alternate shell instead of bash.