开发时常用的shell命令

 

 

一、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



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值