linux常用命令
# 日志排查工具
# 获取JVM ID(JAVA 进程ID),通过参数lv可以获取更详细的JAVA方法调用信息
jps -lv
# 生成dump文件
# dump jvm 线程栈
jstack pid > dump_file_name
jstack -l 123 >> d:/123.txt
# 分析dump:
- 查看最耗CPU的进程 top
- 查看最耗CPU的进程的线程 top -H -p pid
- 线程id转16进制
- 获取java进程的线程dump信息 jstack pid > jstack.txt
- 第3步获取的16进制线程id,在dump信息里面查找 ps -mp 24 -o THREAD,tid,timeprintf "%x\n" tid jstack 24 | grep '指定线程名称' -A 60
# 查询当前目录所有文件内容
grep -rn "python3.9" *
# 实时监控输出日志
tail -f catalina.out | grep 'xxx'
less -f catalina.2018-08-02.log |grep "11:30"
# 截取一个时间段的日志信息
- sed -n '/02-Aug-2018 11:30/,/02-Aug-2018 11:40/p' catalina.2018-08-02.log
- awk '$1>起始时间&&$1<结束时间' 日志文件
- grep 成功 sed -n '/2018-09-06 16:00:00/,/2018-09-06 17:00:00/p' all.2018-09-06.log
- grep '2009-09-27 1[0-1]' httpd.log 这个是 10-11点的数据
- sed -n '/2017-12-22 13:30:00/,/2017-12-22 18:00:00/p' 2017-12-22.log.txt | grep 'open.app' | wc -l
# zip日志查询
zcat erp_finance-all-2018-09-24.0.log.zip | grep '获取增值费明细数据结束'
# 根据时间查询日志,显示上下10行
sed -n '/2018-08-06 14:55:54/,/2018-08-06 14:59:00/p' erp_wms_callback.log | grep 'InsertStorageInExceptionData' -C 10
# 最近一条日志
grep '查询库内异常结果' erp_instorage.log | tail -n 1
# 统计记录数
grep -c '' xxx.log
# grep与查询
grep 'xxxxxx' erp_outstorage.log | grep 'ssssss'
# grep或查询
grep 'xxxxxx' | grep 'ssssss' erp_outstorage.log
# 全词匹配
grep -w '1011234569' catalina.out
# 环绕搜索显示前3行和后2行
grep -B 3 -A 2 'Invalid user' /var/log/auth.log
# 结果集太多分页
grep “find string” file | less -R
# 获取一个文件的最后几行
tail -f /var/log/auth.log | grep 'Invalid user'
# less命令
# less 日志
# 1. 从后往前
按住 Shift+G移动到最后一行 这个直接就是最后一行,从尾到头
# 2.向前翻页
Ctrl+B 向前一页
# 3.从前往后
Ctrl+G 文件第一条开始,从头到尾
按F键,是向前查看 forword
按B键,是向后查看 backword
# 搜索
当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会被高亮显示。
- 向前搜索 / : 使用一个模式进行搜索,并定位到下一个匹配的文本n : 向前查找下一个匹配的文本N : 向后查找前一个匹配的文本
- 向后搜索 ? : 使用模式进行搜索,并定位到前一个匹配的文本n : 向后查找下一个匹配的文本N : 向前查找前一个匹配的文本
- 全屏导航 ctrl + F :向前移动一屏ctrl + B :向后移动一屏ctrl + D :向前移动半屏ctrl + U :向后移动半屏
- 单行导航 j : 向下移动一行k : 向上移动一行
- 其它导航 G : 移动到最后一行g : 移动到第一行按空格:向下翻一页b:向上翻一页d:向下翻半页u:向上翻半页q / ZZ : 退出 less 命令
# 浏览多个文件
less file1 file2
# 上传/下载文件
- 上传 rz linux
- 下载 sz file linux
# 查看进程
ps aux | gerp
# ping端口
telnet [ip] [端口]
# 看端口号被哪个进程占用
lsof -i : 3306
# 端口查看PID
netstat -tunlp | grep 端口
# PID查看进程
ps aux | grep -v grep|grep 24892
# 进程运行时间
ps -eo pid,lstart,etime | grep (pid)
# 查看服务器内存信息
df
# 查看当前目录内存信息
du -h --max-depth=1 ./
du -h
# 目录只显示部分文件
ls -al | grep "^-"
# 只显示文件夹
ls -F | grep "/$"
# 查找目录
find /(查找范围) -name '查找关键字' -type d
# 查找文件
find /(查找范围) -name 查找关键字 -print
# whereis搜索文件
whereis git
# 查看该进程下各个线程的cpu使用情况
top -Hp 23344
# 查看机器内存
free -h
# 关闭所有tomcat
ps -ef | grep java | awk '{print $2}' | xargs kill -9
# linux带格式黏贴(vim编辑)
: set paste
# 压缩&解压
gzip
压缩 gzip buodo
解压 gunzip buodo.gz
tar
压缩 tar -zvcf buodo.tar.gz buodo 或 tar -jvcf buodo.tar.bz2 buodo
解压 tar -zvxf buodo.tar.gz 或 tar -jvxf buodo.tar.bz2
zip
压缩 zip boduo.zip boduo
解压 unzip boduo.zip
压缩和解压目录 zip -r Demo.zip Demo
1、把文件解压到当前目录下
unzip test.zip
2、如果要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip
3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数
unzip -n test.zip unzip -n -d /temp test.zip
4、只看一下zip压缩包中包含哪些文件,不进行解压缩
unzip -l test.zip
5、查看显示的文件列表还包含压缩比率
unzip -v test.zip
6、检查zip文件是否损坏
unzip -t test.zip
7、将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件
unzip -o test.zip -d /tmp/
# ### CPU占用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
# 内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
# 虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
# 查看进程使用内存排名
ps auxw --sort=-rss
# Linux切换用户
su root
# 在关闭防火墙curl时报没有到主机的路由
原文链接:https://blog.csdn.net/m200674067/article/details/79838630
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
# curl请求接口
java RESULT=
curl -H "Content-Type: application/json" -s -X POST -d '{"orderNo":"010888075501000001381300621770231814"}' "http://127.0.0.1:8080/ibkcustomerapi/vip/ibkCustomerAccountChange/info"echo $RESULT;