Linux服务器 CentOS7.5 操作小笔记

Linux服务器 CentOS7.5

查看命令所在位置
which java
查看JVM内存情况
# 系统内存使用
free -h
# 查看当前进程
ps -ef | grep java
# 查看JVM内存使用
jstat -gc [pid] 1000 10
jstat -gccapacity [pid] 1000 10
# 每列的含义,新版本JVM中已经没有老年代的区
S0C: 年轻代幸存1区(from区)内存大小 (kB).
S1C: 年轻代幸存2区(to区)内存大小 (kB).
S0U: 年轻代幸存1区已使用内存大小 (kB).
S1U: 年轻代幸存2区已使用内存大小 (kB).
EC: 年轻代eden区内存大小 (kB).
EU: 年轻代eden区已使用内存大小 (kB).
OC: 老年代内存大小 (kB).
OU: 老年代已使用内存大小 (kB).
MC: 元空间内存大小 (kB).
MU: 元空间已使用内存大小 (kB).
CCSC: 压缩类内存大小 (kB).
CCSU: 压缩类已使用内存大小 (kB).
YGC: 年轻代gc次数.
YGCT: 年轻代gc耗时.
FGC: full gc次数.
FGCT: full gc耗时.
GCT: 总gc耗时.
AWK命令
用法:awk [POSIX or GNU style options] -f progfile [--] file ...
用法: awk [POSIX or GNU style options] [--] 'pattern { action }' file ...

// 默认的行分隔符是空格,$0表示整行 每行被分隔成第1列-NF列,$NF表示最后一列
awk '{ print $0 }'
awk '{ print NF,$NF }'
awk '{ print NF,$NF }' file1
// 自定义行分隔符
awk -F ':' '{ print $0 }'
awk -F ':' '{ print NF,$NF }'
awk -F ':' '{ print NF,$NF }' file1
// 根据分隔后的某列进行筛选
awk '$3 == 0 { print $1 }'
awk '$3 == 0 { print $1, $2 * $3 }'
awk '$3 == 0 { print $1 }' file1
awk '$3 == 0 { print "MutilFile",$1 }' file1 file2
// 自定义打印格式
awk '{ printf("金额:%6.2f 原记录:%s\n", $2 * $3, $0) }' file1
// 特殊模式 BEGIN 用于匹配第一个输入文件的第一行之前的位置, END 则用于匹配处理过的最后一个文件的最后一行之后的位置
// 一行上的多个语句,使用分号;分隔
// print ""可以输出一个空行
awk 'BEGIN {print "标题"; print "表头1   表头2   表头3"; print ""} {print $0}' file1
// 使用控制语句/循环语句
awk -F ':' '{if (NF==2) print "success",$0; else print "failure",$0}' file1
awk '{i=1; while (i<10) { print i; i++} }' file1 // 一行执行一次
awk '{x[NF]++} END { print "列数","行数"; for(i in x) print i,x[i]}' file1 // 统计各个列数所包含的行数


# 接口访问统计
cat test.log | grep 'url:' | awk -F "url:|param:" '{print $2}' | sort | uniq -c | sort -rn
# 接口耗时统计
cat test.log | grep 'url:' | awk -F "url:|param:|in:|ms" '{x[$2]+=$(NF-1);y[$2]++} END {for(i in x){print sprintf("%.3f",x[i]/y[i]/1000),x[i],y[i],i}}' | sort -rn
# 接口最耗时前五的访问
cat test.log | grep 'url:/open/auth/addAuthContact' | awk -F "in:|ms" '{print $(NF-1),$0}' | sort -rn | head -5
# QPS
cat test.log | grep 'url:/open' | awk -F " |:" '{x[$2]+=1} END {for(i in x){print sprintf("%.1f",x[i]/3600),x[i],$1,i}}' | sort -rn
# QPS
awk -F " |:" '/url:\/open/{x[$2]+=1} END {for(i in x){print sprintf("%.1f",x[i]/3600),x[i],i}}' logs/test.2019-06-25.0.log | sort -rn

[AWK程序设计语言](https://awk.readthedocs.io/en/latest/chapter-one.html)
服务器端编译Maven项目
mvn clean install -Dmaven.test.skip=true
修复profile修改错误导致常用命令无法使用的问题
# 使用绝对路径修复profile中错误的内容
/bin/vi /etc/profile
# 重设PATH环境变量 --临时有效
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 查看PATH
echo $PATH
防火墙端口操作
# 查看防火墙运行状态  
systemctl status firewalld
# 启动防火墙
systemctl start firewalld
# 查看开启的端口号
firewall-cmd --zone=public --list-ports
# 开启单个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开启区间端口
firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload
# 关闭端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
调整服务器的时区
# 查看当前的时区信息
timedatectl
# 重设时区
timedatectl set-timezone Asia/Jakarta
# 修改profile配置并生效
vim /etc/profile
	ZT='Asia/Jakarta'
	export ZT
source /etc/profile
# 查看结果
date -R
服务器上查看磁盘使用量
df -h
服务器上运行Jar包的命令
# 命令行运行
java -jar test-1.0-SNAPSHOT.jar --debug --spring.profiles.active=prod
# 后台运行
nohup java -jar test-1.0-SNAPSHOT.jar --debug --spring.prot=8080 >> log.txt 2>&1 &
# 从绝对地址读取配置文件运行
java -jar test-1.0-SNAPSHOT.jar --spring.config.location=/item/conf/application.properties
CentOS7下安装Mysql5.7版本数据库
yum install mysql57-community-release-el7-11.noarch.rpm
yum install mysql-community-server
# 启动并设置开机启动
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
# 查看临时密码
vim /var/log/mysqld.log
# 登陆数据库
mysql -u root -p
	# 改变密码验证的等级
	> set global validate_password_policy=LOW;
	> set global validate_password_length=6;
	# 修改密码
	> alter user 'root'@'localhost' identified by '123456';
	# 允许远程登陆
	> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
	> exit
# 设置远程端口开放访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值