命令行是一个强大的工具,而我们大多数却都不会用,可以说没有命令行的世界等于你失去了一多半的乐趣和技能。
本文虫虫和大家一起来聊聊命令行,并教大家一起来学习命令,不管你是运维、开发、测试、DBA,甚至是项目经理、PM都能通过命令行获得很大的裨益。当然我们主要是以开发了主要受众来举例子说明。
日常编码时,你是选择集成开发环境IDE呢,还是文本编辑器(Vim、Emacs、sublime)+插件+命令行呢?
继续阅读
命令行是一个强大的工具,而我们大多数却都不会用,可以说没有命令行的世界等于你失去了一多半的乐趣和技能。
本文虫虫和大家一起来聊聊命令行,并教大家一起来学习命令,不管你是运维、开发、测试、DBA,甚至是项目经理、PM都能通过命令行获得很大的裨益。当然我们主要是以开发了主要受众来举例子说明。
日常编码时,你是选择集成开发环境IDE呢,还是文本编辑器(Vim、Emacs、sublime)+插件+命令行呢?
继续阅读
废话少说,直接撸代码:
1 2 3 4 5 6 7 8 9 |
perl -ne 'print if 5..10' xxoo #感谢flw提醒,忘记这个了 perl -ne 'print if $.>=5 and $.<=10' xxoo perl -ne 'print if int($.) ~~ (5..10)' perl -ne 'print if grep { $_ == $. } 5..10'xxoo sed -ne '5,10 p' xxoo awk 'NR==5,NR==10' xxoo head -10 xxoo |tail -6 tail -n +5 xxoo | head -n 6 grep . -n xxoo |grep -E "^(5|6|7|8|9|10):"|perl -lpe 's/\d+://' |
本文总结了,生物信息处理过程中常见一些工具和单行命令等。
提取文件中的2, 4, and 5 列:
1 |
awk '{print $2,$4,$5}' file.txt |
输出第五列等于abc123的行:
1 |
awk '$5 == "abc123"' file.txt |
按日自动切割nginx日志,并删除30(可自定义)天以上的日志。
脚本保存为 /nginx/logs/ngx_logcut.sh 并加入crontab中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/bin/bash # 0 00 * * * /nginx/logs/ngx_logcut.sh >/dev/null 2>& pidfile=/var/run/nginx.pid logpath='/nginx/logs/' keepdays=30 logfiles=(access.log error.log) cd $logpath for logfile in ${logfiles[@]}; do if [ ! -e $logfile ]; then continue fi find . -type f -name $logfile"20*" -mtime +$keepdays -exec rm {} \; mv $logfile $logfile$(date -d "yesterday" +"%Y%m%d") done kill -USR1 `cat $pidfile` |
1. 最简单的一个例子:
mail -s test [email protected]
这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户。 继续阅读
一、获取非法ip源:
扫描登录失败的日志:
less secure*|grep “Failed password for root from” >/tmp/gj.list
对扫描日志进行分析,非法尝试失败超过50的ip列出来,保存为gongji.ip
cat /tmp/gj.list|perl -anle ‘print $F[10]’|sort |uniq -c|sort -n |perl -anle ‘print $F[1] if $F[0]>50 ‘>/tmp/gongji.ip
用户可以使用shell脚本创建交互性的,专业性强的屏幕输出.要实现这一点,系统上需要一个彩色监视器和tput命令.