各类技巧 (Tcpdump 日期计算 批量改后缀)不断更新,只为备忘
tcpdump使用
最近又抽了些时间学习TcpDump,现总结如下:
1、首先, tcpdump 命令需要有root权限才可以执行。
2、使用tcpdump 在eth0端口上抓取tcp协议,21号端口的数据包:tcpdump -i eth0 -nn tcp port 21
3、监听ICMP数据包: tcpdump -i eth0 -nn icmp
4、办公室有人开启了DHCP服务端,造成他人不能正常使用网络,监听DHCP,找出非法开启服务的主机IP: tcpdump -i eth0 -nn udp port 68
5、监听ARP广播数据包: tcpdump -i eth0 -nn arp
date日期计算
今天是周二,计算下个周二的日期
date -d '+7 day' +%Y-%m-%d 如果是月则用month,是年则用year,十分易学易用,很佩服这些开源的开发人员。
批量修改后缀名
例如当前目录下有 f1.txt f2.txt f3.txt,那么可以使用如下命令: rename '.txt' '.html' * 来进行批量的修改文件名。
用ps和grep命令寻找僵尸进程
参考:http://be-evil.org/linux-find-and-kill-zombie-process.html
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
命令注解:
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程
手动设置时区
用惯了setup之类的文本界面程序,到了VPS里没这些命令还真不习惯,这是手动设置时区的配置方法:
cp -a /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
VPS内yum卡住
参考:http://www.snooda.com/read/96
rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb
让yum只安装64bit的包
安装nginx,需要装一堆包来编译安装,发现yum自动把许多i386的devel包也下了下来,搜索之:
只需要在 yum.conf 加上一行过滤掉 i386, i686 的软件包就可以了:
# vi /etc/yum.conf
[main]
...
exclude=*.i386 *.i686
显示某进程打开的文件
lsof -p `ps -ef | grep [/]sshd | awk '{print $2}'`
说明:lsof命令是用来输出某进程打开的文件信息,后面先执行的命令用作输出某一个进程的进程号。
将字符串内大小写转换
echo AsFs | tr a-z A-Z
mail命令发送报表(sendmail)
mail -s 'Server daily report' example@gmail.com < /root/report.txt
查看邮件队列:sendmail -bp
VIM批量注释行
原文:http://karronqiu.wordpress.com/2005/11/24/%E4%BD%BF%E7%94%A8vim%E6%89%B9%E9%87%8F%E6%B3%A8%E9%87%8A%E5%92%8C%E6%89%B9%E9%87%8F%E5%8F%8D%E6%B3%A8%E9%87%8A/
在编写代码的时候经常要注释一大段代码,一行行的注释当然是最傻的方法了,在vim里面可以这样做:
移到要开始注释的那行,Ctrl+v进入可视化列选择模式,移到光标到最后需要注释的行(注意,如果你知道行号,可以使用行号G(大写的G)快速跳到该行),然后按I(大写),进入插入模式,输入注释符,比如C++/C#/Java是//,然后按ESC键回到命令模式,看到奇迹发生了吧?!
取某日志文件的第x-y行的内容
方法一:awk '{ if ( NR>7 && NR<15 ) {print $0 } }' testlog.log #取出了8到14行的内容
方法二:sed -n '8,14p' testlog.log

浙公网安备 33010602011771号