一些 alias
僅在 zsh 下測試,bash 下,理論上應該兼容,實際上,也應該兼容
alias 設置的目的主要是懶得敲一些又臭又長/老重複敲的命令,個人認為有三點原則:
- 不能和系統的衝突(不然玩啥)
- 要和其功能性或者原命令名稱對應
- 命令要麼足夠常用,要麼足夠難用,否則就別瞎搞了
apt
alias update="sudo apt update"nalias upgrade="sudo apt upgrade"nalias dist=「sudo apt dist-upgrade"nalias autoremove="sudo apt autoremove"nalias gdebi="sudo apt gdebi"nalias apti="sudo apt install"nalias addkey="sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys"nalias list="apt list --upgradable"nalias purge="sudo apt purge"n
ss
開啟
alias ss<國別名,us,jp,hk,tw>="nohup ssloccal -s<域名. -p<address> -b 127.0.0.1 -k <密碼> -l <埠,一般為1080> -m<加密方式> &>/dev/null"n
關閉
alias killss="ps -ef | grep sslocal | grep -v grep | awk {print $2}| xargs kill"n
注,不能少 $ 中的轉義符號,shell 中單引號會轉義掉所有特殊字元
暗中觀察 (當前 ss )
alias seess="ps -ef | grep sslocal | grep -v grep | awk {print $11}"n
配置文件快捷修改、重載
r=reloadnv=vim n還算直觀吧n
alias rzsh="source ~/.zshrc"nalias vzsh="vim ~/.zshrc"nalias vvim="vim ~/.vimrc"nalias vbash="vim ~/.bashrc"nalias rbash="source ~/.bashrc"n
老生常談的 rm -rf
我的習慣是寫個函數,使用 mv 替換 rm -rf ,再寫個 alias 替換 rm 默認行為
alias rm="trash"ntrash()n{n mv $@ $HOME/.local/share/Trash/files/ # 移動到 Ubuntu 下回收站n}n
還有一些雜七八八的,慢慢補充吧
alias ipy="ipython"nalias psef="ps -ef | grep "nalias rmap="xmodmap ~/.Xmodmap"nalias pc4="proxychains4"n
附錄之為啥要用 zsh:
為啥要用 zsh (on my zsh)呢,先去終端下敲 alias ,看看大佬給你默認配好的 alias :
從開頭看起……
-=cd -n...=../..n....=../../..n.....=../../../..n......=../../../../..n1=cd -n2=cd -2n3=cd -3n4=cd -4n5=cd -5n6=cd -6n7=cd -7n8=cd -8n9=cd -9n……n
本來看到這裡覺得還沒什麼,小 trick 而已,直到看見這一波 git 的神操作
g=gitnga=git addngaa=git add --allngapa=git add --patchngau=git add --updatengb=git branchngba=git branch -angbd=git branch -dngbda=git branch --no-color --merged | command grep -vE "^(*|s*(master|develop|dev)s*$)" | command xargs -n 1 git branch -dngbl=git blame -b -wngbnm=git branch --no-mergedngbr=git branch --remotengbs=git bisectngbsb=git bisect badngbsg=git bisect goodngbsr=git bisect resetngbss=git bisect startngc=git commit -vngc!=git commit -v --amendngca=git commit -v -angca!=git commit -v -a --amendngcam=git commit -a -mngcan!=git commit -v -a --no-edit --amendngcans!=git commit -v -a -s --no-edit --amendngcb=git checkout -bngcd=git checkout developngcf=git config --listngcl=git clone --recursivengclean=git clean -fdngcm=git checkout masterngcmsg=git commit -mngcn!=git commit -v --no-edit --amendngco=git checkoutngcount=git shortlog -snngcp=git cherry-pickngcpa=git cherry-pick --abortngcpc=git cherry-pick --continuengcs=git commit -Sngcsm=git commit -s -mngd=git diffngdca=git diff --cachedngdct=git describe --tags `git rev-list --tags --max-count=1`ngdebi=sudo gdebingdt=git diff-tree --no-commit-id --name-only -rngdw=git diff --word-diffngf=git fetchngfa=git fetch --all --prunen……n
還不跪下乖乖去 oh-my-zsh 下載
推薦閱讀: