您的位置:首页 > 运维架构 > Shell

开发时常用的shell命令

2014-07-30 22:54 225 查看
 

 

一、common

 

1、批量替换文件内容:

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`

sed -i "s/oldstring/newstring/g" filename

2、批量修改文件名:

rename 'part_file_name' 'new_part_file_name' *

3、统计代码行数:

wc -l *.cpp *.h

 

二、vim

剪切、复制、粘贴不用记了。

 1、查找:

   :/word     /正向搜索;?反向搜索

   正常模式下,光标置于某个标识符上,按shift+#,可以直接查找该标识符。

   :/word\c   \c查找时忽略大小写

2、字串查找

    /        向后查找

    ?        向前查找

    *        向后查找光标所在字

    #        向前查找光标所在字

    n        下一个

    N        上一个

3、替换

  :s/old/new用new替换行中首次出现的old

  : s/old/new/g 用new替换行中所有出现的old

  :#,# s/old/new/g用new替换从第#行到第#行中出现的old

  :% s/old/new/gc用new替换整篇中出现的old, c表示需要confirm。

4、括号匹配:

在某个括号({}[]())上按下%,会在匹配的一对括号上来回切换。类似于vs的alt+up\down

5、代码缩进:

按v选中,按<或>左右移动整块代码。

按==,自动缩进排版。

n==,多行自动排版。

gg=G,整篇排版。

6、整篇选中、全文选中:

ggvG

7、批量注释代码:

v,选择文字,Ctrl + v,shift + i,输入//,连续两次Esc。

去除注释:v,选择文字,Ctrl + v(选中//所在列,选中的区域受v开始和结束时光标所在水平位置影响),按x删除//。

三、op

 

1、使用进程名杀进程:杀死进程组中的所有进程

killall -9 process_name

2、查看端口占用:

netstat -apn | grep port_num

3、搜索并打印出pid:

ps -ef |grep -v grep|grep process_name |awk '{print $2}'

4、查看完整系统信息:

uname -a

5、查看文件类型

readelf: 查看是什么类型(.a\.so\exe)的文件。

6、查看依赖库

ldd

7、查看导出库

nm

------------------------------------性能、查错------------------------------------------

top -p pid  查看指定进程的内存使用等

ps ax  查看进程状态(会话期首进程s、前台进程+、高优先级<、多线程l)。

----------------------------------------参数、变量--------------------------------------------

$?:

最后运行的命令的结束代码(返回值)

$#:

添加到Shell的参数个数

$0:

Shell本身的文件名

$1~$n:

添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

$$:

Shell本身的PID(ProcessID)

$!:

Shell最后运行的后台Process的PID

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell