linux命令整理:
查看进程pid
ps aux |grep $(pwd)
ps -ef|grep `pwd` ( ` 不是 单引号 ,是引用)
telnet
telnet 10.100.8.231 6379 (ip port)
curl http
ping http (ip、http)
#telnet 退出命令 quit
telnet 127.0.0.1 20883 然后ls
#打包
jar cvf JAR/claimv6-`date +%Y%m%d%H%M%S`.jar @jarlist.list
#jar 压缩文件 压缩量大
jar -cvf catalina.out.jar catalina.out
#查找日志
cat -n catalina.out |grep ‘123456’
#查看文件的第90行到100行,
sed -n '90,100p' wang.txt
#查看服务器硬存
df -h
#查看服务器内存
free -m
#查看每个文件夹的大小 到指定的文件下,更合适
du -sh *
查找Linux系统中的占用磁盘空间最大的前10个文件或文件夹
du : 计算出单个文件或者文件夹的磁盘空间占用.
sort : 对文件行或者标准输出行记录排序后输出.
head : 输出文件内容的前面部分.
# du -a /app | sort -n -r | head -n 10
#删除文件没释放
1、lsof /app | grep delete
结果
bash 9646 anxin cwd DIR 253,0 0 1837700 /app/soft/apache-tomcat-7.0.64/webapps/com.isoftstone.iics.www (deleted)
bash 18476 anxin cwd DIR 253,0 0 1841217 /app/soft/apache-tomcat-7.0.64/webapps/com.isoftstone.iics.www/WEB-INF/views/echannel/front-end-bee/member (deleted)
java 26516 anxin 1w REG 253,0 150267564032 3016293 /app/soft/reinsure-apache-tomcat-7.0.64/logs/catalina.out (deleted)
java 26516 anxin 2w REG 253,0 150267564032 3016293 /app/soft/reinsure-apache-tomcat-7.0.64/logs/catalina.out (deleted)
java 26516 anxin 8w REG 253,0 11172 3016315 /app/soft/reinsure-apache-tomcat-7.0.64/logs/catalina.2018-05-07.log (deleted)
java 26516 anxin 10w REG 253,0 0 3016531 /app/soft/reinsure-apache-tomcat-7.0.64/logs/manager.2018-05-07.log (deleted)
java 26516 anxin 11w REG 253,0 0 3016607 /app/soft/reinsure-apache-tomcat-7.0.64/logs/host-manager.2018-05-07.log (deleted)
2、然后kill进程kill -9 26516
3、df -h
#查找大文件中的关键字
less catalina.out (/ 查找关键字 n 向下查找 N 向上查找 G 定位到最后一行)
获取日志的两种方案:
#1、截取日志(2018-04-27 09 修改截取的时间点)
sed -n '/^PCISV6_NVHL_CLAIM 2018-04-27 09:*/,/^PCISV6_NVHL_CLAIM 2018-04-27 10:*/p' catalina.out > 你的文件名.log
2、实时日志录制方式
截取某个时间段的:
sed -n '/^2018-05-29 19:45:30*/,/^2018-05-29 20:11:31*/p' dubbo-demo-provider.log > 你的文件名.log
理赔的日志:
sed -n '/^2019-08-08 10:45:30*/,/^2019-08-08 14:11:31*/p' claimv2-common-dubbo.log
日志查找的方法:
1:按时间段查询grep '2019-06-10 10:3[2-9]' claimv2-report-dubbo.log;
2:按关键字查询 cat claimv2-report-dubbo.log |grep -C 10 '1010055060001180000005214' --color
3:按关键字查询less claimv2-report-dubbo.log 回车然后?关键字(?是从前往后/是从后往前)
4:查询某段时间内的关键字sed -n '/2019-06-11 00:50:34/,/2019-06-11 00:50:35/p' claimv2-report-dubbo.log |grep '1010055060001180000005214'--color
//搜索关键字
cat claimv2-common-dubbo.log | grep "你要搜索的内容"
#查看该进程号对应的线程情况
jstack 18842
#将文件 aaa 更名为 bbb :
mv aaa bbb
vim 删除所有行
:%d
vim 单行
双d 或 单D
#复制文件
cp a.txt 绝对/相对路径
#修改服务器编码UTF-8:jboss用户
1.先查看当前服务器编码:echo $LANG
2.给用户配置UTF-8 find / -name .bash_profile 用户配置文件 cat .bash_profile
export PATH下面添加
export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export LC_COLLATE=zh_CN.UTF-8
关闭连接重新开新的窗口,echo $LANG----或者 如果想立刻生效,则可执行下面的语句: source .bash_profile
环境变量更改后,在用户下次登陆时生效。
3.修改每个项目的启动文件 dubbo项目需要配置/bin/startup.sh web配置catalina.sh
JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"
4.当前路径下的进程: ps -ef|grep `pwd` ( ` 不是 单引号 ,是立即执行)--- kill
4.source /home/jboss/.bash_profile && cd bin/ sh start.sh
5.然后重启 tail -fn 200 logs/stdout.log
#查看隐藏文件
ll -a 或 ls -a
ls -a -h
#mongo dos连接
mongo 10.0.6.14:27017/admin -u mongouser -p abcd!123
#必须在bin目录下执行才能生存log日志文件
sh start.sh
#网络通信-ping
ping www.baidu.com / ping 10.0.0.8.6
#网络通信curl-下载
curl https://cmq-queue-shjr.api.qcloud.com
#切换账户当前是jboss
su jboss
su - jboss (java -version 环境还在 )
ssh jboss@10.0.0.81
#文件重命名 abc修改为bcd
mv abc.txt bcd.sh
#文件转移abc.txt(或文件夹) 转移到/app路径下
mv abc.txt /user/app/def.txt
#内网稳定-公网不稳定存在网络抖动-容易丢失数据
#压缩zip
zip -r test.zip test/*
unzip test.zip
#迁入服务器地址(跨服务拷贝)-- 迁出服务名称 迁入服务器用户名(最好不要用root)
scp -r reinsure-apache-tomcat-7.0.64 jboss@10.100.8.7:/app/java/reinsure-apache-tomcat
#指定JDK版本
web项目中的bin目录下的catalina.sh和setclasspath.sh文件头处均需要添加,maven/dubbo不需要走的是jar
export JAVA_HOME=你指定的JDK路径 如:export JAVA_HOME=/app/soft/jdk1.7.0_79
export JRE_HOME=你指定的JRE路径 如: export JRE_HOME=/app/soft/jdk1.7.0_79/jre
#JVM收集线程情况
1、查看是否内存溢出的命令
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
结果例子:
[jboss@VM_5_2_centos echannel-apache-tomcat-7.0.12-NODE-B]$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 4
CLOSE_WAIT 2
SYN_SENT 1
ESTABLISHED 718
常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关。
2、收集线程的命令(只写命令)
命令1:
打印GC信息:比如当前服务的进程号是18908,在进程的logs层执行 : jstat -gcutil 18908 1s
命令2:
查看应用线程的情况:以当前进程号为18908为例,切换至logs层执行:jstack 18908 > threads_18908.txt
执行完后可在logs层用命令ls展示,会有threads_18908.txt生成,文档会记录当前线程情况;
命令3:
收集当前应用的内存Dump信息:以当前进程号为18908为例,切换到logs层执行:jmap -dump:format=b,file=tomcat18908.hprof 18908
执行完后可在logs层用命令ls展示,会有tomcat18908.hprof生成,hprof文件需要用MAT分析;
手动设置MaxPermSize大小,如果是linux系统,修改TOMCAT_HOME/bin/catalina.sh,如果是windows系统,修改TOMCAT_HOME/bin/catalina.bat,
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
清理日志无需重启服务(不适用于tomcat服务)
> stdout.out
解读:将空字符写入stdout.out文件,全量覆盖
rz 需要安装, 快捷上传 root
yum install lrzsz
从服务端发送文件到客户端:
sz filename
从客户端上传文件到服务端:
rz
垃圾回收状态查看
jstat -gcutil 端口 1000 1000
打包
tar -cvf abc.tar abc.txt
tar -xvf abc.tar
tar -zcvf abc.gz abc.txt
tar -zxvf abc.gz
unzip abc.zip
zip -r abc.txt abc.zip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
jps 命令
ps aux | grep java / nginx / `pwd` '字符串'
etc——linux系统变量的文件地址:
cd /etc
profile 配置全局环境变量,所有用户都生效,用户配置了环境变量的话,优先使用用户的配置
查询当前服务器语言:
echo $lang
NGINX:(建议用root权限)
nginx -v(查看nginx版本)
只能用root 启动nginx, vi/etc/nginx.conf 修改 user nginx 为 user root;
service nginx start(首次启动)
root 重启服务 nginx -s reload(重启)
/usr/sbin/nginx -启动服务
/usr/sbin/nginx -s stop -停止服务
/usr/sbin/nginx -h 命令帮助
/usr/sbin/nginx -t 验证配置文件