2016-03-31 02:03:55 +00:00
|
|
|
# Common Aliases
|
2016-04-23 12:18:13 +00:00
|
|
|
alias -g ...=../..
|
|
|
|
alias -g ....=../../..
|
|
|
|
alias -g .....=../../../..
|
|
|
|
alias -g ......=../../../../..
|
2016-03-31 02:03:55 +00:00
|
|
|
|
|
|
|
alias ..la="cd ..;la"
|
|
|
|
alias ..ll="cd..;ll"
|
|
|
|
alias ..l="..ll"
|
|
|
|
|
|
|
|
alias l=ll
|
2018-10-01 15:26:55 +00:00
|
|
|
alias ls='ls --color=auto'
|
2018-02-22 13:03:37 +00:00
|
|
|
alias ll="ls -lFh --group-directories-first"
|
|
|
|
alias la="ls -lAFh --group-directories-first"
|
|
|
|
alias lt='ls -lAFh --sort=time'
|
2018-03-14 02:09:24 +00:00
|
|
|
alias lsz='ls -lAFh --sort=size'
|
2016-04-01 12:55:26 +00:00
|
|
|
alias al=la # No, I don't need the Mono Assembly Linker
|
2016-03-31 02:03:55 +00:00
|
|
|
|
|
|
|
alias md="mkdir -p"
|
2017-11-22 12:50:57 +00:00
|
|
|
alias rd="rmdir -p"
|
2018-10-31 17:22:17 +00:00
|
|
|
mcd(){ mkdir -p -- $@ && cd -- $@; }
|
2018-02-22 13:03:37 +00:00
|
|
|
alias -- -='cd -'
|
2017-11-10 12:31:33 +00:00
|
|
|
alias cdt='cd `mktemp -d`'
|
2016-03-31 18:21:23 +00:00
|
|
|
alias grep='grep --color'
|
|
|
|
alias -g H='| head'
|
|
|
|
alias -g T='| tail'
|
|
|
|
alias -g G='| grep'
|
|
|
|
alias -g L="| less"
|
2016-04-01 16:54:28 +00:00
|
|
|
alias -g C="| wc -l"
|
2016-04-02 17:25:04 +00:00
|
|
|
alias -g S="| sort"
|
2016-05-21 12:48:25 +00:00
|
|
|
alias -g U="| uniq"
|
2016-04-01 16:54:28 +00:00
|
|
|
alias -g count="| wc -l"
|
2018-03-22 12:55:56 +00:00
|
|
|
alias -g NO="1> /dev/null"
|
2016-03-31 18:21:23 +00:00
|
|
|
alias -g NE="2> /dev/null"
|
2016-04-16 17:00:03 +00:00
|
|
|
alias -g NUL="&> /dev/null"
|
|
|
|
alias -g BG="&;disown"
|
2016-04-23 12:18:54 +00:00
|
|
|
alias -g COL="| column -t"
|
2016-10-04 23:47:17 +00:00
|
|
|
alias -g CLIP="| xclip -i -selection primary -f | xclip -i -selection clipboard"
|
2016-03-31 02:03:55 +00:00
|
|
|
|
|
|
|
alias svi=sudoedit
|
2018-07-30 08:30:03 +00:00
|
|
|
alias svim=sudoedit
|
2016-04-23 12:18:54 +00:00
|
|
|
# This will enable us to use aliases in sudo.
|
|
|
|
# (If alias finishes with a space or tab, the shell will check if the next command is also aliased.)
|
|
|
|
# Source: https://github.com/mayah/home/blob/master/.zsh/zshrc.d/alias.zsh
|
2017-02-25 02:46:21 +00:00
|
|
|
alias sudo='sudo -E '
|
2016-04-30 13:18:38 +00:00
|
|
|
alias open=xdg-open
|
2016-03-31 02:03:55 +00:00
|
|
|
|
2016-04-30 13:18:38 +00:00
|
|
|
# Command rewrites
|
2016-03-31 18:21:23 +00:00
|
|
|
alias rm='rm -i'
|
|
|
|
alias mv='mv -i'
|
2017-02-02 00:30:16 +00:00
|
|
|
alias cp='cp -ir'
|
|
|
|
alias pacman='pacman --color=always'
|
|
|
|
alias pacaur='pacaur --color=always'
|
2016-11-14 13:54:01 +00:00
|
|
|
alias tree='tree --dirsfirst -C -F'
|
2018-02-22 13:03:37 +00:00
|
|
|
alias make="make -j$(nproc)"
|
2016-07-27 08:36:47 +00:00
|
|
|
alias dd='dd status=progress'
|
2017-08-27 15:41:31 +00:00
|
|
|
alias ssh="ssh -tt"
|
2018-10-01 15:27:26 +00:00
|
|
|
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file"
|
2018-04-20 23:08:53 +00:00
|
|
|
vim --version 2>/dev/null | command grep -q +clientserver && \
|
|
|
|
alias vim="vim --servername vim -p"
|
2018-03-31 20:55:23 +00:00
|
|
|
alias vi=vim
|
2017-10-03 08:36:10 +00:00
|
|
|
alias grip='grip --user=frebib --pass=$GRIP_API_KEY'
|
2018-03-29 10:36:43 +00:00
|
|
|
alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
|
|
|
alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
2018-03-29 10:15:56 +00:00
|
|
|
exists gopass && alias pass='gopass'
|
2018-07-30 08:31:18 +00:00
|
|
|
alias alpine-sdk='docker run -ti --rm \
|
2017-11-10 12:42:23 +00:00
|
|
|
-e USER \
|
2018-06-23 22:49:11 +00:00
|
|
|
-e UID="$(id -u)" \
|
2017-11-10 12:42:23 +00:00
|
|
|
-e PWD \
|
2018-03-26 17:35:46 +00:00
|
|
|
-e HOME \
|
2017-11-10 12:42:23 +00:00
|
|
|
-w $PWD \
|
2017-11-15 23:20:55 +00:00
|
|
|
-v $PWD:$PWD \
|
2018-03-26 17:35:46 +00:00
|
|
|
-v ~/.abuild:$HOME/.abuild \
|
2018-07-30 08:31:18 +00:00
|
|
|
-v ~/.abuild/distfiles:/var/cache/distfiles \
|
|
|
|
frebib/alpine-sdk:edge'
|
|
|
|
alias abuild='alpine-sdk abuild'
|
|
|
|
alias abuild-sign='alpine-sdk abuild-sign'
|
|
|
|
alias apk='alpine-sdk apk'
|
|
|
|
alias hddtemps='find /sys/block/ -name sd\* | sed "s|sys/block|dev|g" | sudo xargs hddtemp | sort -t: -k3'
|
|
|
|
alias stripansi='sed -r "s/\x1B\[(([0-9]+)(;[0-9]+)*)?[m,K,H,f,J]//g"'
|
2018-10-31 17:24:37 +00:00
|
|
|
alias calc="noglob bc -l <<<" # noglob allows * without quoting
|
2016-03-31 18:21:23 +00:00
|
|
|
|
2018-10-31 17:26:36 +00:00
|
|
|
# Function aliases
|
|
|
|
env() { command env $@ | stripansi | sort; }
|
|
|
|
|
2016-04-01 12:37:15 +00:00
|
|
|
# System aliases
|
2017-07-08 23:10:54 +00:00
|
|
|
alias s="sudo systemctl"
|
2017-02-02 00:30:16 +00:00
|
|
|
alias j=journalctl
|
2016-05-21 11:50:55 +00:00
|
|
|
alias p=pacaur
|
2016-04-01 12:37:15 +00:00
|
|
|
alias ps='ps aux'
|
2017-02-02 00:30:16 +00:00
|
|
|
alias catn='tail -n +1 --'
|
|
|
|
alias kl='killall -s 9'
|
2016-10-04 23:47:55 +00:00
|
|
|
alias chx='chmod +x'
|
2016-03-31 18:21:23 +00:00
|
|
|
|
|
|
|
# File default aliases
|
2018-10-31 21:50:09 +00:00
|
|
|
alias -s pdf="open"
|
2016-03-31 18:21:23 +00:00
|
|
|
alias -s zip="unzip -l"
|
|
|
|
alias -s rar="unrar l"
|
|
|
|
alias -s tar="tar tf"
|
2017-03-21 05:18:07 +00:00
|
|
|
alias -s gz="tar tf"
|
2016-04-16 17:00:03 +00:00
|
|
|
alias -s jar="java -jar"
|
2017-10-03 08:36:42 +00:00
|
|
|
alias -s git="git clone --recursive"
|
2016-03-31 18:21:23 +00:00
|
|
|
|
2016-03-31 02:03:55 +00:00
|
|
|
# Git Aliases
|
|
|
|
alias g=git
|
2017-01-25 14:02:30 +00:00
|
|
|
alias gignore='$EDITOR .gitignore'
|
2018-04-11 16:42:42 +00:00
|
|
|
alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
|
|
|
|
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gcl="git clone --recursive"
|
|
|
|
alias gco="git checkout"
|
2016-04-18 13:06:14 +00:00
|
|
|
alias gcom="git checkout master"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias ga="git add"
|
2018-03-29 14:57:51 +00:00
|
|
|
alias gap="git add -p"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gaa="ga -A"
|
2017-02-07 00:35:45 +00:00
|
|
|
alias grm="git rm"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gc="git commit"
|
|
|
|
alias gcm="gc -m"
|
2018-03-14 02:15:49 +00:00
|
|
|
gcmst() { git stash -u -k && git commit -m "$1" && git stash pop; }
|
2016-10-20 23:05:56 +00:00
|
|
|
alias gca="git commit --amend"
|
2018-10-30 20:23:11 +00:00
|
|
|
alias gcn="git commit --no-edit"
|
2016-10-20 23:05:56 +00:00
|
|
|
alias gcan="git commit --amend --no-edit"
|
2017-08-27 15:41:52 +00:00
|
|
|
alias gcam="git commit --amend -m"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gst="git status"
|
|
|
|
|
|
|
|
alias gm="git merge"
|
|
|
|
alias gma="git merge --abort"
|
|
|
|
alias grb="git rebase"
|
|
|
|
alias grba="grb --abort"
|
|
|
|
alias grbc="grb --continue"
|
|
|
|
|
|
|
|
alias gf="git fetch"
|
|
|
|
alias gp="git push"
|
|
|
|
alias gpf="gp --force"
|
2017-03-21 05:13:29 +00:00
|
|
|
alias gpsu="git push --set-upstream"
|
|
|
|
alias gpsuom="git push --set-upstream origin master"
|
2017-11-15 23:21:27 +00:00
|
|
|
alias gpall="git remote | xargs -L1 git push"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gl="git pull --rebase"
|
2016-07-06 07:39:52 +00:00
|
|
|
alias glp="gl && gp"
|
2016-09-01 13:50:13 +00:00
|
|
|
gd() {
|
|
|
|
local commit=$1
|
|
|
|
if [ -z "$commit" ] || [ ${commit:0:1} != '@' ]; then
|
2018-03-29 14:57:51 +00:00
|
|
|
git diff $@
|
2016-09-01 13:50:13 +00:00
|
|
|
else
|
2018-03-29 14:57:51 +00:00
|
|
|
git diff "@~${commit:1}^!"
|
2016-09-01 13:50:13 +00:00
|
|
|
fi
|
|
|
|
}
|
2018-03-29 14:57:51 +00:00
|
|
|
alias gds="git diff --staged"
|
|
|
|
alias gsh="git show"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias glg="git log --stat --color"
|
|
|
|
alias glog="git log --oneline --decorate --color --graph"
|
|
|
|
|
2016-04-18 13:06:14 +00:00
|
|
|
alias grst="git reset"
|
|
|
|
alias gundo="git reset @~1"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gclean="git clean"
|
|
|
|
alias gbr="git branch"
|
|
|
|
alias gr="git remote"
|
2017-10-10 10:01:03 +00:00
|
|
|
alias grv="git remote -v"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gra="gr add"
|
|
|
|
alias grr="gr rm"
|
|
|
|
alias grao="gra origin"
|
|
|
|
alias grro="grr origin"
|
|
|
|
|
|
|
|
alias gsta='git stash'
|
|
|
|
alias gstd='gsta drop'
|
2018-02-22 13:03:37 +00:00
|
|
|
alias gstl='gsta list --stat --color'
|
2016-03-31 02:03:55 +00:00
|
|
|
alias gstp='gsta pop'
|
|
|
|
alias gstv="gsta show -p stash@{0}"
|
|
|
|
|
2016-06-21 23:23:19 +00:00
|
|
|
# Docker aliases
|
|
|
|
alias d=docker
|
|
|
|
alias dps='docker ps'
|
|
|
|
alias dpsa='docker ps -a'
|
|
|
|
alias drm='docker rm'
|
|
|
|
alias drmi='docker rmi'
|
|
|
|
alias dim='docker images'
|
2017-05-14 21:25:18 +00:00
|
|
|
alias dbl='docker build --pull'
|
|
|
|
alias dbl.='docker build --pull .'
|
2016-06-21 23:23:19 +00:00
|
|
|
alias drun='docker run -ti'
|
2016-07-20 15:26:06 +00:00
|
|
|
alias dkl='docker kill'
|
2017-05-25 09:26:40 +00:00
|
|
|
dklrm() { docker kill $@ ; docker rm $@ }
|
2016-08-12 14:54:08 +00:00
|
|
|
alias dst='docker stop'
|
2017-01-18 17:04:20 +00:00
|
|
|
alias drst='docker restart'
|
|
|
|
alias dnet='docker network'
|
|
|
|
alias dvol='docker volume'
|
2016-08-12 14:54:08 +00:00
|
|
|
alias dlg='docker logs -f'
|
2018-05-29 00:22:23 +00:00
|
|
|
alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
|
2017-05-22 17:20:46 +00:00
|
|
|
alias drm-stopped='docker container prune'
|
|
|
|
alias drmi-untag='docker image prune'
|
2017-08-27 15:36:11 +00:00
|
|
|
alias dprune='docker system prune -f'
|
2018-08-21 12:34:43 +00:00
|
|
|
alias dsh='_CMD=dsh _dsh 2 exec'
|
|
|
|
alias drsh='_CMD=drsh _dsh 4 run --rm --entrypoint='
|
2016-12-18 12:29:51 +00:00
|
|
|
_dsh() {
|
2018-08-21 12:34:43 +00:00
|
|
|
minargs=$1
|
|
|
|
shift
|
|
|
|
if [ $# -lt $minargs ]; then
|
2017-07-15 12:32:22 +00:00
|
|
|
echo "Usage: ${_CMD:-$0} [user@]container [program [args]]" >&2
|
|
|
|
return 64
|
|
|
|
fi
|
|
|
|
|
2016-12-18 12:29:51 +00:00
|
|
|
local dowhat="$1"
|
2017-07-16 00:51:28 +00:00
|
|
|
local docker_args=()
|
|
|
|
shift
|
|
|
|
|
|
|
|
while [ "${1:0:1}" = '-' ]; do
|
2017-08-27 15:37:45 +00:00
|
|
|
if [ "${1:0:2}" != '--' ]; then
|
|
|
|
docker_args+=("$1")
|
|
|
|
shift
|
|
|
|
fi
|
2017-07-16 00:51:28 +00:00
|
|
|
docker_args+=("$1")
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
local user="$(echo "$1" | cut -d'@' -f1 -s)"
|
|
|
|
local prog="${@:2:$#}"
|
2016-12-18 12:29:51 +00:00
|
|
|
local usercmd=""
|
|
|
|
if [ -z "$user" ]; then
|
2017-07-16 00:51:28 +00:00
|
|
|
host="$1"
|
2016-08-12 14:54:08 +00:00
|
|
|
else
|
2017-07-16 00:51:28 +00:00
|
|
|
host=`echo $1 | cut -d'@' -f2 -s`
|
2017-10-03 08:37:10 +00:00
|
|
|
usercmd="--user=$user"
|
2016-08-12 14:54:08 +00:00
|
|
|
fi
|
|
|
|
|
2017-08-27 15:40:13 +00:00
|
|
|
if [ "$dowhat" = 'exec' -a -z "$(docker ps -q -f name="$host")" <&- ]; then
|
2017-07-15 12:32:22 +00:00
|
|
|
echo "No such container $host" >&2
|
|
|
|
return 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$prog" ]; then
|
2018-08-21 16:31:21 +00:00
|
|
|
shell_args=()
|
2017-08-27 15:40:58 +00:00
|
|
|
if [ "$dowhat" = 'run' ]; then
|
2018-08-21 12:34:43 +00:00
|
|
|
shell_args=(--rm --entrypoint=)
|
2017-08-27 15:40:58 +00:00
|
|
|
fi
|
2017-07-15 12:32:22 +00:00
|
|
|
for shell in bash sh; do
|
2018-08-21 12:34:43 +00:00
|
|
|
shell_path="$(set -o pipefail; docker $dowhat ${shell_args[@]} "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
|
|
|
|
retval=$?
|
|
|
|
if [ $retval -eq 0 ]; then
|
2017-07-15 12:32:22 +00:00
|
|
|
prog="$shell_path"
|
|
|
|
break
|
2018-08-21 12:34:43 +00:00
|
|
|
elif [ $retval -ge 125 ]; then
|
|
|
|
return
|
2017-07-15 12:32:22 +00:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [ -z "$prog" ]; then
|
|
|
|
echo "Warning: No shell found in path.. trying /bin/sh" >&2
|
|
|
|
prog=/bin/sh
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2017-07-16 00:51:28 +00:00
|
|
|
docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
|
2016-07-20 15:41:52 +00:00
|
|
|
}
|
2016-06-21 23:23:19 +00:00
|
|
|
|
2016-07-19 22:38:07 +00:00
|
|
|
alias dm='docker-machine'
|
2018-10-31 21:51:52 +00:00
|
|
|
dm-con() { eval $(docker-machine env $1); }
|
2016-09-01 13:22:49 +00:00
|
|
|
alias dmc=dm-con
|
|
|
|
|
|
|
|
alias dc='docker-compose'
|
|
|
|
|
|
|
|
# ZFS aliases
|
|
|
|
alias zfs='sudo zfs'
|
|
|
|
alias zpool='sudo zpool'
|
|
|
|
alias z=zfs
|
|
|
|
alias zp=zpool
|
2018-10-30 20:23:48 +00:00
|
|
|
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}'); return $?; }
|
|
|
|
_zl() { _zfs "list $@" }
|
2016-09-01 13:22:49 +00:00
|
|
|
|
2016-03-31 02:03:55 +00:00
|
|
|
# General Aliases
|
2016-05-10 16:06:06 +00:00
|
|
|
alias ssha='eval `ssh-agent` ; ssh-add'
|
2017-11-15 23:21:54 +00:00
|
|
|
alias aliases="$EDITOR $DOTFILES/aliases ; exec zsh"
|
2018-04-11 16:42:42 +00:00
|
|
|
alias vimrc="$EDITOR $VIMRC"
|
|
|
|
alias zshrc="$EDITOR ${ZDOTDIR:-$HOME}/.zshrc ; exec zsh"
|
|
|
|
alias gitrc="$EDITOR $XDG_CONFIG_HOME/git/config"
|
|
|
|
alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
|
2018-04-12 01:24:11 +00:00
|
|
|
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
2016-03-31 02:03:55 +00:00
|
|
|
alias sshc="$EDITOR ~/.ssh/config"
|
|
|
|
alias dotfiles="cd $DOTFILES"
|
2018-04-11 16:42:42 +00:00
|
|
|
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
|
|
|
|
alias i3bc="$EDITOR $XDG_CONFIG_HOME/i3/blocks/config ; i3-msg restart"
|
2018-10-31 21:51:52 +00:00
|
|
|
i3b() { $EDITOR $XDG_CONFIG_HOME/i3/blocks/$@; }
|
|
|
|
|
2016-03-31 02:03:55 +00:00
|
|
|
alias sf=screenfetch
|
2016-04-02 17:29:23 +00:00
|
|
|
alias nf=neofetch
|
2017-11-10 12:42:42 +00:00
|
|
|
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
2017-10-03 10:49:23 +00:00
|
|
|
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
2016-03-31 02:03:55 +00:00
|
|
|
|
2016-09-01 13:50:36 +00:00
|
|
|
# vim: ft=sh
|