/
alias.zsh
268 lines (211 loc) · 8.22 KB
/
alias.zsh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
setopt aliases
alias s='ssh'
alias todo='vi ~/TODO'
alias cat='sudo cat -v'
alias vms='vmstat 1'
alias dmidecode='sudo dmidecode'
alias tcpdump='sudo tcpdump'
alias iptables='sudo iptables'
alias ipset='sudo ipset'
alias iptables-apply='sudo iptables-apply'
alias iptables-restore='sudo iptables-restore'
alias iptables-save='sudo iptables-save'
alias systemctl='sudo systemctl'
alias yt-dlp="yt-dlp -o '%(id)s.%(ext)s'"
alias youtube-dl="yt-dlp"
alias twitter-dl="yt-dlp --cookies-from-browser chrome+gnomekeyring"
alias apt='sudo apt'
alias apt-get='sudo apt-get'
alias apt-cache='sudo apt-cache'
alias wondershaper='sudo wondershaper'
alias iotop='sudo iotop'
alias iftop='sudo iftop'
alias fdisk='sudo fdisk'
alias sysctl='sudo sysctl'
alias md5sum='sudo md5sum'
alias sha1sum='sudo sha1sum'
alias sha256sum='sudo sha256sum'
alias lsof='sudo lsof'
alias lsb_release='sudo lsb_release'
# alias kitty='/usr/local/src/kitty/kitty/launcher/kitty'
alias dl='yt-dlp --no-prefer-free-formats -f "bv+ba/b"'
alias psql='sudo -u postgres psql --dbname=fb'
alias xjq='xclip -out | jq .'
alias gkl="gpg2 --list-keys --keyid-format long 'Zheng Kai'"
alias adduser='sudo adduser'
alias groupadd='sudo groupadd'
alias iostatk="iostat -x 1 -k | awk '{printf \"%15s %6s %6s\\n\", $1,$6,$7}'"
alias ip='sudo ip'
alias wg='sudo wg'
alias docker='sudo docker'
alias docker-compose='sudo docker-compose'
# alias try='docker run --rm=true -t -i'
alias ifstat='ifstat -t'
alias cpuinfo='less /proc/cpuinfo'
alias jour='journalctl -xe'
alias rm="trash-put"
alias ..='cd $(dirname "$(pwd)")'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias cd..='..'
alias cd...='...'
alias cd....='....'
alias cd.....='.....'
alias 'cd-'='cd -'
alias lanip="sudo ip -j a | jq -r 'map(select(.operstate == \"UP\" and (.ifname | startswith(\"docker\") | not) and (.master | not)).addr_info[] | select(.family == \"inet\").local) | first'"
alias fuck='$(thefuck $(fc -ln -1))'
alias FUCK='fuck'
alias ag='sudo ag --ignore node_modules'
alias s3='aws s3'
alias g='go run'
alias t='go test -v'
alias tt='go test -v -test.benchmem -cover -covermode=atomic -coverprofile=coverage.out'
alias ttc='go tool cover -html=coverage.out'
alias bce='go build -gcflags="-d=ssa/check_bce/debug=1"'
alias gii='git init && git commit --allow-empty -m "startup"'
alias ga='git add --all ./`git rev-parse --show-cdup 2>/dev/null`'
alias gi='git add --all ./`git rev-parse --show-cdup 2>/dev/null` && git ci -a'
alias ro='cd ./`git rev-parse --show-cdup 2>/dev/null`'
alias gia='gi --amend'
alias gb='git br'
alias gdl='gd HEAD~1 HEAD'
alias gdn='gd --no-index'
alias gdh='gd HEAD'
alias gds='gd --staged'
alias gs='git st'
alias gc='git clone'
alias gc1='git clone --depth 1'
alias gm='git merge --no-ff'
alias gms='git merge --squash'
alias gtp='git stash apply'
alias gpp='git pull && git push'
alias gpt='git push && git push --tags'
alias grb='git ls-remote --heads `git url` | sed "s#^.*refs/heads/##"'
alias gl='git log --abbrev=12 --date="format:%Y-%m-%d %H:%M:%S" --pretty=format:"%C(44)%cd %C(7)%h %C(214)%<(30)%s %C(8)- %cn"'
alias git-delete-all-local-branch='git br | \grep -v "^*" | sed "s# ##" | xargs -L 1 git br -D | tee -a ./`git rev-parse --show-cdup 2>/dev/null`.git/deleted-brnach'
# 从整个仓库的所有历史里搜索某个关键词
alias git-all-search='git rev-list --all | xargs git grep -F'
alias d='colordiff -u'
alias ls="ls --color=auto"
alias ll="ls -lh"
alias la="ls -lA"
alias l="ls -CF"
alias lsd="\ls -l | \grep ^d"
alias free="free -h"
alias naf="npm audit fix"
alias nng="ng new --skip-git --skip-tests --style=scss --routing=true --strict --inline-style --directory client"
alias utc="TZ='UTC' \date '+%Y-%m-%d %H:%M:%S'"
alias date="TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M:%S'"
alias now='i=$(\date +%s); echo "$i"; date -d @"$i"'
alias utcnow='i=$(\date +%s); echo "$i"; utc -d @"$i"'
alias ssh-keygen-rsa='ssh-keygen -N "" -b 4096 -t rsa'
alias ssh-keygen='ssh-keygen -N "" -b 384 -t ecdsa'
alias top="btop 2>/dev/null || htop"
alias df="df -h"
alias vimcat="$HOME/.vim/bundle/vimpager/vimcat"
alias du1="sudo du --max-depth=1 -h | sort -h | expand -t 8"
alias dus="sudo du --max-depth=0 -h | expand -t 8"
alias rsync='rsync --partial -vzrtopg'
alias sshsync='rsync -e ssh'
alias ssltime='curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null'
alias sslview='sudo openssl x509 -noout -text -in'
alias pwgen='((L=$LINES-8)); ((L=L>10?L:10)); ((W=$COLUMNS)); ((W=W>80?W:80)); pwgen -cns $W $L'
alias pwgens='((L=$LINES-8)); ((L=L>10?L:10)); ((W=$COLUMNS)); ((W=W>80?W:80)); pwgen -cnsy $W $L'
alias gp='sudo grep -n -I --color=always --exclude-dir=.git --exclude-dir=.svn'
alias grpe='grep'
alias less='less -r --tabs=4'
alias pss='ps aux | \grep'
alias netss='sudo netstat -nap | grep'
alias vi='nvim -O'
alias vim='nvim -O'
alias :vs='nvim -O'
alias vs='nvim -O'
function fn_add_user_to_group() {
# 这个函数存在的意义在于,有些下等 Linux 发行版只有 useradd 没有 adduser
user=`\id "$1" 2>/dev/null`
if [[ ! $user =~ ^uid=.* ]]; then
echo "user not exists: $1"
return;
fi
echo "add user: $1"
group=`\grep "^$2" /etc/group`
if [ -z "$group" ]; then
echo "group not exists: $2"
return;
fi
echo "to group: $2"
sudo usermod -a -G $2 $1
}
alias add_user_to_group=fn_add_user_to_group
alias c1="awk '{print \$1}'"
alias c2="awk '{print \$2}'"
alias c3="awk '{print \$3}'"
alias c4="awk '{print \$4}'"
alias c5="awk '{print \$5}'"
alias c6="awk '{print \$6}'"
alias c7="awk '{print \$7}'"
alias c8="awk '{print \$8}'"
alias c9="awk '{print \$9}'"
alias ifstat="~/conf/script/ifstat.sh"
alias head='((L=$LINES-8)); ((L=L>10?L:10)); sudo \head -n $L'
alias st='sudo \tail -n 10'
alias tail='((L=$LINES-8)); ((L=L>10?L:10)); sudo \tail -n $L'
alias f='((L=$LINES-3)); ((L=L>10?L:10)); sudo \tail -n $L -f'
alias mocp="TERM=screen-256color /usr/bin/mocp"
alias mount='sudo mount'
alias journalctl='sudo journalctl'
alias service='sudo service'
alias nginx='service nginx'
alias nss='nginx configtest && nginx stop && nginx start'
alias mysqld='service mysql'
alias firewall-cmd='sudo firewall-cmd'
alias fail2ban-client='sudo fail2ban-client'
alias logstash='/usr/share/logstash/bin/logstash'
# alias pip='sudo -H pip3'
# alias pip3='sudo -H pip3'
alias easy_install='sudo easy_install'
alias easy_install3='sudo easy_install3'
alias pl="echo 'show processlist;' | mysql"
alias pc='grep -c "^processor" /proc/cpuinfo'
alias cleanacl="sudo setfacl -b -R ."
alias set644="(find . -type d -exec sudo chmod 755 {} \;) && (find . -not -type d -exec sudo chmod 644 {} \;)"
alias set664="(find . -type d -exec sudo chmod 775 {} \;) && (find . -not -type d -exec sudo chmod 664 {} \;)"
alias set666="(find . -type d -exec sudo chmod 777 {} \;) && (find . -not -type d -exec sudo chmod 666 {} \;)"
alias set600="(find . -type d -exec sudo chmod 700 {} \;) && (find . -not -type d -exec sudo chmod 600 {} \;)"
#alias flushmc="echo 'flush_all' | nc localhost 11211"
alias pwdcp='echo -n "`pwd`" | xclip -selection c'
alias nping='TIME="%E" \time nc -w 5 -vz'
alias iptest="curl https://ifconfig.io/ip --socks5-hostname"
alias -g xx='| tr -d "\\n" xt'
alias -g xt='| tee /dev/tty | xclip -selection clipboard'
alias ms='sudo mongosniff --source NET lo 27017'
ex () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.tar.xz) tar xf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.txz) tar Jxvf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
alias wake-tesla='wakeonlan "fc:aa:14:ad:25:d5" && wakeonlan -i "10.0.31.16" "fc:aa:14:ad:25:d5"'
alias wake-molly='wakeonlan "d8:50:e6:ba:43:df" && wakeonlan -i "10.0.31.14" "d8:50:e6:ba:43:df"'
alias wake-lydia='wakeonlan "e0:d5:5e:16:08:a0" && wakeonlan -i "192.168.1.225" "e0:d5:5e:16:08:a0"'
alias wake-rpi=' wakeonlan "b8:27:eb:c1:83:2a" && wakeonlan -i "192.168.1.224" "b8:27:eb:c1:83:2a"'
trimaudio() {
ffmpeg -i "$1" -an -c:v copy "$2"
}