Aller au contenu
  1. Articles/

Bash aliases

·3 mins·
Memos - Cet article fait partie d'une série.
Partie 1: Cet article

Voici le contenu des aliases et fonction Bash que j’utilise couramment.

Systemd
alias sc="sudo systemctl"
alias sclf="sudo systemctl list-unit-files"
alias sclu="sudo systemctl list-units"
alias scs="sudo systemctl status"
alias scstart="sudo systemctl start"
alias scstop="sudo systemctl stop"
alias scres="sudo systemctl restart"
alias screl="sudo systemctl reload"
alias scenable="sudo systemctl enable"
alias scdisable="sudo systemctl disable"
alias scie="sudo systemctl is-enabled"
Iptables
alias ipsi="sudo iptables -L INPUT --line-n -v"
alias ipsf="sudo iptables -L FORWARD --line-n -v"
alias ipso="sudo iptables -L OUTPUT --line-n -v"
alias ipspre="sudo iptables -t nat -L PREROUTING --line-n -v"
alias ipspost="sudo iptables -t nat -L POSTROUTING --line-n -v"
Docker
alias dc="docker-compose"
alias db="docker build"
alias dv="docker version"
alias dims="docker images"
alias dim="docker image"
alias dimsd="docker images -f dangling=true"
alias dport="docker port"
alias dops='docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}\t{{.Status}}" | (read -r; printf "%s\n" "$REPLY"; sort -k 2)|grep -iv exited'
alias dtop="docker top"
alias dstats="docker stats"
alias ddiff="docker diff"
alias dhistory="docker history"
function dallports()
{
    for i in $(dops | tr -s " "| cut -d " " -f2|tail -n +2); do
        echo "$i :"
        docker port "$i"
    done
}
function dips()
{
	for i in $(dops | tr -s " "| cut -d " " -f2|tail -n +2); do
		aa=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $i) && echo "$i: $aa";
	done
}
function dipn()
{
	for i in $(docker network ls | tr -s " " | cut -d " " -f2| tail -n +2);do
		bb=$(docker network inspect -f  '{{json .Containers}}' $i | jq '.[] | .Name + ":" + .IPv4Address') && echo "$i: $bb"
	done
}
alias dcs="docker ps -as" # docker container size
alias dsdf="docker system df"
function dbash()
{
    [[ -z "$1" ]]\
        && echo "usage: dbash <container name>"\
        && return 1
    local container="$1"
    docker exec -it $container bash
}
Prompt command
function __prompt_command() {
    local EXIT=$?
    local pythonpath=$(which python3)
    local RCol='\[\e[0m\]'
    local BRed='\[\e[1;41m\]'
    local BGre='\[\e[1;42m\]'
    local BYel='\[\e[1;43m\]'
    local BBlu='\[\e[1;44m\]'
    local BPur='\[\e[1;45m\]'
    PS1="${BGre}\u${RCol}${RCol}@${BBlu}\h:${BRed}\W${Rcol}"
    local CodeCol=${BGre}
	  [[ $EXIT -ne 0 ]]\
		    && CodeCol=${BRed}
	  PS1+="${CodeCol}[?=$EXIT]\$${RCol} "
}
export PROMPT_COMMAND=__prompt_command
RSync
function pullsudorsync(){
    [[ -z "$1" ]]\
        && echo "usage: pullsudorsync <src> <port>"\
        && return 255

    local SOURCE="$1"
    local PORT="22"
    [[ -n "$2" ]]\
	    && PORT="$2"

    rsync -vrlHpEAXogtzD --delete -e "ssh -p $PORT" --rsync-path="sudo rsync"  --progress "$SOURCE" ./backup
}

function pushsudorsync(){
    [[ -z "$3" ]]\
        && echo "usage: pushsudorsync <src> <dst> <port>"\
        && return 255

    local SRC="$1"
    local DEST="$2"
    local PORT="22"
    [[ -n "$3" ]]\
	    && PORT="$3"

    rsync -vrlHpEAXogtzD --delete -e "ssh -p $PORT" --rsync-path="sudo rsync"  --progress "$SRC" "$DEST"
}
Git
alias gs="git status ."

# get current branch in git repo
function parse_git_branch() {
	BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
	if [ ! "${BRANCH}" == "" ]
	then
		STAT=`parse_git_dirty`
		echo "[${BRANCH}${STAT}]"
	else
		echo ""
	fi
}

# get current status of git repo
function parse_git_dirty {
	status=`git status 2>&1 | tee`
	dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
	untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
	ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
	newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
	renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
	deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
	bits=''
	if [ "${renamed}" == "0" ]; then
		bits=">${bits}"
	fi
	if [ "${ahead}" == "0" ]; then
		bits="*${bits}"
	fi
	if [ "${newfile}" == "0" ]; then
		bits="+${bits}"
	fi
	if [ "${untracked}" == "0" ]; then
		bits="?${bits}"
	fi
	if [ "${deleted}" == "0" ]; then
		bits="x${bits}"
	fi
	if [ "${dirty}" == "0" ]; then
		bits="!${bits}"
	fi
	if [ ! "${bits}" == "" ]; then
		echo " ${bits}"
	else
		echo ""
	fi
}
Memos - Cet article fait partie d'une série.
Partie 1: Cet article