Shell Functions & Aliases
Alias dan function adalah dua cara utama untuk mempercepat workflow di terminal — keduanya mempersingkat perintah yang sering diketik.
Alias — Pintasan Perintah
Alias adalah nama pendek untuk perintah yang lebih panjang:
# Definisi alias (biasanya di ~/.bashrc atau ~/.zshrc)
alias ll="ls -la"
alias la="ls -A"
alias gs="git status"
alias gp="git push"
alias gco="git checkout"
alias ..="cd .."
alias ...="cd ../.."
alias mkdir="mkdir -p"
# Gunakan langsung
ll # sama dengan: ls -la
gs # sama dengan: git status
.. .. # naik dua level
Lihat semua alias aktif:
alias # tampilkan semua alias
alias ll # tampilkan alias tertentu
unalias ll # hapus alias
Shell Functions — Perintah dengan Logika
Berbeda dengan alias, function bisa menerima argumen dan punya logika:
# Function sederhana
mkcd() {
mkdir -p "$1" && cd "$1"
}
# Penggunaan
mkcd my-project # buat folder + langsung masuk
# Function dengan beberapa argumen
backup() {
local src="$1"
local dest="${2:-./backup}"
cp -r "$src" "$dest/$(basename $src)_$(date +%Y%m%d)"
echo "Backup selesai: $dest"
}
backup ./src ./backups
# Function untuk Git workflow
gac() {
git add -A && git commit -m "$1"
}
gac "feat: tambah fitur login"
Contoh Alias & Function Praktis
# ── Navigasi ──────────────────────────────
alias home="cd ~"
alias desk="cd ~/Desktop"
alias proj="cd ~/projects"
# ── Git shortcuts ─────────────────────────
alias gst="git status"
alias gaa="git add -A"
alias glog="git log --oneline --graph --all"
# ── Development ───────────────────────────
alias serve="python3 -m http.server 8000"
alias npmls="npm list --depth=0"
# ── System ────────────────────────────────
alias ports="lsof -i -P -n | grep LISTEN"
alias myip="curl -s https://ipinfo.io/ip"
alias diskspace="df -h"
# ── Functions ─────────────────────────────
# Cari text di semua file
search() {
grep -r "$1" . --include="*.${2:-*}"
}
# Extract berbagai format archive
extract() {
case "$1" in
*.tar.gz) tar -xzf "$1" ;;
*.zip) unzip "$1" ;;
*.tar.bz2) tar -xjf "$1" ;;
*) echo "Format tidak dikenal: $1" ;;
esac
}
Menyimpan Alias & Function Secara Permanen
# Edit file konfigurasi shell
nano ~/.zshrc # untuk zsh
nano ~/.bashrc # untuk bash
# Tambahkan alias/function di bagian bawah
# Lalu reload konfigurasi
source ~/.zshrc
# atau
. ~/.zshrc
Tips Penamaan
- Singkat tapi bermakna —
gcountukgit checkout, bukanx - Hindari menimpa perintah system — jangan alias
lske hal lain - Gunakan
type <nama>untuk cek apakah nama sudah dipakai - Dokumentasikan — tambahkan komentar
# keterangandi atas alias penting