自总结shell

来源:互联网 发布:越南经济数据网站 编辑:程序博客网 时间:2024/06/11 01:47

一.用shell脚本读取配置文件
#!/bin/bash

#main函数的运行方式:()加{}
main(){
echo "开始运行man函数";

#读取配置文件用${}的格式。
echo "从配置文件test.properties中读取 参数jiangsu : "${jiangsu};

#return 8;

}
#加载配置文件
. ./test.properties

main ""

#待研究 exit和echo $?
#exit 8;


二.linux中查找:
(1).搜索文件名称:
find -name "aa.xml"

(2).搜索文件中的内容
find | xargs grep "1111"

xargs原理:将参数列表转换成小块分段传递给其他命令
即,将find到的文件每一个 每一个grep“1111”。否则,grep的是文件夹名称。


三.awk的使用(对比和区别xargs)

(1)杀进程(注意看awk是如何从查出的内容中筛选到进程号的)
kill -9 `ps -ef|grep imw-tomcat|grep -v grep|awk '{print$2}'`

(2)awk -F "[分隔符]"  输出位置 |more  分页显示内容

例如:grep "error" SystemOut.log|awk -F"[/]" '{print $1}'|more

四.lsof的使用:

(1)列出所有由某个PID(或多个)对应的进程打开的文件
lsof -p 450,980,333
(2)列出某个用户(比如root)打开的文件
lsof -u root
(3)最常用:列出某个端口的进程 (有点类似于netstat -an|grep 8080)
lsof -i:8080

前面那个awk杀进程的如果知道端口号可以用lsof这么写:kill -9 `lsof -t -i:8080` (-t表示显示进程号)

五.抓包命令(注意使用root用户才能用)
tcpdump -i any -s 0 port 8080 -w safg.cap

tcpdump -i any -s 0 host 10.135.182.105 -w safg.cap

查看:
strings safg.cap


*****六。抓线程堆栈
jstack PID > aa.log

http://crane-ding.iteye.com/blog/968862


或者:
kill -3 PID (会把线程堆栈打在tomcat启动日志目录下)

待学习:
jmap

jmap -histo PID > bb.log

*****七 。vi的小使用
gg到顶  G到底
查找,/以后 回车 ,n向下一个 。N向上一个。

 

******八, 查看磁盘大小
查看磁盘  : df -h

查看文件夹大小:du -sh /home/imwdev
或者: du -sh /home/`ls`

*****九,lsof 是一个列出当前系统打开文件的工具
22端口现在运行的情况:
lsof -i :22

删除表空间后,磁盘空间无法释放,可用到如下命令:
用oracle账户登录
lsof |grep delete

kill -9 PID

0 0
原创粉丝点击