本人菜鸟先说几个: ls cd sudo apt-get install who free 就用过这几个貌似
ps aux | grep ruby
ls -lha
kill -USR2 `cat tmp/pids/unicorn.pid`
free
top
tail log/production.log -f
以前简单写了个 shell 命令 统计自己输入的命令
see () {
awk -F ';' '{print $NF}' ~/.zsh_history | awk -F ' ' '{w[$1]+=1} END{for (a in w) print a,w[a]}' | sort -k2nr | head -$1
}
比如说看前 10 个 就 see 10
ls 880
cd 823
gs 446
which 331
.. 239
v 232
sl 167
git 137
ruby 133
sp 131
➜ tools git:(master) ✗ see 10
ls 1509
cd 1468
sudo 640
eix 569
cat 399
rm 347
man 315
e 248
mv 184
epv 173
1011 cd
810 svn
545 git
463 ls
323 pss
223 gs
199 sublime
160 rc
139 gc
131 rake
#2 楼 @diudiutang #6 楼 @fresh_fish 被 gs 忽悠了一段时间才反应过来是 git status,看来这么绑键的很多啊。。。
最常用!?+匹配去执行历史,比如用过一次 rake db:migrate,以后就可以用
!?mig
比如用过一次 mysqldump -uxxx -pxxx,以后就可以用
!?dump
=v=
$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
345 rspec
282 g
264 gst
237 cd
211 rs
201 gco
161 rake
147 gp
103 bundle
99 gl
➜ ~ see ls 366 vi 209 cd 198 git 63 rm 50 rails 46 rvm 45 sh 36 sudo 36 cat 28
1851 git
924 ls
672 cd
408 gss
385 vim
316 gco
299 ssh
276 cap
229 glg
209 ggpull
我定义了很多快捷键,基本上都是很常用的,没有多少记忆负担
alias | wc -l => 142
git 应该是我用的最多的,一次提交就得 ga gc gll gp
vim
ssh
scp
diff
svn
git
ls -al
kill -9 xxx
ruby -e 'system("svn update") while sleep 5'
source ~/.bashrc
自己用 Ruby 写脚本?
439 cd 267 rails 253 ls 195 rake 153 git 117 irb 101 ping 92 sudo 88 ruby 81 unicorn
1409 ls 1301 cd 1094 git 377 vi 305 sudo 248 rake 206 rails 184 exit 103 rm 82 ssh
awk -F ';' '{print $NF}' ~/.zsh_history
将 ~/.zsh_history 文件以 ; 分隔取最后一段内容,就是在终端中输出的完整命令
awk -F ' ' '{w[$1]+=1} END{for (a in w) print a,w[a]}'
统计以空格间隔第一列的数量,就是统计命令的次数,相当于 Hash.new(0)
sort -k2nr
以第二列 (次数) 大小倒序排列
head $1
根据你输入的值大小输入前多少行。都是些很基本的命令组合在一起
#27 楼 @fsword 也有用,只是如果命令相似度比较高,还是狂按 ctrl+p 快些。
另外我常用的还有:
搜索进程的 pid 号,并删除 grep 那一行。
ps aux | grep "ruby" | grep -v "grep"
从倒数 200 行开始实时看 log
tail -200f log_file_name
在指定目录和子文件中查找包含的字符串,path_name 可以用正则来只搜索指定文件。
grep -R text_to_find path_name
查看当前文件夹大小
du -hs .
查看当前文件夹下子文件和目录的大小
du -hs *
想看当前文件夹大小 less 结合 space, f, b 来前后移动来快速查看文件很好用。
我常用的都是自己写的小脚本。 这些脚本 90% 用到的命令来来回回就是以下几个: find xargs grep sed cut sort uniq printf echo for ... in test
不过平常用的最多的就两个:ls cd
$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head 62 status 38 clear 38 cd 27 sudo 26 exit 24 commit 23 subl 23 add 20 push 19 rake
ps aux | grep top killall httpd kill -9 *** find . -name "ruby" -print tail -f development.log du -ks * yum rsync grep ruby -rl ./
#查看当前进程
ps -ef | ps -aux (查看具体程序进程ps -ef | grep java)
#干掉进程
kill -9 PID
#返回上一次的执行命令
sudo !!
#创建一个http服务器,监听端口8000
python -m SimpleHTTPServer
#回溯当前ip的路由链
mtr google.com
#快速备份或者拷贝一个文件
cp filename
#快速创建一个文件
> filename
#清空当前终端和clear不同完全清空
reset
#当前挂在的设备
mount
#当前本地监听的端口列表
netstat -tlnp
#删除整个文件夹及内容
rm -rf xx | rm -rv xx
#下载文件
wget -mk -w 20 http://baidu.com
#查看以操作过的所有命令列表
hirstory
#查看当前系统版本
cat /etc/issue
#host文件存放目录
cat /etc/hosts
#连接到服务器
ssh username@hostname
#把服务器上的/home/index.html拷贝到本地的/root下
scp [email protected]:/home/index.html /root
#上传文件到服务器上
scp -r localfile.txt [email protected]:/home/username/
更多常用命令:http://www.commandlinefu.com/commands/browse/sort-by-votes
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
253 ls
244 cd
61 vi
46 exit
33 ll
32 gs
24 glo
21 ssh
21 cat
21 bundle
~ $ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
2102 git
968 cd
745 less
726 rm
547 ack
289 mv
277 vim
185 cp
171 t
156 rails
man ascii
ASCII 表
其实 Alt-r 也可以。我常用呀。
说错了,是 C-r, 只不过因为另有他用,只不过我自己重新 binding 成 M-r 了。
bind '"\er": reverse-search-history'
上面提到的我就不说了: exit cp mv scp ssh tar unzip reboot,poweroff which whereis pwd ln -s ps aux |grep xx netstat xx --help ....
1331 clear
1280 cd
663 ls
615 bundle
523 git
513 vim
293 gst
287 ll
171 sudo
142 mvim
是不是啊,有洁癖?
mac 平台,history | awk '{print $2}' | sort | uniq -c | sort -rn | head `` 88 cd 74 ls 61 git 42 brew 32 gem 24 rvm 19 mosquitto_pub 15 npm 14 open 13 vim
``
373 cd 345 git 261 ls 208 vim 93 rk 77 ./search 67 sudo 48 script/server 41 rvm 36 bundle
我的:
cd 2995
ls 1670
vim 1553
git 700
ack 407
rm 402
make 367
gst 317
cp 264
mv 223
怎么都这么多 cd 的
╭─ian@ian-tp ~ ‹1.9.3-p125-perf›
╰─➤ see 10
g 2257
ls 892
vi 463
cd 440
sudo 431
ll 293
ssh 293
yy 270
rake 247
rails 235
g
是git
,yy
是yaourt -S
,没想到 vi 用得这么多
589 git 93 rspec 50 ruby 44 rails 39 psql 31 cd 21 exit 16 rake 16 ps 13 clear
$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
96 git
56 ls
52 cd
33 vi
26 ping
26 curl
25 gem
19 ruby
16 bundle
14 ssh
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20
以前不知在哪里看到这条代码的,顺手抄了下来,这 output 的比较好看(最近练习 Ruby 较多,所以常用 irb
)。
不过我不是很懂这原理,怎么会只有这么少?看楼上好多人都几千次:
1 143 28.6% ruby
2 127 25.4% c
3 52 10.4% irb
4 31 6.2% la
5 31 6.2% git
6 28 5.6% cd
7 13 2.6% rvm
8 11 2.2% ..
9 9 1.8% s
10 8 1.6% brew
11 7 1.4% rp
12 7 1.4% gem
13 7 1.4% cloc
14 5 1% open
15 3 0.6% rm
16 3 0.6% history
17 2 0.4% rg;
18 2 0.4% rake
19 2 0.4% md
20 1 0.2% top