當初雖然想以排名的形式撰寫這篇文章,但只根據出現次數來排名感覺不太有趣,因此決定以分組結果和較被關注的 alias 進行介紹。
ls 系
在出現次數方面,這個系列的排名相當高。
嗯,這結果準沒錯。
1 2 3 4 5 6 7 8 9 10 11
aliasls='ls --color=auto' aliasls='ls -G' alias ll='ls -alF' alias ll='ls -lh' alias ll='ls -l' alias la='ls -A' alias la='ls -a' alias l='ls -CF' # 也有這種 alias l='clear && ll' alias l='clear && ls'
cd 系列
目錄移動系列的相關操作如下,有許多指令可用來快速移動到常用目錄:
1 2 3 4 5 6 7 8
# 和常用目錄的字母首結合使用 alias abc='cd ~/aaa/bbb/ccc'
# 即使都是 'd',也可能代表各種路徑 alias d='cd ~/.dotfiles' alias d='cd ~/Desktop' alias d='cd ~/Documents/Dropbox' alias d='cd ~/Dropbox'
意外地大家都有定義這樣的別名。
使用數字來表示的方法似乎非常方便。
1 2 3 4 5 6 7 8
# 用點的數目表示 alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..'
# 用數字表示 alias ..2='cd ../..' alias ..3='cd ../../..'
git 系列
將 git 指令依照使用多寡排序結果如下,我也有設定幾乎相同的 alias:
1 2 3 4 5 6 7 8 9 10
alias g='git' alias ga='git add' alias gd='git diff' alias gs='git status' alias gp='git push' alias gb='git branch' alias gst='git status' alias gco='git checkout' alias gf='git fetch' alias gc='git commit'
dotfiles 相關
接著介紹有關設定 alias 的 dotfiles(點文件,指各種程式的配置文件)相關指令。
編輯系列感覺相當方便,之後也來設定看看吧。
1 2 3 4 5 6 7
# 縮寫因人而異 alias d='/path/to/dotfiles' alias dot='/path/to/dotfiles' alias dotfiles='/path/to/dotfiles' # 編輯系列 alias zshrc='vi /path/to/dotfiles/.zshrc' alias zshconfig='vi /path/to/dotfiles/.zshrc'
apt 系列
主要是針對 ubuntu 的設定。
1 2 3 4 5 6 7 8 9 10
# apt alias agi='sudo apt install' alias agr='sudo apt remove' alias agu='sudo apt update'
# apt-get alias ag='sudo apt-get' alias agi='sudo apt-get install' alias agr='sudo apt-get remove' alias agu='sudo apt-get update'
順帶一提,使用 apt 指令比 apt-get 更好。
可參考:「apt-get」已過時?使用新的「apt」指令進行 Ubuntu 套件管理
bundle 系列
這是 Ruby on Rails 中熟悉的 bundle。
這裡分成幾種流派。
1 2 3 4 5 6 7
alias b='bundle' alias be='bundle exec' alias bx='bundle exec' alias bi='bundle install' alias bo='bundle outdated' alias bu='bundle update' alias rc='bundle exec rails c'
top 系列
意外と定義されていた系その2。
cpuやmemは忘れっぽい人にはいいかもしれないです。
出奇不意地定義了第二類。對於健忘的人來說,cpu和mem可能很有用。
1 2 3 4 5 6 7 8
# 人それぞれ alias top='htop' alias top='gtop' alias top='vtop' alias top='gotop' # 別名 alias mem='top -o rsize' alias cpu='top -o cpu'
安全策略
指令加上 -interactive(-i)參數時,將會在發生覆寫時以互動形式詢問。
1 2 3
aliascp='cp -i' aliasmv='mv -i' aliasrm='rm -i'
宗教戰爭系列
使用某些 alias 也可能被視為宣戰。
1 2 3 4 5 6 7 8 9 10 11 12
# 對異教徒的攻撃 alias atom='code' alias v='code' alias emacs='vi' # 激烈的 edit 之爭 alias ed='atom .' alias ed='emacs --daemon' alias ed='vim' alias edit="emacs -nw" alias edit='subl' alias edit='subl3' alias edit='vim'
# a alias a='alias' alias a='ansible' alias a='apt' alias a='apt-get' alias a='atom'
# b alias b='brew' alias b='bundle exec' alias b='bundle' alias b='bundler' alias b='cd ..'
# c alias c='curl' alias c='cd' alias c='clear' alias c='cat' alias c='rails console' alias c='pbcopy'# 這感覺很方便
# d alias d='cd ~/.dotfiles' alias d='cd ~/Desktop' alias d='cd ~/Dropbox' alias d='date +%Y%m%d' alias d='docker'# 這個有在使用 alias d='du -h -d=1' alias d='git diff' alias d='less'# display? alias d='pwd'
# e alias e='atom' alias e='emacs' alias e='emacsclient' alias e='exit'# 有點過激了吧? alias e='vim'
# f alias f='fg' alias f='file' alias f='find . -name' alias f='finger' alias f='fuck' alias f='open -a Finder ./'
# g alias g='git status' alias g='git'# 一定會有的之 1 alias g='googleit'# google alias g='googler'# google alias g='grep --color=auto' alias g='grep'# 一定會有的之 2
# h alias h='cd ~'# home alias h='git reset HEAD'# head alias h='heroku' alias h='history | grep' alias h='history' alias h='tldr'# 這感覺也蠻方便的。help?
# i alias i='sudo apt install --yes'
#j alias j='jobs' alias j='jump'
# k alias k='kill -9' alias k='kubectl'# 有在使用 alias k='kwrapper' alias k='tree'# 因為在 l 的旁邊嗎?
# l # 大多為 ls 系列因此割愛
# m alias m='cd ~/Music && ls -a'# music 的 m!!! alias m='make' alias m='man' alias m='mkdir'# 就個人來說也是這個吧 alias m='rake db:migrate db:rollback && rake db:migrate db:test:prepare'# 感覺有點超過 alias m='mv' alias m='mvn'
# n alias n='git checkout -b'# new branch alias n='nano' alias n='npm run' alias n='npm'# 實際上比 node 還要常使用? alias n='nvim' alias n='sudo netctl' alias n='node'
# o alias o='open'# 大多是這個的衍生
# p alias p='cd ~/Documents/projects' alias p='cd ~/Dropbox/Projects' alias p='cd ~/Pictures && ls -a' alias p='cd ~/Projects' alias p='ping'# 意外的激戰區? alias p='popd'# 和 zsh 的 AUTO_PUSHD 是一組的? alias p='pwd' alias p='python' alias p='python3' alias p='pacman'# 不是 game 唷
# q alias q='exit'# 幾乎只有這個
# r alias r='cd / && ls -a'# root 的 r alias r='rails'# r 對於 rails 開發者可能會感到迷惘? alias r='rake' alias r='ranger' alias r='rgrep' alias r='rm -i' alias r='rspec' alias r='screen -D -R' alias r='source ~/.zshrc'# reload? alias r='radian'
# s alias s='cd ~/src' alias s='git status' alias s='ls'# 避免錯誤 alias s='screen' alias s='spring' alias s='ssh -l root' alias s='ssh' alias s='sudo su' alias s='sudo' alias s='svn'
# t alias t='date +"%H%M%S"'# time alias t='telnet' alias t='terraform' alias t='tig' alias t='tmux -2' alias t='tmux attach' alias t='tmux new-session -A -s main' alias t='tmux' alias t='tree -C' alias t='tree -Cfh' alias t='tree -I "node_modules"'# 感覺是我的? alias t='tree -a --ignore ".git|node_modules|bower_components|.DS_Store" -l 3'# 強化版
# u alias u='cd ..'# up
# v alias v='code'# VSCode alias v='vagrant' # vim 的一族 alias v='mvim' alias v='nvim' alias v='vi' alias v='vim'
# w 沒什麼特別
# x alias x='exit' alias x='screen -A -x' alias x='startx'# IBM? alias x='/mnt/c/Windows/explorer.exe'# 是 cygwin 嗎?
# y alias y='yarn'# 來使用這個吧 alias y='yaourt'# ArcLinux
# 有幾個感覺蠻方便的 alias -g A='| awk' alias -g C='| pbcopy'# copy alias -g C='| wc -l'# count alias -g G='| grep --color=auto'# 總是會有 alias -g H='| head'# 當然 tail 也是 alias -g L='| less -R' alias -g X='| xargs'
suffix alias 後綴別名
zsh 的功能
根據指令的結尾執行相應操作
1 2 3
alias -s gz='tar -xzvf'# 可用 ./hoge.tar.gz 展開 alias -s html='open'# ./index.html 可在瀏覽器開啟 alias -s {mp3,mp4,wav,mkv,m4v,m4a,wmv,avi,mpeg,mpg,vob,mov,rm}='mplayer'# 也可以這麼定義