Linux后台调试常用命令及工具总结

一.Linux基本命令:

1.grep, awk , sed搜索字符

grep -n 关键字  filename

-n显示行号

grep -C 3 -n 关键字  filename

-C num可以查看上下文匹配前后num行;

-r 递归搜索指定目录;

awk可以对shell返回的文本进行行列过滤;

sed 用于字符替换

sed ‘s/原str/新str/‘      仅替换第一个匹配

sed ‘s/原str/新str/g‘      替换所有匹配

2.ls和ll

  -R可递归查看子目录下的所有文件;

 -lrt 按照修改时间升序排序;

-- full -time  加后缀可显示更详细的修改时间戳;

-h 显示文件大小,以k/M单位显示;

3.wc 

wc -c  filename  统计一个文件里的字节数;

wc -w filename  统计一个文件里的字数;

wc -l filename   统计一个文件里的行数;

4.uptime  查看系统启动时间和load负载情况;

5.ulimit  

ulimit  -a   显示用户使用资源的限制;

ulimit  -u    设置最大进程数;

ulimit  -n     设置最大文件句柄数;

6.curl  url

curl  -d ‘abc=def‘ url   指定post方法请求

curl  -i  url  查看响应头信息;

curl  -I  url   查看http头信息;

curl  -sw‘%{http_code}‘  url   查看http响应码;

7.dos2unix/unix2dos   filename    转换windows/unix的换行符;

 

二.Linux后台调试常用命令总结

1.监控进程的命令

1.1. ps 

ps aux/ajx  查看所有进程

ps -ef | grep "process_name" | grep -v grep 检测process_name是否存活;

-v grep 不包含grep一行

1.2 top

top -Hp  PID 查看具体进程占用CPU.内存情况

1.3.pidstat

pidstat -urd -p PID   查看进程资源

-u 查看CPU开销情况;

-r 查看内存开销;

-d 查看磁盘IO使用情况;

2.查看内存的命令

free -h            aviliable = free+buffer_cache

3.监控CPU的命令

vmstat     不能查看每个core的信息;

mpstat    可查看每个核的统计信息、

应用:mpstat -ALL 5 2  打印所有core 每5s打印一次,产生2次,实际可以看到3次的数据;

查看CPU信息: cat  /proc/cpuinfo

获取CPU核数: grep ‘model name‘ /proc/cpuinfo | wc -l

4.查看磁盘IO的命令

iostat  可查看磁盘读写速度

swapon  查看分区情况;

df  磁盘使用情况;

du  查看目录文件大小;

三.Linux后台网络调试常用工具总结

3.1 ifconfig  查看和设置网络配置

3.2  telnet ip  port  远程连接主机;

3.3  nc   验证服务器端口是否开发,注意只有端口准入才可以访问;

应用一:确认端口是否存活;

nc -l 9999   现在测试机器上开启9999端口;

nc -vw 2 IP  9999  确认9999端口是否存活

应用二:测试网速

机器A: nc -l 9999 > /dev/null

机器B: nc IP 9999 < /dev/zero

机器A: sar -n DEV  2 100000

3.4  mtr  连通性测试工具

常用来测试丢包率:  mtr url

3.5  nslookup  DNS域名解析工具;

3.6  tracerout   url   查看请求走过的路径

3.6  sar  多功能检测工具, 可以每秒输出网卡存取速度;

3.7 netstat 查看端口状态

ps -ef | grep process_name   查看PID

netstat -nap | grep PID  查看指定进程的端口状态;

3.8 tcpdump  抓包工具

tcpdump  -i eth_name -c 2  抓两条报文后自动退出;

tcpdump  -i eth_name host  IP  抓来/去 目的IP的通讯报文数据(src/des);

tcpdump  -i eth_name ‘des IP and tcp and port 8080‘  抓去往IP8080端口的tcp包;

3.9   nmap扫描主机打开端口及服务信息,

nmap  -v A  localhost   具体的还需要查看防火墙的设置;

3.10  ethtool    查看网卡配置情况;

3.11   lsof系统管理,安全的尤伯工具,可以列出所打开的文件,linux系统下一切皆文件;

应用:

lsof -i :port   在知道某个端口的前提下,查看某个端口被那个进程占用;

lsof -p  PID  查看指定进程打开了哪些文件;

lsof -c   process_name   查看process_name这个进程现在打开了那些文件;

常用网络调试工具总结:

1.ipstraf   可查看TCP连接

tcpdump

wireshark

lsof

ethtool 查看网卡配置情况;

 

四.其他高级工具

pstack PID  打印进程调用栈信息,需要结合汇编代码看详细位置; 

strace  系统调用工具,可监控进程使用的系统调用

/proc/  文件系统,查看内核内数据结构的能力;

tail   日志监控工具;

性能监控工具:

pmap  查看进程内存状态;

nmon  性能监控;

w -h 查看谁登陆了系统调用了那些程序;

glances 系统监控工具。可以用来监控系统的进程,CPU,内存,IO

 

若有错误的地方请多多指正

Linux后台调试常用命令及工具总结

上一篇:【NetDIY智能主控】开发计划


下一篇:使用-O0编译Linux内核的某些部分