工作中碰到的linux vim命令 [防忘记】

linux

history | tail -10 最后10条历史命令

查找||为分割符的
grep "wrp_deal_time" * |awk -F '\\|\\|' '{print $1 $16}' 

$grep -A 10 'qsm' test.log //打印匹配行的后10行

$grep -B 10 'qsm' test.log//打印匹配行的前10行

$grep -10 'qsm' test.log//打印匹配行的前后10行



linux 下查看进程占用端口:

(1)查看程序对应的进程号: ps -ef | grep 进程名字  Ps -ef 查父进程杀父进程

(2)查看进程号所占用的端口号: netstat -nltp | grep  进程号

        ubuntu :查看进程占用端口号:netstat -anp | grep pid



linux 下查看端口号所使用的进程号:

(1)使用 lsof 命令:lsof -i:端口号

vim

vi 按esc 切换为一般模式  ,一般模式下按:切换为命令行模式   按i/o/a/r切换为插入模式


【h(或向左方向键)】 光标左移一个字符
【j(或向下方向键)】 光标下移一个字符
【k(或向上方向键)】 光标上移一个字符
【l(或向右方向键)】 光标右移一个字符
【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)
【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

【[0]或[Home]】 光标移动到当前行的最前面
【[$]或[End]】 光标移动到当前行的末尾

【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的第一行,相当于"1G"
【n[Enter]】 光标向下移动n行


4). 删除文字 
  x:每按一次,删除光标所在位置的"后面"一个字符。 
  #x:例如,6x表示删除光标所在位置的"后面"6个字符。 
  X:大写的X,每按一次,删除光标所在位置的"前面"一个字符。 
  #X:例如,20X表示删除光标所在位置的"前面"20个字符。 
  dd:删除光标所在行。 
  dw 删除光标后一个单词 可以用来对单词进行对齐
	全部删除:gg到行首,按esc后,然后dG
* :set nu 显示行首 		:! cmd 执行外部命令
* 		w: 前移一个单词,光标停在下一个单词开头;(向后移动)
* 		e: 前移一个单词,光标停在下一个单词末尾;(向后移动)
* 		b: 后移一个单词,光标停在上一个单词开头;(向前移动)
* 		H: 把光标移到屏幕最顶端一行。
* 		M: 把光标移到屏幕中间一行。
* 		L: 把光标移到屏幕最底端一行。
* 		gg: 到文件头部。
* 		G: 到文件尾部。
* 		<< 向左缩进一个shiftwidth
* 		>> 向右缩进一个shiftwidth
* 		gd: 跳转到局部变量的定义处;

terminal

command + n 新建
command + t 新建标签
command + w 关闭标签
command + 数字 command + 左右方向键    切换标签
command + enter 切换全屏
command + f 查找
command + d 水平分屏
command + shift + d 垂直分屏
command + option + 方向键 command + [ 或 command + ]    切换屏幕
command + ; 查看历史命令
command + shift + h 查看剪贴板历史
ctrl + u    清除当前行
ctrl + l    清屏
ctrl + a    到行首
ctrl + e    到行尾
ctrl + f/b  前进后退
ctrl + p    上一条命令
ctrl + r    搜索命令历史

shell 脚本

log=log/now.log
grep "ot=request_out" $log|grep "hitCache"|
sed 's/spanid=.*time=//' | sed 's/log_id=.*proc_time=//' |           #替换
awk -F '\\|\\|' '{print $3,$5,$4}' |                                  #分隔符分割
awk '{ 
	if($2 > a[$1]){a[$1] = $2;b[$1] = $3;c[$1] = $4}                  #分组取最大值
}END{
	for(i in a){print b[i],c[i],i,a[i]}
}'| sort  | awk '{print $4}' |sort -n > log/tuses                    #排序

cat log/tuses | awk '{sum+=$1;cnt++;  if($1>_max) { _max = $1 } }END{print "avg:" , sum/cnt , "cnt:", cnt , "max: " , _max}'                        #统计最大值,总数、总和
num=`wc -l log/tuses | awk '{print $1}'`

cat log/tuses | awk -v num=$num 'BEGIN{
    a[ 0.5 ] = 1
    a[ 0.6 ] = 1
    a[ 0.7 ] = 1
    a[ 0.8 ] = 1
    a[ 0.85] = 1
    a[ 0.9 ] = 1
    a[ 0.95 ] =1
    a[ 0.99 ] =1
    a[ 1 ] =1
}{
    rat = sprintf("%.5f",FNR/num)   # 当前行数/总行数
    for(i in a) {
        if(a[i]>0) {
            if( rat >= i ) {
                print i, ":" , $1
                a[i] = 0
            }
        }
    }

}'

猜你喜欢

转载自blog.csdn.net/yu1336199790/article/details/112616129