分享 说一说你最最常用的 linux 命令有哪些,也算是给新手指导

chao · 2012年08月31日 · 最后由 loxeyer 回复于 2013年04月01日 · 9328 次阅读

本人菜鸟先说几个: 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

#history | awk '{print $2}' | sort | uniq -c | sort -rn | head 大家输出下这个,哈哈。

1011 cd
 810 svn
 545 git
 463 ls
 323 pss
 223 gs
 199 sublime
 160 rc
 139 gc
 131 rake

sudo killall -9 ** sudo kill -9 pid

#2 楼 @diudiutang #6 楼 @fresh_fish 被 gs 忽悠了一段时间才反应过来是 git status,看来这么绑键的很多啊。。。

自己有个坏习惯,无论要输什么,都会先输 cd,再删掉

@jinleileiking eix, e, epv 是啥,别名?

pwd find which grep

最常用!?+匹配去执行历史,比如用过一次 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

看来没多少人用 svn

vim
ssh
scp
diff
svn
git
ls -al
kill -9 xxx
ruby -e 'system("svn update") while sleep 5'
source ~/.bashrc

自己用 Ruby 写脚本?

2024 git 1210 ls 575 cd 376 grm 305 vim 149 ee 148 tig 101 go 89 qt 80 rm

439 cd 267 rails 253 ls 195 rake 153 git 117 irb 101 ping 92 sudo 88 ruby 81 unicorn

#2 楼 @diudiutang 问下 这个 shell 命令是怎么用的 能不能详细解释下?linux 菜鸟。。

1409 ls 1301 cd 1094 git 377 vi 305 sudo 248 rake 206 rails 184 exit 103 rm 82 ssh

#12 楼 @quakewang !?是好东西啊,我一般都是狂按 ctrl+p, ctrl+n

#22 楼 @Tony612 这是个多管道命令

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

根据你输入的值大小输入前多少行。都是些很基本的命令组合在一起

#25 楼 @diudiutang 学习了。。虽然我这里貌似没有.zsh_history 文件。。

#24 楼 @camel @quakewang 为什么不用 Ctrl+R 呢?

#26 楼 @Tony612 因为我用的是 oh-my-zsh ,

你可以用 history 或 fc -l 1 替代这句,都能实现提取所有输入命令的功

能,你的记录在 .bash_history 里面

我最常用的其实是 tab 键,虽然不起眼,但确实有很多新手不习惯,所以专门提醒一下,如果是 ubuntu,几乎所有的命令(包括很多参数)都有提示

#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 来前后移动来快速查看文件很好用。

#28 楼 @diudiutang 哦 是的 z-shell 还是第一次听说 谢啦~~

man 有一个 参数-k 很好用

man -k xxx

可以搜索 man 的数据库~

#32 楼 @hxgdzyuyi 这个还是第一次听说,长见识啊

我常用的都是自己写的小脚本。 这些脚本 90% 用到的命令来来回回就是以下几个: find xargs grep sed cut sort uniq printf echo for ... in test

不过平常用的最多的就两个:ls cd

#10 楼 @feitian124 别名 emerge -pv emerge --auto-unmaskwrite

$ 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 ./

lsof -iTCP:3000 用来查看占用端口 3000 的进程 kill -9 pid 结束进程号为 pid 的进程

#查看当前进程
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
匿名 #41 2012年09月01日

emacs, 楼主自己看看 linu 书吧,感觉跟个 YF 似的

~ $ 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 表

#27 楼 @fsword

其实 Alt-r 也可以。我常用呀。

说错了,是 C-r, 只不过因为另有他用,只不过我自己重新 binding 成 M-r 了。

bind '"\er": reverse-search-history'

229 git 149 cd 125 ls 59 ssh 53 fuckgfw 39 rails 34 gvim 28 sudo 26 vi 26 ping

我有洁癖,所以经常用 clear

c----clear m----mplayer cd git

上面提到的我就不说了: 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 是不是啊,有洁癖?

82 ls 56 mmm 51 cd 32 make 28 . 23 vim 19 clear 18 man 15 ll 12 touch

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
匿名 #55 2012年09月06日

vim

怎么都这么多 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

ggityyyaourt -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

101 cd 91 ls 57 git 55 vi 52 ruby 22 ri 21 rails 21 pwd 15 ll 10 gem

需要 登录 后方可回复, 如果你还没有账号请 注册新账号