linux
常用
// 开端口
firewall-cmd --zone=public --add-port=8086/tcp --permanent
// 刷新防火墙:
firewall-cmd --reload
// 完整jar包运行命令
java -Dwmp.env.name=163 -Dlog4j2.formatMsgNoLookups=true -Xms3512m -Xmx5024m -jar wmpms-longaodata-service.jar --spring.profiles.active=prod
系统信息
hostnamectl:显示主机名、操作系统版本、架构和时区等信息。
lscpu:显示 CPU 的详细信息,如架构、处理器频率、核心数、型号、虚拟化类型和缓存大小等。
df -h:以人类可读格式显示磁盘空间使用情况,包括文件系统、总容量、已用空间、可用空间和挂载点等信息。
free:显示内存使用情况,包括总内存、已用内存、空闲内存、缓冲和缓存等信息。
1、free:显示内存使用情况,包括总内存、已用内存、空闲内存、缓冲和缓存等信息。
默认 -k
total: 物理内存的大小,就是机器实际的内存大小;
used: 已使用的内存大小,这个值包括了cache和应用程序实际使用的内存;
free: 尚未被使用的内存大小;
shared: 共享内存的大小;
buff/cache: 被缓冲区和缓存占用的内存大小;
available: 该项是新版的free中增加的一项,表示可用内存大小。
网络
telnet
telnet [主机名或IP地址] [端口号]
wget
// 测试通不通
wget --spider http://10.80.24.97:40404/CertShare/queryCertInfoByHolderCode
// get
wget --header="appKey: 9987555424256" \
--header="userIp: 172.122.22.63" \
--header="Authorization: Bearer eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiIsInVjIjoiMzFjZGI4YWUzZTkyMTFlZmJkZmEwMjQyM2M3NTZmMzUiLCJ0b2tlbl90eXBlIjoxfQ.eyJpc3MiOiJ2323lRzhNQ3IzTHJYVHZoblB1WlluZUlRNjlua3ZzVzgyVCIsImlhdCI6MTczNzM2MjUzMH0.lv8HrAw8pf4xDWMcr3-0kzcxwlG28GoW1912cclb7nA" \
-O response.txt \
http://172.20.88.204/gateway/api/1/hjxxxxjk?gmsfhm=370210519340129051124
// post
wget --method=POST \
--header="Content-Type: application/json" \
--header="appkey: 1183721282132647097344" \
--body-data='{
"head": {
"accessId": "J321CSJ3213GL",
"accessToken": "8A00F7732131B1BC49F7B8337CDC7507D475"
},
"data": {
"holderCode": "37010219321318208263749",
"holderTypeCode": "111",
"certTypeCode": "11100003210000013127D004",
"certIdentifier": "",
"certNo": "",
"useCause": {
"certificateSystemName": "微笑数据",
"certificateCallCategory": "0",
"certificateMatterName": "个人电子证照查询",
"certificateEventCode": "113700000045023213158552372014020002",
"certificateCopyCause": "个人电子证照查询"
}
}
}' \
-O response.txt \
http://172.230.828.204/gateway/api/1/jmhkmhqzzxxjks
curl
“小红”要转为“%E5%B0%8F%E7%BA%A2”
转化网站:URL Encode and Decode - Online
curl -v "http://10.80.8.138:8081/apiRoute/gateway/3707wfbinzang?token=9d99afb1eaba4b4a8c73872824e9d32c&NAME=%E5%B0%8F%E7%BA%A2&ID_CARD=370881199910203022"
kfka
./kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092 --command-config ../config/sasl.properties
./kafka-topics.sh --delete --topic hz_jryfdxsczt-single-contrast --bootstrap-server 127.0.0.1:9092 --command-config ../config/sasl.properties
定时任务
// 打开 crontab 编辑器
crontab -e
// 添加定时任务
0 2 * * * /home/user/scripts/delete_logs.sh
// 保存并退出编辑器
// 查看定时任务
crontab -l
执行脚本换行符
使用 vim
编辑器
// 打开脚本文件
vim wmp-hzdata-log-delete.sh
// 进入命令模式(确保没有处于插入模式),输入以下命令:
:set fileformat=unix
// 保存并退出:
:wq
mybatsi
// 时间格式处理
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
and date_format(cr.create_time , '%Y-%m-%d') between #{startTime} AND #{endTime}
</if>
// updata
<update id="update5">
UPDATE big_temporary_external_05
<set>
<if test="area != null and area != ''">area = #{area},</if>
<if test="address != null and address != ''">address = #{address},</if>
</set>
WHERE sfzh = #{sfzh}
</update>
// foreach
<foreach collection="param.departmentIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
// insert
<insert id="addQrqc">
INSERT INTO big_renkou_qrqc
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hujixxMap.name != null and hujixxMap.name != ''">name,</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="hujixxMap.name != null and hujixxMap.name != ''">#{hujixxMap.name},</if>
</trim>
</insert>
// like
model_name LIKE concat("%",#{modelName}, "%")
sql
// case 和 json 语句
(case t.is_result ->> '$.siwang.status' when '1' then '是' else '否' end)
// case
CASE
WHEN salary < 5000 THEN '低薪员工'
WHEN salary >= 5000 AND salary < 10000 THEN '中等薪水员工'
ELSE '高薪员工'
END AS salary_description
// 清空表
TRUNCATE TABLE 表名;
// 递归查询子节点 父子结构的数据,且查询结果不包括父节点
<select id="getChildMenuIds" resultType="java.lang.Integer">
WITH RECURSIVE menu_tree AS (
SELECT id
FROM sys_menu
WHERE parent_id = #{menuId}
UNION ALL
SELECT m.id
FROM sys_menu m
JOIN menu_tree mt ON m.parent_id = mt.id
)
SELECT id FROM menu_tree
</select>
nginx
配置文件转发(http快内 server快上): include /etc/nginx/*.conf;
配置文件生效:nginx -s reload
启动:./nginx
java
身份证号用于提取出生年份
public class Main {
public static void main(String[] args) {
String idCardNumber = "身份证号码"; // 替换为实际的身份证号码
// 判断身份证号位数,根据位数提取出生年份
int length = idCardNumber.length();
int birthYear;
if (length == 15) {
String yearStr = idCardNumber.substring(6, 8);
int year = Integer.parseInt(yearStr);
birthYear = 1900 + year;
} else if (length == 18) {
String yearStr = idCardNumber.substring(6, 10);
birthYear = Integer.parseInt(yearStr);
} else {
System.out.println("无效的身份证号码");
return;
}
System.out.println("出生年份:" + birthYear);
}
}
程序运行时间 秒
long startTime = System.currentTimeMillis();
// 记录结束时间
long endTime = System.currentTimeMillis();
// 计算运行时间(秒)
double duration = (endTime - startTime) / 1000.0;
System.out.println("employmentXcgg:" + records.size() + ":程序执行时间:" + duration + " 秒");
windows
// 根据端口号杀死进程
netstat -aon|findstr "8096"
taskkill /pid 25876 /f
redis
// 写入键值对,你可以为这个键设置一个值,例如 value:
SET loginuser:account:user_token_651a0be0-0cdd-4617-ae1d-1226051383c7 value