<5>linux 服务器常用工具

曾经计了很多有用的工具和笔记,缺因为不小心丢失掉,于是把博客当做笔记本,记录下这些常用的工具

1  linux命令nc
`"nc -l port 可以监听这个端口 。也可以用telnet连接,不过一次只有一个连接
用nc ip port就可以连接这个端口, 但是要防止ip白名单,有时候会经常公司ip对机房是白名单,公司就可以任意连接,但是外面却不同。
然后再用strace 可以看到基本的tcp发送消息过程

2  时间戳的转化 两个互转
date -d "1970-1-1 UTC 1348070400 seconds"
date -d "2012-09-20" +%s

3 wireshark的简单实用
// wireshark使用说明
1  进入选择网卡
2  tcp.port==7065 过滤规则用这个参数
tcp.port==8001 && ip.addr==192.168.100.144  wireshark然后用apply

4 mysql的简单命令

//查看存储过程z`
show procedure status;  查看全部
show create procedure UpdateMoneyExpEx;
show create table mahjong_membertable;可以查看表的信息,引擎等,innnodb是个硬盘存储的

怎么在终端上查询sql语句,将结果dump到文件里面
mysql -uuser -Pport -h address  -ppasswd databases  -e "select * from table where time > 1355742000 and time < 1355749200 and level = 61;" > logtable.log

查看符合某个条件的语句总条数
select count(*) from billiards_logmember where time > 1364530767 and uid < 0;

5 火狐的插件


关于查看falsh最后更新时间的方法
采用firefox的httpfox
在查找框中键入.swf就可以查看swf文件的时间
last-modified
从而就知道, 要注意把缓存清空,cache是看不了的

6 vim中常用的括号匹配快捷键
% 匹配当前括号,
[ + {是匹配最近的括号,大的项目中还是挺有用的

7 强大的awk常用命令
http://search.discuz.qq.com/s/828399146/awk%E5%88%97%E6%B1%82%E5%92%8C.html

9 ps命令的 -w -e
-e 可以是个pattern 例如 grep -e "-l 54"
-w 是匹配完整的词,例如 grep -w 54 那么 543就不会被匹配
-i  忽略大小写
-n 打印行号

10 怎么用ps查看进程启动的具体时间,而不是只看到哪天启动
ps -A -opid,stime,etime,args
结果:
    PID STIME       ELAPSED COMMAND
      1 May13 14-14:33:08 init
      2 May13 14-14:33:07 [migration/0]
      3 May13 14-14:33:07 [migration/1]
      4 May13 14-14:33:07 [migration/2]
      5 May13 14-14:33:07 [migration/3]
      6 May13 14-14:33:06 [keventd]
      7 May13 14-14:33:06 [ksoftirqd/0]
      8 May13 14-14:33:06 [ksoftirqd/1]
      9 May13 14-14:33:06 [ksoftirqd/2]
     10 May13 14-14:33:06 [ksoftirqd/3]
     13 May13 14-14:33:06 [bdflush]
     11 May13 14-14:33:06 [kswapd]
     12 May13 14-14:33:06 [kscand]
     14 May13 14-14:33:06 [kupdated]
……

其中ELAPSED(etime)就是运行时间,dd-hh24:mi:ss,拿当前时间减它。



11 tcpdump
tcpdump -i eth0 host 192.168.102.174 and  port 4439
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.

其中,对于我们日常的分析有用的就是前面的五个字段。
它们的含义是:
SYN表示建立连接,
FIN表示关闭连接,
ACK表示响应,
PSH表示有 DATA数据传输,
RST表示连接重置。
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。

关于tcpdump的两篇文章
http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

关于tcpdump的几种状态
http://www.cnblogs.com/azraelly/archive/2012/12/25/2832393.html

12知道一个网站的域名,
经常可以 点击网站的web框(非flash框),然后再点击审查元素,可以看到为域名的网址


13  查询某个表中的数据,按照某个字段排序,取10条
select * from billiards_tableslog order by time desc limit 10;
从billiards_tableslog 按照时间排序time, 取10条语句实例


14 一个重要的vim 替换命令
n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

15 vim中快速加减命令
在normal模式下,ctrl+a 是加1命令,对数字加1
                ctrl+x是减1命令,对数字减1

16  linux下缩减提示名字的命令
可以用echo $PS1 来查看当前的设置
可以 在home目录的.bashrc中设置PS1的值


17
如果希望vi 不区分大小写,那么可以使用 :set ignorecase 命令。使用 :set noignorecase 恢复区分大小写。还可以使用简写(:set ic 和 :set noic)。如果希望每次进入vi 会话时都启用不区分大小写的搜索

18 tcp相关的各种概念
http://www.cnblogs.com/visily/archive/2013/03/15/2961190.html

19.
据说可以恢复linux误删文件
http://hi.baidu.com/higkoo/item/9c435a436180b2a961d7b9db

20
linux虚拟机设置局域网共享
http://blog.sina.com.cn/s/blog_4dcf4a2c0100qakt.html

猜你喜欢

转载自ZacMa.iteye.com/blog/1730605