alias Command

Create shortcuts and custom names for commands to improve productivity and simplify complex command sequences.

Syntax

alias [name[=value] ...] alias [name] alias

The alias command creates command shortcuts, allowing you to define custom names for commands or command sequences.

Basic Usage

List all aliases

# Show all current aliases alias # Show specific alias alias ll alias grep

Display current aliases in the shell

Create simple aliases

# Create alias for ls -la alias ll='ls -la' # Create alias for ls -l alias l='ls -l' # Create alias for clear command alias c='clear' # Create alias for cd .. alias ..='cd ..' alias ...='cd ../..'

Create basic command shortcuts

Remove aliases

# Remove specific alias unalias ll unalias grep # Remove all aliases unalias -a

Remove existing aliases

Common Aliases

File and directory operations

# Directory listing aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias ls='ls --color=auto' # Directory navigation alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias ~='cd ~' alias -- -='cd -' # File operations alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' alias mkdir='mkdir -pv'

Useful aliases for file and directory operations

System and process aliases

# System information alias df='df -h' alias du='du -h' alias free='free -h' alias ps='ps auxf' alias psg='ps aux | grep -v grep | grep -i -e VSZ -e' # Process management alias top='htop' alias myip='curl http://ipecho.net/plain; echo' alias ports='netstat -tulanp' # System control alias reboot='sudo reboot' alias shutdown='sudo shutdown -h now'

System monitoring and management aliases

Text processing aliases

# Grep with color alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' # Text editors alias vi='vim' alias nano='nano -w' alias edit='nano' # File viewing alias less='less -R' alias more='less' alias head='head -n 20' alias tail='tail -n 20'

Text processing and editing aliases

Advanced Aliases

Complex command aliases

# Git aliases alias gs='git status' alias ga='git add' alias gc='git commit' alias gp='git push' alias gl='git log --oneline' alias gd='git diff' # Archive operations alias tarx='tar -xvf' alias tarc='tar -cvf' alias tarz='tar -czvf' alias untar='tar -xvf' # Network operations alias ping='ping -c 5' alias fastping='ping -c 100 -s.2' alias wget='wget -c'

Advanced aliases for complex operations

Function-like aliases

# Create directory and cd into it alias mkcd='mkdir -p "$1" && cd "$1"' # Extract various archive formats alias extract='function _extract() { case $1 in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *) echo "Unknown archive format" ;; esac }; _extract'

Function-like aliases for complex operations

Making Aliases Permanent

Bash configuration files

# Edit bash configuration nano ~/.bashrc nano ~/.bash_profile nano ~/.bash_aliases # Add aliases to ~/.bashrc echo "alias ll='ls -la'" >> ~/.bashrc echo "alias la='ls -A'" >> ~/.bashrc echo "alias l='ls -CF'" >> ~/.bashrc # Reload configuration source ~/.bashrc . ~/.bashrc

Add aliases to shell configuration files

Separate alias file

# Create dedicated alias file touch ~/.bash_aliases # Add to ~/.bashrc echo "if [ -f ~/.bash_aliases ]; then" >> ~/.bashrc echo " . ~/.bash_aliases" >> ~/.bashrc echo "fi" >> ~/.bashrc # Add aliases to separate file cat >> ~/.bash_aliases << 'EOF' # File operations alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' # Navigation alias ..='cd ..' alias ...='cd ../..' EOF

Organize aliases in a separate file

Practical Examples

Development aliases

# Development shortcuts alias serve='python3 -m http.server 8000' alias npmstart='npm start' alias npmtest='npm test' alias npminstall='npm install' # Docker aliases alias dps='docker ps' alias dpa='docker ps -a' alias di='docker images' alias dex='docker exec -it' # Code editors alias code='code .' alias subl='subl .' alias atom='atom .'

Aliases for development workflows

System administration aliases

# Log viewing alias logs='sudo tail -f /var/log/syslog' alias auth='sudo tail -f /var/log/auth.log' alias apache='sudo tail -f /var/log/apache2/error.log' alias nginx='sudo tail -f /var/log/nginx/error.log' # Service management alias start='sudo systemctl start' alias stop='sudo systemctl stop' alias restart='sudo systemctl restart' alias status='sudo systemctl status' alias enable='sudo systemctl enable' alias disable='sudo systemctl disable' # Package management (Ubuntu/Debian) alias install='sudo apt install' alias update='sudo apt update' alias upgrade='sudo apt upgrade' alias search='apt search'

System administration aliases

Best Practices

Alias Best Practices
  • Use descriptive but short alias names
  • Don't override important system commands
  • Group related aliases together
  • Add comments to explain complex aliases
  • Test aliases before making them permanent
  • Use functions for complex logic instead of aliases
  • Keep a backup of your alias configurations
Common Pitfalls
  • Overriding commands - Don't alias over important system commands
  • Shell-specific - Aliases work only in the shell where they're defined
  • Scripts - Aliases don't work in shell scripts by default
  • Quoting - Use quotes for aliases with spaces or special characters
  • Recursion - Avoid creating recursive aliases

See also