layout: default title: Aliaskit Documentation
π Aliaskit β Command Line Superpowers
Aliaskit is a comprehensive, modular open-source Bash alias toolkit with 17 built-in domains covering everything from system monitoring to cloud infrastructure.
Quick Install
Linux / macOS / WSL (Windows):
curl -sL https://raw.githubusercontent.com/blackstart-labs/aliaskit/main/install.sh | bash
The installer auto-detects your OS and shell profile automatically:
| Platform | Shell Profile Injected | APT Auto-Hook |
|---|---|---|
| Ubuntu / Debian | ~/.bashrc | β Optional |
| Arch / Fedora / Other Linux | ~/.bashrc | β Skipped |
| macOS (Zsh, default since Catalina) | ~/.zprofile | β N/A |
| WSL / Git Bash (Windows) | ~/.bashrc | β Optional |
π‘ Tip: On macOS, aliaskit uses
pbcopyfor clipboard commands. On WSL it usesclip.exe. On Linux it usesxcliporxsel.
Then reload your terminal:
source ~/.bashrc # Linux / WSL
source ~/.zprofile # macOS
Core Commands
| Command | Description |
|---|---|
ak help | Show the main help menu |
ak help <module> | Show all aliases in a module |
ak search <term> | Search all aliases by keyword |
ak modules | List all available modules |
ak update | Pull the latest version |
ak stats | Show GitHub community statistics |
ak version | Show current version |
Module Overview
Aliaskit ships with 17 modules and 100+ aliases out of the box. Select a chapter in the sidebar to browse any module in detail.
| # | Module | Focus |
|---|---|---|
| 01 | Navigation | Fast directory jumping |
| 02 | Files | File operations & clipboard |
| 03 | System | CPU, RAM, disk monitoring |
| 04 | Process | Kill processes & ports |
| 05 | Packages | APT shortcuts |
| 06 | Network | IPs, ports, sockets |
| 07 | Git | VCS aliases |
| 08 | Docker | Container management |
| 09 | Python | Venvs, pip, ruff |
| 10 | Node / JS | npm, yarn, pnpm |
| 11 | .NET | Build, run, test |
| 12 | C++ & Java | Compile & execute |
| 13 | Archives | Universal extractor |
| 14 | Editors | vim, nano, VS Code |
| 15 | Servers | systemctl, logs |
| 16 | SSH | Keys, configs |
| 17 | Productivity | Weather, timers, fun |
Navigation
Fast, ergonomic directory traversal. Stop typing long paths β use these shortcuts to move at the speed of thought.
Aliases
..
- Description: Go up one directory level
- Usage:
.. - Example:
..
cd ~/projects/aliaskit/core
..
# β ~/projects/aliaskit
...
- Description: Go up two directory levels
- Usage:
... - Example:
...
....
- Description: Go up three directory levels
- Usage:
.... - Example:
....
~
- Description: Jump to your home directory instantly
- Usage:
~ - Example:
~
-
- Description: Jump back to your previous directory
- Usage:
- - Example:
-
ll
- Description: Detailed directory listing (long format, human-readable sizes)
- Usage:
ll - Example:
ll
ll
# -rw-r--r-- 1 maruf users 4.2K Apr 5 install.sh
la
- Description: List all files including hidden dotfiles
- Usage:
la - Example:
la
tree
- Description: Print a visual directory tree (if
treeis installed) - Usage:
tree - Example:
tree
-- Part of the Navigation module of Aliaskit --
Files & Directories
Smart file operations β safer removals, rapid creation, and clipboard integration.
Aliases
mkd
- Description: Create a directory (including nested parents) and enter it
- Usage:
mkd <path> - Example:
mkd projects/aliaskit/core
mkd new/deep/folder
# Creates all dirs and cd's into new/deep/folder
cpv
- Description: Copy a file verbosely (shows progress)
- Usage:
cpv <src> <dest> - Example:
cpv report.pdf ~/Documents/
rmf
- Description: Force remove a file or directory recursively
- Usage:
rmf <path> - Example:
rmf ./build
β οΈ Note: Use with caution. There is no confirm prompt.
rmdir
- Description: Remove an empty directory
- Usage:
rmdir <dir> - Example:
rmdir ./tmp
fhere
- Description: Find any file by name pattern in the current directory tree
- Usage:
fhere <pattern> - Example:
fhere "*.log"
fhere "*.sh"
# ./install.sh
# ./update.sh
# ./core/init.sh
copy
- Description: Copy file contents to clipboard (requires
xclip) - Usage:
copy <file> - Example:
copy ~/.ssh/id_ed25519.pub
-- Part of the Files module of Aliaskit --
System Info & Monitoring
Keep a pulse on your system's healthβCPU load, memory, disk, and running processes at a glance.
Aliases
cls
- Description: Clear the terminal screen
- Usage:
cls - Example:
cls
reload
- Description: Reload
~/.bashrcwithout restarting the terminal - Usage:
reload - Example:
reload
df
- Description: Show disk usage of all mounted filesystems, human-readable
- Usage:
df - Example:
df
df
# Filesystem Size Used Avail Use% Mounted on
# /dev/sda1 100G 45G 55G 45% /
free
- Description: Show RAM usage in human-readable format
- Usage:
free - Example:
free
path
- Description: Print all entries in
$PATH, one per line - Usage:
path - Example:
path
cpu
- Description: Show current CPU usage summary
- Usage:
cpu - Example:
cpu
mem
- Description: Show RAM usage (Mem line from free)
- Usage:
mem - Example:
mem
topcpu
- Description: Show top 15 processes by CPU usage
- Usage:
topcpu - Example:
topcpu
topmem
- Description: Show top 15 processes by memory usage
- Usage:
topmem - Example:
topmem
ports
- Description: List all listening ports and their services
- Usage:
ports - Example:
ports
myip
- Description: Show your public IP address
- Usage:
myip - Example:
myip
localip
- Description: Show your local network IP address
- Usage:
localip - Example:
localip
sysinfo
- Description: One-line system overview: CPU cores, RAM, disk free
- Usage:
sysinfo - Example:
sysinfo
sysinfo
# CPU:8 cores | RAM:16Gi | Disk:42G free
-- Part of the System module of Aliaskit --
Process Management
Find and terminate processes instantly β no more hunting for PIDs.
Aliases
psef
- Description: Show all running processes with full details
- Usage:
psef - Example:
psef
psef | grep nginx
# root 1234 0.0 nginx: master process
psg
- Description: Search for a running process by name
- Usage:
psg <name> - Example:
psg node
killport
- Description: Kill the process listening on a specific port
- Usage:
killport <port> - Example:
killport 3000
killport 3000
# Killed process 9823 listening on :3000
k9
- Description: Force kill a process by PID
- Usage:
k9 <pid> - Example:
k9 1234
-- Part of the Process module of Aliaskit --
Package Management
Streamlined APT commands for installing, upgrading, and cleaning your Debian/Ubuntu system.
β οΈ Platform Note: This module is only active on Debian/Ubuntu-based Linux distributions that use the
aptpackage manager. On macOS and Arch/Fedora Linux, these aliases are safely skipped. Use your native package manager (brew,pacman,dnf) instead.
Aliases
update
- Description: Refresh package lists from all repositories (and check aliaskit updates)
- Usage:
update - Example:
update
update
# Runs: sudo apt update && ak update --auto
π‘ Note: If you opted into the APT hook during install, this also silently checks for Aliaskit updates in the background!
upgrade
- Description: Update package lists and upgrade all installed packages
- Usage:
upgrade - Example:
upgrade
upgrade
# Runs: sudo apt update && sudo apt upgrade -y
full-upgrade
- Description: Full system upgrade including dependency resolution, then clean up
- Usage:
full-upgrade - Example:
full-upgrade
full-upgrade
# sudo apt update && sudo apt full-upgrade -y
# sudo apt autoremove -y && sudo apt autoclean
install
- Description: Install an APT package with confirmation
- Usage:
install <pkg> - Example:
install curl
remove
- Description: Remove a package and its config files
- Usage:
remove <pkg> - Example:
remove firefox
search
- Description: Search for a package in APT
- Usage:
search <term> - Example:
search python3
clean
- Description: Auto-remove unused packages and clean cache
- Usage:
clean - Example:
clean
-- Part of the Packages module of Aliaskit --
Network
Quickly inspect your network connections, open ports, and IP addresses.
Aliases
myip
- Description: Show your public IP address via
curl - Usage:
myip - Example:
myip
myip
# 203.0.113.42
localip
- Description: Show your local network IP address
- Usage:
localip - Example:
localip
localip
# 192.168.1.105
ports
- Description: List all listening TCP/UDP ports and services
- Usage:
ports - Example:
ports
ports
# Netid Local Address Port Process
# tcp 0.0.0.0 22 sshd
# tcp 0.0.0.0 3000 node
ping
- Description: Ping with a count of 5 (instead of infinite)
- Usage:
ping <host> - Example:
ping google.com
flushdns
- Description: Flush the system DNS cache
- Usage:
flushdns - Example:
flushdns
-- Part of the Network module of Aliaskit --
Git
20+ battle-tested Git aliases covering daily workflows β commits, branches, rebases, and stashes.
Aliases
g
- Description: Git shorthand
- Usage:
g <command> - Example:
g status
gs
- Description: Git status (short)
- Usage:
gs - Example:
gs
gs
# M core/init.sh
# ?? modules/18_aws.sh
ga
- Description: Stage all changes
- Usage:
ga - Example:
ga
gc
- Description: Commit with a message
- Usage:
gc "<message>" - Example:
gc "feat: add aws module"
gca
- Description: Stage all and commit in one step
- Usage:
gca "<message>" - Example:
gca "fix: patch shellcheck"
gp
- Description: Push current branch to origin
- Usage:
gp - Example:
gp
gpl
- Description: Pull latest from current branch
- Usage:
gpl - Example:
gpl
gco
- Description: Checkout a branch or create new
- Usage:
gco <branch> - Example:
gco feature/docs
gb
- Description: List all local branches
- Usage:
gb - Example:
gb
gbd
- Description: Delete a local branch
- Usage:
gbd <branch> - Example:
gbd feature/old-idea
gl
- Description: Pretty formatted git log (one line per commit)
- Usage:
gl - Example:
gl
gl
# a81f701 ci: add PR labeler configuration
# 0fe90f8 docs: overhaul documentation into mdBook
gd
- Description: Show unstaged differences
- Usage:
gd - Example:
gd
gst
- Description: Stash current changes
- Usage:
gst - Example:
gst
gstp
- Description: Pop the most recent stash
- Usage:
gstp - Example:
gstp
grb
- Description: Interactive rebase from HEAD
- Usage:
grb <n> - Example:
grb 3
gundo
- Description: Undo last commit (keeps changes staged)
- Usage:
gundo - Example:
gundo
-- Part of the Git module of Aliaskit --
Docker
Rapid Docker & Docker Compose shortcuts β run containers, clean up images, and exec into environments instantly.
Aliases
d
- Description: Docker shorthand
- Usage:
d <command> - Example:
d ps
dps
- Description: List all running containers
- Usage:
dps - Example:
dps
dps
# CONTAINER ID IMAGE STATUS NAMES
# a3b4c5d6e7f8 nginx:latest Up 2 hours web
dpsa
- Description: List all containers (including stopped)
- Usage:
dpsa - Example:
dpsa
dstop
- Description: Stop a running container
- Usage:
dstop <name> - Example:
dstop web
drm
- Description: Remove a stopped container
- Usage:
drm <name> - Example:
drm old-web
dexec
- Description: Execute bash inside a running container
- Usage:
dexec <name> - Example:
dexec web
dexec web
# root@a3b4c5d6:/#
dlogs
- Description: Tail live container logs
- Usage:
dlogs <name> - Example:
dlogs web
dprune
- Description: Remove all stopped containers, unused networks, and dangling images
- Usage:
dprune - Example:
dprune
π‘ Note: This frees significant disk space on development machines.
dc
- Description: Docker Compose shorthand
- Usage:
dc <command> - Example:
dc up
dcup
- Description: Start all services in detached mode
- Usage:
dcup - Example:
dcup
dcdown
- Description: Stop and remove all compose services
- Usage:
dcdown - Example:
dcdown
dcbuild
- Description: Build or rebuild compose services
- Usage:
dcbuild - Example:
dcbuild
-- Part of the Docker module of Aliaskit --
Python
Streamlined Python 3 development β virtual environments, pip management, and linting.
Aliases
py
- Description: Python 3 shorthand
- Usage:
py <script.py> - Example:
py main.py
py main.py
# Hello, World!
venv
- Description: Create a virtual environment in
./venv - Usage:
venv - Example:
venv
venv
# Created virtual env in ./venv
pyact
- Description: Activate the virtual environment (Linux/Mac)
- Usage:
pyact - Example:
pyact
pyact
# (venv) maruf@machine:~/project$
pi
- Description: Install a pip package
- Usage:
pi <pkg> - Example:
pi requests
pif
- Description: Freeze requirements to
requirements.txt - Usage:
pif - Example:
pif
pif
# Saved: requests==2.31.0
# fastapi==0.110.0
pir
- Description: Install all packages from
requirements.txt - Usage:
pir - Example:
pir
pylint
- Description: Run the
rufflinter on current directory - Usage:
pylint - Example:
pylint
pylint
# All checks passed. β
-- Part of the Python module of Aliaskit --
Node / JavaScript
npm, Yarn, and pnpm shortcuts β install packages, run scripts, and nuke node_modules in one command.
Aliases
ni
- Description: Install npm packages from
package.json - Usage:
ni - Example:
ni
nid
- Description: Install a dev dependency
- Usage:
nid <pkg> - Example:
nid typescript
nid typescript
# added typescript@5.4.3
nr
- Description: Run an npm script
- Usage:
nr <script> - Example:
nr dev
nr dev
# > vite --host
nrm
- Description: Remove
node_modulesandpackage-lock.json, then reinstall fresh - Usage:
nrm - Example:
nrm
π‘ Use this when builds mysteriously break β a clean install resolves 90% of mysterious npm issues.
y
- Description: Yarn shorthand
- Usage:
y <command> - Example:
y install
ya
- Description: Yarn add package
- Usage:
ya <pkg> - Example:
ya react
p
- Description: pnpm shorthand
- Usage:
p <command> - Example:
p install
-- Part of the Node module of Aliaskit --
.NET
Build, run, test, and manage your C# and F# projects without typing dotnet every time.
Aliases
dn
- Description: dotnet shorthand
- Usage:
dn <command> - Example:
dn build
dnb
- Description: Build the dotnet project in current directory
- Usage:
dnb - Example:
dnb
dnb
# Build succeeded.
# 0 Warning(s), 0 Error(s)
dnr
- Description: Run the dotnet project
- Usage:
dnr - Example:
dnr
dnc
- Description: Clean the dotnet build artifacts
- Usage:
dnc - Example:
dnc
dnt
- Description: Run all dotnet tests
- Usage:
dnt - Example:
dnt
dnt
# Passed! - Failed: 0, Passed: 42, Skipped: 0
dnadd
- Description: Add a NuGet package to the project
- Usage:
dnadd <pkg> - Example:
dnadd Newtonsoft.Json
dnadd Newtonsoft.Json
# PackageReference added to project.
-- Part of the .NET module of Aliaskit --
C++ & Java
Compile, build, and run C++ and Java programs without memorizing compiler flags.
Functions & Aliases
gbuild
- Description: Compile a single C++ file with C++17 and all warnings enabled
- Usage:
gbuild <file.cpp> [output] - Example:
gbuild main.cpp app
gbuild main.cpp myapp
# Compiled successfully β ./myapp
runcpp
- Description: Compile AND immediately run a C++ file in one step
- Usage:
runcpp <file.cpp> - Example:
runcpp script.cpp
runcpp hello.cpp
# Hello, World!
m
- Description: Run
makeusing all available CPU cores (parallel build) - Usage:
m - Example:
m
m
# Compiling with 8 jobs...
mc
- Description: Run
make clean - Usage:
mc - Example:
mc
jbuild
- Description: Compile a Java file using
javac - Usage:
jbuild <File.java> - Example:
jbuild Main.java
jrun
- Description: Run a compiled Java class
- Usage:
jrun <ClassName> - Example:
jrun Main
jbuild Main.java && jrun Main
# Hello, Java!
mci
- Description: Maven clean install
- Usage:
mci - Example:
mci
-- Part of the C++/Java module of Aliaskit --
Archives
The legendary extract command β never look up tar flags again.
Functions & Aliases
extract
- Description: Automatically detect and extract any compressed archive format
- Usage:
extract <file> - Example:
extract archive.tar.gz
Supported formats:
| Extension | Tool Used |
|---|---|
.tar.gz / .tgz | tar xzf |
.tar.bz2 / .tbz2 | tar xjf |
.tar | tar xf |
.gz | gunzip |
.bz2 | bunzip2 |
.zip | unzip |
.rar | unrar e |
.7z | 7z x |
.Z | uncompress |
extract project.tar.gz
# Extracting... Done.
extract backup.zip
# Extracting... Done.
π‘ Note: You no longer need to remember whether it's
tar xzf,tar xjf, orunzipβextractfigures it out automatically!
mktar
- Description: Create a
.tar.gzarchive from a file or directory - Usage:
mktar <archive.tar.gz> <target> - Example:
mktar project.tar.gz ./project
mktar release.tar.gz ./dist
# Created release.tar.gz
mkzip
- Description: Create a
.ziparchive from a file or directory - Usage:
mkzip <archive.zip> <target> - Example:
mkzip docs.zip ./docs
-- Part of the Archives module of Aliaskit --
Editors
Ergonomic one-letter shortcuts for your favourite text editors.
Aliases
v
- Description: Open Vim
- Usage:
v <file> - Example:
v config.yaml
v ~/.bashrc
# Opens in Vim
n
- Description: Open Nano
- Usage:
n <file> - Example:
n script.sh
c
- Description: Open VS Code
- Usage:
c [path] - Example:
c main.py
c.
- Description: Open VS Code in the current directory
- Usage:
c. - Example:
c.
c.
# Opens VS Code with the current folder as workspace
m
- Description: Open Micro editor (if installed)
- Usage:
m <file> - Example:
m notes.txt
π‘ Note:
microis a modern terminal editor with mouse support and intuitive keybindings. Install it viasudo apt install micro.
-- Part of the Editors module of Aliaskit --
Servers
Manage Linux services and tail web server logs β all without remembering long systemctl syntax.
Aliases
sc
- Description: systemctl shorthand (requires sudo)
- Usage:
sc <cmd> <service> - Example:
sc status nginx
sc status nginx
# β nginx.service - A high performance web server
# Active: active (running) since Mon 2026-04-06
scstart
- Description: Start a system service
- Usage:
scstart <service> - Example:
scstart apache2
scstop
- Description: Stop a system service
- Usage:
scstop <service> - Example:
scstop mysql
screstart
- Description: Restart a system service
- Usage:
screstart <service> - Example:
screstart nginx
scstatus
- Description: View the status of a service (no sudo required)
- Usage:
scstatus <service> - Example:
scstatus ufw
tailnginx
- Description: Tail the live NGINX error log
- Usage:
tailnginx - Example:
tailnginx
tailnginx
# 2026/04/06 01:23:45 [error] 1234#0: *1 connect() failed
tailapache
- Description: Tail the live Apache2 error log
- Usage:
tailapache - Example:
tailapache
π‘ Pro tip: Combine with
grepto filter for specific errors:tailnginx | grep "502"
-- Part of the Servers module of Aliaskit --
SSH
Generate secure keys, manage your SSH config, and copy public keys to clipboard instantly.
Functions & Aliases
sshconfig
- Description: Open your SSH config file in the default editor
- Usage:
sshconfig - Example:
sshconfig
sshconfig
# Opens ~/.ssh/config in $EDITOR (default: nano)
keygen
- Description: Generate a new Ed25519 SSH key pair with your email as the label
- Usage:
keygen <email> - Example:
keygen user@example.com
keygen maruf@blackstart-labs.com
# Generating public/private ed25519 key pair.
# Enter file in which to save the key (/home/maruf/.ssh/id_ed25519):
π‘ Why Ed25519? It is faster, more secure, and generates shorter keys than RSA-4096. It is the modern standard for SSH key pairs.
pubkey
- Description: Print your SSH public key to the terminal
- Usage:
pubkey - Example:
pubkey
pubkey
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... maruf@blackstart-labs.com
copypub
- Description: Copy your SSH public key directly to the clipboard (cross-platform)
- Usage:
copypub - Example:
copypub
Aliaskit automatically picks the right clipboard tool for your OS:
| Platform | Tool Used |
|---|---|
| macOS | pbcopy |
| WSL (Windows) | clip.exe |
| Linux | xclip β fallback: xsel |
copypub
# β Public key copied to clipboard!
# Paste it into GitHub β Settings β SSH Keys
-- Part of the SSH module of Aliaskit --
Productivity
A collection of fun, useful utilities that make the terminal a joy to work in.
Functions & Aliases
weather
- Description: Get the weather forecast for your city directly in the terminal
- Usage:
weather [city] - Example:
weather London
weather Dhaka
# Weather report: Dhaka
#
# \ / Clear
# .-. +32(34) Β°C
# β ( ) β β 12 km/h
# `-' 10 km
# / \ 0.0 mm
π‘ Powered by wttr.in β no API key needed!
joke
- Description: Fetch a random programmer joke
- Usage:
joke - Example:
joke
joke
# Why do programmers prefer dark mode?
# Because light attracts bugs!
timer
- Description: Set a countdown timer β plays a bell when done
- Usage:
timer <duration> - Example:
timer 25m
timer 5m
# (waits 5 minutes...)
# β Timer done!
π‘ Supported units:
s(seconds),m(minutes),h(hours). Perfect for Pomodoro workflows!
randpass
- Description: Generate a cryptographically secure random 16-character password
- Usage:
randpass - Example:
randpass
randpass
# K8mP2nQx1aLjTyBv
π‘ Powered by
openssl rand -base64 16β suitable for generating strong passwords.
-- Part of the Productivity module of Aliaskit --
Contributing & Building New Modules
Aliaskit is completely open source and designed to be modular by design. Adding your own module takes less than 5 minutes.
Local Development
-
Fork and clone the repository:
git clone https://github.com/blackstart-labs/aliaskit.git cd aliaskit -
Initialize Aliaskit from your local directory:
export AK_ROOT="$(pwd)" source core/init.sh -
Test your changes live in your terminal immediately.
Creating a New Module
Create modules/18_aws.sh:
#!/usr/bin/env bash
# CATEGORY: AWS Infrastructure
# MODULE: aws
## ec2list
# @desc List all running EC2 instances
# @usage ec2list
# @example ec2list
alias ec2list='aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"'
Annotation rules:
| Annotation | Purpose |
|---|---|
# CATEGORY: | Human-readable group name shown in ak modules |
# MODULE: | Internal identifier (lowercase, no spaces) |
## <name> | Marks the start of a command entry (double hash) |
# @desc | Short description shown in ak help <module> |
# @usage | Usage signature shown in docs |
# @example | Example shown in docs |
Then enable it in config/aliaskit.conf.default:
AK_ENABLE_AWS=true
Using mdbook-template in Docs
When adding documentation for your module in docs/src/modules/, use the {{#template}} syntax to automatically inject the standard footer:
{{#template ../templates/footer.md module=AWS}}
This dynamically renders into:
-- Part of the AWS module of Aliaskit --
β Star Aliaskit on GitHub Β· π Back to Manual
Pull Request Checklist
Before submitting, ensure:
-
Script passes
shellcheck -S warning modules/18_aws.sh -
All aliases have
# @desc,# @usage,# @exampleannotations -
Module config added to
config/aliaskit.conf.default - PR template filled out completely
-
Module documented in
docs/src/modules/18_aws.mdwith examples