iax icon

.bash_aliases

iax | PRO | 01/27/26 03:54:59 AM UTC (Edited) | 0 ⭐ | 617 👁️ | Never ⏰ | []
Bash |

3.66 KB

|

None

|

0 👍

/

0 👎

#!/usr/bin/env bash
alias sudo='sudo '
alias _='sudo su'
alias cd..='cd ..'
alias ..='cd ..'
alias ...='cd ../../'
alias rm='\rm -Iv'
 
alias e='f(){ [[ -z "$1" ]] && env || env | grep -i "$1"; };f'
alias h='f(){ [[ -z "$1" ]] && history || history | grep -i "$1"; };f'
alias p='f(){ [[ -z "$1" ]] && ps -ef || ps -ef | grep -v grep | grep -i "$1"; };f'
alias n='f(){ [[ -z "$1" ]] && \ss -tulnp || \ss -tulnp | grep -i "$1"; };f'
 
alias path='f(){ [[ -z "$1" ]] && echo -e "${PATH//:/\\n}" | nl || echo -e "${PATH//:/\\n}" | nl | grep -i "$1"; };f'
alias path+='f(){ [[ -z "$1" ]] && _p="$PWD" || _p="$1"; [[ -d "$_p" ]] && { [[ ":$PATH:" =~ ":$_p:" ]] && echo "$_p already exists." || { export PATH="$_p:$PATH";echo "$_p Added."; }; } || echo "Err, $_p not found."; };f'
alias path-='f(){ [[ -z "$1" ]] && echo Err, parameter missing || { echo "Removing: $1" && export PATH=$(echo $PATH | sed s,:"$1",,); }; };f'
 
# Colorize grep output (good for log files)
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
 
# easier to read disk (human-readable sizes)
alias df='df -h'
alias free='free -h'
 
# Web Clipboard
alias cw='nc termbin.com 9999'
alias pw='f(){ curl -s "https://termbin.com/$1"; };f'
 
## Utils =====================================================================
cmd_exist() { command -v "$1" &> /dev/null; }
dir_exist() { [[ -d "$1" ]]; }
mini_t() { echo -e " \e[31m--\e[0m \e[34m${@}\e[0m \e[31m--\e[0m"; }
 
## Programs ===================================================================
# IP command --------------------------
cmd_exist ip && alias ip='ip --color=auto'
# EZA - https://eza.rocks/ ------------
if cmd_exist eza; then
  alias ls='eza --group-directories-first --icons'
  alias l='ls -HlgF --git --color-scale'
  alias ll='l -aa'
  alias lt='f(){ ls --tree --git-ignore -L${1:-2}; };f'
else
  alias ls='ls --color=auto'
  alias ll='ls -halF'
fi
# BatCat - https://github.com/sharkdp/bat
if cmd_exist bat; then
  export MANPAGER="sh -c 'col -bx | bat -l man -p'"
  alias bathelp='bat --plain --language=help' # Highlighting --help
  alias cat='bat -pp' #= --plain --paging=never
  tf() { tail -f "$1" | cat -l log; } # Tail Follow
fi
# SystemCTL - https://systemd.io/ ---------------------------
if cmd_exist systemctl; then
  __msg() { echo -e "\e[31m>>\e[0m Using systemctl as ${1}\e[0m"; }
  systemctl_aliases() {
    local _base_cmd="systemctl --user"
    [[ "$1" == "sudo" ]] && _base_cmd="sudo systemctl"
    alias   s="${_base_cmd} list-units --no-pager --type=service --plain --legend=false"
    alias  s.="${_base_cmd} start"
    alias  s-="${_base_cmd} stop"
    alias  s,="${_base_cmd} restart"
    alias  s1="${_base_cmd} enable"
    alias  s0="${_base_cmd} disable"
    alias  se="${_base_cmd} show-environment"
    alias s\?="${_base_cmd} --no-pager status"
    alias s_="mini_t daemon-reload; ${_base_cmd} daemon-reload"
    alias st="${_base_cmd} list-timers --all"
  }
  systemctl_aliases  # load USER aliases as default
  alias sw='f(){ [[ -z $1 ]] && { __msg "\e[34mUser"; systemctl_aliases; } || { __msg "\e[1;31mSystem"; systemctl_aliases sudo; }; };f'
fi
# Docker - https://www.docker.com/get-started
if cmd_exist docker; then
  alias d='docker'
  alias dps='d ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"'
  alias di='d image ls'
  alias dp='d system prune --volumes'
fi
 
## Functions ==================================================================
update() {
  # Debian/Ubuntu based systems
  cmd_exist nala && sudo nala upgrade -y && return 0
  cmd_exist apt && sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
}
 

Comments