Blog

  • sublime macOS快捷键

    学习软件提高效率的重点就是使用快捷键

    osx中的特殊键

    ⌘ Command 鍵
    ⌃ Control 鍵
    ⌥ Option 鍵
    ⇧ Shift 鍵
    ⇪ Caps Lock 鍵
    Fn 鍵 功能鍵

    接下来看sublime osx快捷键

    ⌘T 前往文件

    ⌘⇧N 新建窗口

    ⌘L 选择行 (重复按下将下一行加入选择)

    ⌘D 选择词 (重复按下时多重选择相同的词进行多重编辑)

    ⌘[1,2,3…]选择相应标签页

    ⌘F 查找
    ⌘⌥F 替换
    ⌘⌥G 查找下一个符合当前所选的内容
    ⌘⌃G 查找所有符合当前所选的内容进行多重编辑
    ⌘⇧F 在所有打开的文件中进行查找

    ⌃⇧M 选择括号内的内容
    ⌘⇧↩ 在当前行前插入新行
    ⌘↩ 在当前行后插入新行
    ⌃⇧K 删除行
    ⌘KK 从光标处删除至行尾
    ⌘K⌫ 从光标处删除至行首
    ⌘⇧D 复制(多)行
    ⌘J 合并(多)行
    ⌘KU 改为大写
    ⌘KL 改为小写
    ⌘ / 注释
    ⌘⌥ / 块注释
    ⌘Y 恢复或重复
    ⌘⇧V 粘贴并自动缩进
    ⌃ space 自动完成(重复按下选择下一个提示)
    ⌃M 跳转至对应的括号
    ⌘U 软撤销(可撤销光标移动)
    ⌘⇧U 软重做(可重做光标移动)

    control+command+up/down 上下行切换

    control+v 光标跳转到文本的最后(右下角)

    ⌥ 加鼠标左键进行列选取

    Ctrl-Shift-Command-F to enter and leave Distraction-free mode.全局免打扰模式。

    command + R

    php 里 function

    python 里 class def

    指定的类名,函数名都从这里快速定位

    command + P

    查找文件,在输入框里持续输入文件名

    command + D

    选取当前单词

    command + alt + 数字

    可以分屏

    ctrl + G

    跳到指定行

    参考:
    http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/keyboard_shortcuts_osx.html

     

  • 正则表达式语法

    《学习正则表达式》笔记

    ^从开始匹配
    $匹配结束
    \d匹配一个任意阿拉伯数字
    \D匹配一个非数字字符,等价于[^0-9],又等价于[^\d]
    . 匹配任意一个字符,不包含换行和回车
    \d{3}表示出现单个数字的3次,花括号里是出现的次数
    \d{3,5}表示出现单个数字最小3次,最大5次
    ? 出现零次或一次
    + 匹配一个或多个,包含换行和回车
    * 匹配零个或多个
    \w 匹配字母,数字,下划线,等价于[_a-zA-Z0-9]
    \W 匹配非\w匹配的字符,等价于[^_a-zA-Z0-9],又等价于[^\w]
    \s 匹配空格,等价于[ ]
    \S 匹配非空格,等价于[^\s]
    \t 匹配制表符,tab
    \n 匹配换行符
    \r 匹配回车符
    \b匹配单词边界,不消耗任何字符
    匹配小写字母

    按键次数最少则胜

    创建捕获分组(capturing group),用来匹配字符串中的一部分,使用向后引用(back reference),对捕获的分组进行引用。

    $1是perl风格的后向引用

    常用正则表达式

    匹配域名

    grep -oE '(([a-zA-Z](-?[a-zA-Z0-9])*)\.)+[a-zA-Z]{2,}'
    
  • xenserver模板导出 vm复制 vm更名

    通过挂载nfs后,导出导入模板

    xe template-export filename=CentOS55.xva template-uuid=1c26d2dc-8d28-4445-bf80-f1c7d2dfd884
    xe vm-import filename=CentOS55.xva sr-uuid=6b0c60bc-035a-2963-67e1-928a426efed8

    参考:

    https://sites.google.com/site/norandatechnology/xenserver/export-import-template-nfs

    做好的虚拟机经常需要复制,使用如下命令操作

    xe vm-copy vm="ABCServer" sr-uuid=24565487-accf-55ed-54da54993ade784a new-name-label="Copy of ABCServer" new-name-description="New Description"

    虚拟机改名字

    xe vm-param-set name-label=VM-NEW-NAME uuid=`xe vm-list name-label=<vm-actual-name> --minimal`
  • vim替换

    将逗号替换为换行

    :%s/\,/^M/g

    ^M由ctrl+V+M获得

    同理

    :%s/^I/\ /g

    例如将 ,52,53,19,4,5,6 进行如下操作

    :%s/\,/^M192.168.1./g

    则会变成如下的样式

    192.168.1.52
    192.168.1.53
    192.168.1.19
    192.168.1.4
    192.168.1.5
    192.168.1.6
  • linux连接数统计查看

    在日常工作中经常要查看连接数,以下是几个例子

    先安装

    yum install net-tools -y

    统计80端口连接数

    netstat -na | grep -i "80" | wc -l

    统计已连接上的,状态为“established’的连接数

    netstat -na | grep ESTABLISHED | wc -l

    ESTABLISHED来源IP访问量前5名

    netstat -na | grep ESTABLISHED | awk '{print$5}' | awk -F : '{print$1}' | sort | uniq -c | sort -k 1 -n -r | head -n 5

    正在SYN来源IP访问量前5名

    netstat -na | grep SYN | awk '{print$5}' | awk -F : '{print$1}' | sort | uniq -c | sort -k 1 -n -r | head -n 5

    将不同的tcp连接状态打印出来

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(key in S) print key,"\t",S[key]}'

     

    TIME_WAIT 257 等待所有分组死掉
    SYN_SENT 2 应用已经开始,打开一个连接
    FIN_WAIT1 49 应用说它已经完成
    FIN_WAIT2 60 另一边已同意释放
    ESTABLISHED 509 正常数据传输状态/当前并发连接数
    SYN_RECV 5 一个连接请求已经到达,等待确认
    CLOSING 1 无连接是活动的或正在进行
    LAST_ACK 37 等待所有分组死掉

    netstat 查看 unix socket 使用

    netstat -ntlpx

    参考:http://www.letuknowit.com/post/31.html

  • linux write命令给其他用户发消息

    使用w或`last | grep stil`可以查看到哪些用户正在登陆

    11:46:19 up 82 days, 5:58, 2 users, load average: 0.00, 0.01, 0.05
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    jpuyy pts/0 192.168.1.2 11:45 3.00s 0.53s 0.00s w
    jpuyy pts/3 192.168.1.3 11:45 19.00s 0.57s 0.57s -bash

    现在在pts/0向pts/3的jpuyy用户写消息

    jpuyy@ip-172-31-11-178:~$ sudo write jpuyy pts/3

    [sudo] password for jpuyy:

    write: warning: write will appear from jpuyy
    foo
    bar

    当发送命令后,对方会收到一条

    Message from yourname@yourhost on yourtty at hh:mm …
    foo
    bar

    方便在没有其他通讯的时候发消息,测试下来不支持中文。