Files
aliases-and-functions/README.md
chawley (overlook) 2c2bf50d4f Clean and Document aliases and functions
Updated aliases and functions, generated a README to document each
2026-03-01 12:26:06 -05:00

5.1 KiB

Shell Aliases and Functions

This repository contains a collection of custom shell aliases and functions designed to enhance productivity and streamline common tasks in a Linux environment, particularly useful for homelab management. These configurations are intended to be sourced by your shell (e.g., Bash or Zsh) upon startup.

External Dependencies

Some aliases and functions rely on external programs. Ensure these are installed on your system for full functionality:

  • FZF - fzf is a general-purpose command-line fuzzy finder.
  • LSD - LS Deluxe
  • curl: Used by weather and extip.
  • mail command: Used by the email function. Requires a configured Mail Transfer Agent (MTA).
  • git: Essential for testmerge and glog aliases.
  • ip command: Used by myip. (Part of iproute2, usually pre-installed).
  • docker: Used by docker_cleanup.
  • Archive Tools: For the extract function, you'll need:
    • bzip2 (for .bz2, .tar.bz2)
    • unrar (for .rar)
    • gzip (for .gz, .tgz)
    • unzip (for .zip)
    • p7zip-full (for .7z, provides 7za)
    • xz-utils (for .xz, .tar.xz)
    • zstd (for .zst, .tar.zst)
    • binutils (for .deb, provides ar)
    • tar (usually pre-installed)

Aliases

File Operations

  • alias cp='cp -iv' : Interactive, verbose copy. Prompts before overwriting.
  • alias mv='mv -iv' : Interactive, verbose move. Prompts before overwriting.
  • alias rm='rm -iv' : Interactive, verbose remove. Prompts before every removal.

Disk Usage

  • alias df='df -h' : Display disk space in human-readable format.
  • alias du='du -h' : Display disk usage in human-readable format.

Grep

  • alias egrep='egrep --color=auto' : egrep with automatic colorization.
  • alias fgrep='fgrep --color=auto' : fgrep with automatic colorization.

File Listing (LSD)

  • alias ls='lsd ' : Uses lsd for enhanced directory listings.
  • alias lla='ls -al' : Long listing, showing hidden files (., ..).
  • alias ll='ls -l' : Long listing format.

General Utilities

  • alias ping='ping -c 5' : Pings a host 5 times and then stops.
  • alias vi='vim' : Uses vim instead of the default vi editor.
  • alias less='less -r' : less with raw control characters displayed.

Network Utilities

  • alias extip='curl -s -4 icanhazip.com' : Quickly get your external IPv4 address.

Process Management

  • alias mempigs='ps aux | awk '\''{print $6/1024 " MB\t\t" $11 " " $12}'\'' | sort -n | tail -10' : Lists the top 10 processes by memory usage (Resident Set Size).

Termpad Integration

  • alias tph=' http https://termpad.planethawleywood.com' : Send content to Termpad using httpie.
  • alias tpc=' curl --data-binary @- https://termpad.planethawleywood.com' : Send content to Termpad using cURL.

Git Shortcuts

  • alias gs='git status' : Show the working tree status.
  • alias ga='git add .' : Add all new and modified files in the current directory and subdirectories to the staging area.
  • alias gc='git commit' : Record changes to the repository.
  • alias gp='git push' : Update remote refs along with associated objects.
  • alias gl='git pull' : Fetch from and integrate with another repository or a local branch.
  • alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative" : Display a compact, colorful, and graphical Git log.

Navigation Shortcuts

  • alias ..='cd ..' : Change directory up one level.
  • alias ...='cd ../..' : Change directory up two levels.

History

  • alias h='history' : Display the shell command history.

Ansible

  • alias apb='ansible-playbook' : Shortcut for running ansible-playbook commands.

Functions

File Management Functions

  • tardir <directory>: Creates a timestamped gzipped tar archive of the specified directory. Useful for backups before deletion.
  • dudir [directory]: Lists disk usage (du -hs) for each item in the current or specified directory, correctly handling filenames with spaces.
  • mkcd <directory_name>: Creates a new directory and immediately changes into it.

System Utility Functions

  • weather [location_code]: Displays weather information for a specified location (or default 44113 if none provided) using wttr.in.
  • psaux <pattern>: A more robust replacement for ps aux | grep <pattern>, showing full process information without including the grep command itself.

Git Utility Functions

  • testmerge <branch_to_merge>: Performs a dry-run merge of a specified branch into the current branch, allowing inspection of changes (git diff --cached) before committing or aborting.

Network Utility Functions

  • myip: Displays your local IPv4 and IPv6 addresses.

Archive Management Functions

  • extract <file>: A universal extractor function that attempts to decompress and extract various archive types (e.g., .tar.gz, .zip, .rar, .7z, .deb, .xz, .zst).

Docker Utility Functions

  • docker_cleanup: Removes stopped Docker containers, dangling images, and unused volumes to free up disk space.