cd /user 进入user目录
ls 查看当前目录下的所有子目录(只列出文件名称)
ll 查看当前目录下的所有子目录(列出来的结果详细,有时间,是否可读写等信息)
pwd 查看当前文件路径
mkdir test 创建一个叫做 'test' 的目录'
mkdir test1 test2 同时创建两个目录
mkdir -p /tmp/test1/test2 创建一个目录树
rm -rf text 删除一个叫text的文件
cp -r '要复制的文件路径' '需要保持的文件路径'
查看进程 ps -elf 或者 ps aus
netstat -naop | grep pid 全部端口中查找进程号为 pid 的 信息(可查看端口号)
查看日志常用命令
tail -f xxx.log 实时查看日志信息
tail -fn 200 xxx.log 实时查看200行之后的日志信息
grep '你要搜索的字符串' console.2019-06-17.log 通过关键字搜索日志
cat -n XXXX.log|grep "关键词" 查看到关键词相关日志及行号
cat -n 500 catalina.out.2019-11-07|grep 'xxx' 查看日志最后面500行出现 关键字‘xxx’的内容
cat 文件名 | grep -C 20 ‘关键字’ 显示文件里匹配关键字那行以及上下20行
cat 文件名 | grep -B 20 ‘关键字’ 显示关键字及前20行
cat 文件名 | grep -A 20 ‘关键字’ 显示关键字及后20行
A:表示在字符串之后 after context
B:表示在字符串之前 before context
C: 表示字符串前后
-i: 表示忽略大小写。
例:cat catalina.out|grep -B 50 -i "NullPointerException"
当然,如果我们想获取异常日志的前10行和后10行,不用加-A和-B,使用如下命令就可以了:
实例:cat catalina.out|grep -10 -i 'NullPointerException'
或者:grep -10 -i 'NullPointerException' catalina.out
-v 过滤关键字相关日志
tail -f catalina.out|grep -v 'xxxxx' 过滤掉包含'xxxxx'的日志
关键字查找进阶写法(关键字出现首次/最后一次的位置,管道符后面,加上head/tail命令就行)
查找关键字最后一次出现的位置:grep -A 50 '定时任务开启' nohup.out | tail -21
查找关键字首次出现的位置:grep -A 50 '定时任务开启' nohup.out | head -21
端口号占用解决命令
1、查看被占用端口:netstat -ano | findstr 被占用端口号
2、查看端口号对应的进程: tasklist | findstr 进程号
3、强制、递归 删除本程序及其子进程: taskkill -f -t -im 进程名
jvm相关命令查看堆栈信息: jmap -heap 进程id
生成dump文件:jmap -dump:format=b,file=文件名.dump {进程id}
查看垃圾回收频率:jstat -gcutil 1122 2000 (1122是进程id,2000为打印间隔时间,时间单位为毫秒)
编辑文件内容vi xxx.log 显示文件内容 点击a或者i进入编辑模式
esc退出编辑模式, 然后:q!强制退出或者:wq保存并退出编辑
有时候无法编辑文件:终端提示符是$:表示普通用户,此时可以输su回车,需要输入root密码,会变成#:表示root用户
打包部署命令查看maven版本:mvn -v
打包部署:mvn clean package -Dmaven.test.skip=true
启动:nohup java -jar xxx.jar & 注:nohup 即使关闭了ssh,可以后台运行
创建脚本文件:vim test.sh
赋予最高权限:chmod +x test.sh
Nginx启动命令输入 “nginx路径 -c 配置文件路径”,本例中是 “/usr/local/openresty/nginx/symdzt/nginx -c /usr/local/openresty/nginx/conf/nginx.conf”。
停止命令:nginx -s stop
上传下载文件命令上传:rz
下载:sz
如果linux上没有这两个命令工具,则需要先安装。可以使用yum安装。运行命令yum install lrzsz
解压:tar -zxvf xxx.tar.gz
复制:cp 需要复制的文件 复制后的文件 (注意:复制后的文件不能跟复制前的文件名称一样,否者会报错)
关闭防火墙:systemctl stop firewalld
查看进程:ps -ef|grep zookeeper
cmd命令记录dir 查看当前文件目录
cd ../ 返回上一级目录
tasklist /fi "imagename eq nginx.exe" 查找nginx.exe相关进程
taskkill /pid 100508 -f 杀掉pid为100508的进程
nginx -s stop 关闭进程
start nginx 启动进程
redis相关命令./redis-server & // 加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。
./redis-cli // 启动客户端
keys * // 查看所有key
set 【key】 【value】 // 创建一个key
del 【key,,,,】 // 删除一个key或者多个key
启动集群
./redis-trib.rb create --replicas 1 192.168.37.131:7001 192.168.37.131:7002.... // 启动一个集群(通过redis-trib.rb管理)
./redis1/redis-cli -c -h 192.168.37.131 -p 7001 // 已集群方式登录客户端,其中-c表示以集群方式连接redis,-h指定ip地址,-p指定端口号
cluster nodes // 进入集群后可以查看集群信息
cluster info // 进入集群后可以查看集群状态信息
集群添加master节点
./redis-trib.rb add-node 192.168.37.131:7007 192.168.37.131:7001 // 集群中添加一个节点
./redis-trib.rb reshard 192.168.37.131:7001 // 连上集群中的一个master节点
然后输入你要分配的槽点数(比如:1000),然后输入要分配的节点ID,输入接收槽的结点id--》输入源结点id --》输入yes开始移动槽到目标结点id
集群中添加slave节点:./redis-trib.rb add-node --slave --master-id 主节点id 添加节点的ip和端口 集群中已存在节点ip和端口
删除集群节点:./redis-trib.rb del-node 192.168.37.131:7007 5d6c61ecff23bff3b0fb01a86c66d882f2d402a0
RocketMQ相关命令停止RocketMQ
1.停止NameServer
sh ymdzt/mqshutdown namesrv2.停止Broker
sh ymdzt/mqshutdown broker再次使用jps命令查看就发现NamesrvStartup和BrokerStartup进程不存在了
启动RocketMQ
1.启动NameServer:sh ymdzt/mqnamesrv &
2.查看启动日志:tail -f ~/logs/rocketmqlogs/namesrv.log
3.启动Broker:sh ymdzt/mqbroker -n localhost:9876 &
查看启动日志:tail -f ~/logs/rocketmqlogs/broker.log
使用jps命令查看进程
NamesrvStartup和BrokerStartup进程是否存在,存在代表RocketMQ成功启动
查看pod所有命名空间
kubectl get pod --all-namespaces
查看所有镜像
kubectl images
查看某个镜像维护
kubectl exec -it my-service-2342fdgd34-t6zms -n my-service -- /ymdzt/bash
查看堆内存占用情况
jstat -gccause 1 2000
查看日志
kubectl logs -f pod/my-service-75d4d3456c4-12324 -n my-service