系统开发常用命令

基础命令

pbcopy < ~/.ssh/id_rsa.pub 公钥复制到 剪切板(pbcopy)

date +%Y-%m-%d   shell 显示格式化的日期

强制删除一个文件夹  rm -rf filepath/

split -l 1000 data.log data-split-  将文件data.log每1000行切换为一个文件,文件前缀都是data-split-,后面依次是aa、ab、....zz,多用于多进程批量处理文件 

 

文件的解压和压缩

解压   tar -xvf  ***.tar 
压缩 tar -cvf ***.tar  路径

 

文件内容排序

sort -u -n -k 2,2 data.log  也可简写为 sort -u -kn2 data.log

其中 -k 2,2表示按第2列 排序(起+止),-u是去重,-n是按数字排序

 

vim相关

:%s/^M/\r/g   直接vi打开一个在win环境下产生的csv,可能出现大量^M,该命令可转化为linux下的换行符(即\r 而不是\n),^M要使用 CTRL-V CTRL-M生成

:!wc %  计算文件中总的单词量 %表示范围

  删除匹配到关键字的行 g/pattern/d, 删除不匹配的行 g!/pattern/d

 

awk相关

awk '{print $1}' data.log | awk '{for(i=1; i<=NF; i++) freq[$i]++;$i++;} END{for(word in freq) { print word,freq[word]; }}'  统计某列取值的分表频率

awk中取绝对值,需要自定义函数:awk -F"\t" ' function abs(v) {return v < 0 ? -v : v} {if (abs($6-$7)>0.001) print $0}' data.log  

awk 打印单引号:awk '{print "'\''"}'       # 放大: awk '{print  "  '  \  '  '   " }'

 

文件对比相关

vimdiff <(awk '{print $2,$3,$4,$5,$6}' ~/data1.log) <(awk '{print $2,$3,$4,$5,$6}' ~/data2.log)  vimdiff对比2个文件的指定列,注意<是定向符 

两个文件交集   comm -12  data1 data2

两个大文件的交集   join -1 1 -2 1 data1.sorted data2.sorted // data1, data2均只含1列内容

两个文件差集  grep -F -v -f   data1 data2 > diff12 或 comm -2 -3 <(sort data1) <(sort data2) > diff12

两个大文件的差集

join -v 1 -1 1 -2 1 data1.sorted data2.sorted  // data1-data2

 

mysql相关 

命令行支持子查询:select id from blog where code in (select code from blog where id = 1) and id != 1;查与blog1同属于一个code的其他blog.id

将浮点数转化为整数:select (cast(100.123*1000 as DECIMAL(0)))%10

将时间戳格式化为指定格式的日期:select from_unixtime(1441014331,'%Y%m%d')

查询时间戳属于星期几:select dayname(from_unixtime(addtime)) from blog where id = 1;  (1 = Sunday, 2 = Monday, …, 7 = Saturday)

 

系统相关

lsof | grep 8080 查看8080端口对应的进程

ps -ef | grep scriptfilename 检查后台是否有某个脚本在执行

ps pid查看进程的详细信息 

kill pid  强制停掉某个进程

 

服务相关

sudo svstat /service/myservice  查看服务当前状态
sudo svc -d /service/myservice 停止
sudo svc -u /service/myservice 启动
sudo svc -t /service/myservice 重启

 

posted @ 2016-09-18 22:44  hello2012  阅读(310)  评论(0编辑  收藏  举报