一、线程端口
1、查询进程内部的线程数量
ps -ef | grep 进程名称 | grep -v grep | awk ‘{print $2}’ | xargs ps -Lf | wc -l
2、查询进程 启动时间
ps -eo pid,lstart,cmd | grep 进程名称
3、查询端口是否被占用
netstat -anp |grep 端口号
4、根据应用名称,直接杀掉进程
sudo ps -ef | grep 名称 | grep -v grep | awk ‘{print $2}’ | xargs kill -9
可组合使用实现一键启停jar项目
sudo ps -ef | grep 名称.jar | grep -v grep | awk ‘{print $2}’ | xargs kill -9
sleep 1
./启动脚本.sh
5、Liunx中 Buff/Cache占比过高解决方法
drop_caches的值可以是0-3之间的数字,代表不同的含义
0:不释放(系统默认值)、1:释放页缓存、2:释放dentries和inodes、3:释放所有缓存
echo 3 > /proc/sys/vm/drop_caches
二、文件查找与搜索
1、搜索指定目录下的文件
例如想查询 home 目录下所有以text开头的文件
find /home -name test.*
2、搜索指定目录下超过指定大小的文件
例如想搜索 home 下,超过500M大小的文件
find /home -type f -size +500M
3、搜索指定目录下,文件内包含指定内容的文件
例如想搜索 home 下,文件内容包含“哈哈哈”的文件
find /home -type f -exec grep -H “哈哈哈” {} +
4、查询文件夹占用空间大小
查询opt下,各文件夹占用空间
du -h --max-depth=1 /opt | sort -hr | head -n 10
解释
du: 磁盘使用情况统计命令。
-h: 以人类可读的格式显示(例如,自动使用K、M或G为单位)。
–max-depth=1: 只查看一级子目录的磁盘使用情况。
/opt: 从opt目录开始统计,根据需要可以更改为其他目录。
sort -hr: 按照人类可读的数字大小进行逆序排序。
head -n 10: 只显示前10个结果。
5、df 和 dh 统计占用空间差距太大
#安装插件
yum install lsof
#查询系统已删除,但被进程占用,无法释放的文件,
lsof |grep delete
根据下图所示寻找对应进程重启即可
三、压缩、解压文件
1、zip压缩文件夹
例如想压缩搜索 【home 下 dist】 文件夹,并且命名【dist.zip】
zip -r dist.zip /home/dist
2、zip解压文件
例如想解压当前文件夹下的【dist.zip】文件 到当前目录
unzip dist.zip
3、tar压缩文件夹
例如想压缩当前文件夹,并且命名【dist.tar.gz】
tar -czvf dist.tar.gz dist
4、tar解压文件
例如想解压当前文件夹下的【dist.tar.gz】到当前目录
tar -zxvf dist.tar.gz
四、杂
1、查看当前系统中登录的用户数量
who
2、MySql查询当前table表空间大小
select concat(round(sum(data_length / 1024 / 1024), 2), ‘MB’) as data,
DATA_LENGTH,
concat(round(sum(INDEX_LENGTH / 1024 / 1024), 2), ‘MB’) as data,
INDEX_LENGTH,
TABLE_ROWS
from information_schema.tables
where table_schema = ‘yn_js_manage’
and table_name = ‘sys_log’;
3、查询当前系统端口占用
netstat -tuln
4、linux修改ssh端口号
1、修改配置文件
vim /etc/ssh/sshd_config
2、重启ssh服务(如果是阿里云服务器,记得在安全组增加“端口”访问策略)
systemctl restart sshd
5、网络宽带使用查询
安装NetHogs
参考:https://blog.youkuaiyun.com/omaidb/article/details/120691692
yum install nethogs -y
查看进程流量
nethogs eth0
6、mysqlbinlog:生成指定时间内,带注释的语句
有四个参数可以选择性加入:
开始pos点:–start-position=953
结束pos点:–stop-position=1437
起始时间点:–start-datetime=“2022-03-25 00:00:00”
结束时间点:–stop-datetime=“2022-03-26 00:00:00”
示例
# 查询指定时间范围内的数据(加密)
mysqlbinlog --start-datetime="2025-02-10 21:41:10" --stop-datetime="2025-02-10 21:41:19" mysql-bin.004061
# 查询指定pos范围内的数据(加密)
mysqlbinlog --start-position=156642641 --stop-position=156649641 mysql-bin.004061
# 查询指定时间范围内的数据(解密显示)
mysqlbinlog -v --base64-output=DECODE-ROWS --start-datetime="2025-02-10 21:41:10" --stop-datetime="2025-02-10 21:41:19" mysql-bin.004061
7、mysql索引重构:生成指定时间内,带注释的语句
在MySQL中,索引重构通常指的是重新构建索引以提高其性能或优化其结构。索引重构可以包括重建索引以消除碎片、更改索引的类型(例如从普通索引改为唯一索引),或者在某些情况下,重建索引以适应新的数据模式或查询优化。
OPTIMIZE TABLE tablename;
8、mysql备份表异常Statement violates GTID consistency
[HY000][1786] Statement violates GTID consistency: CREATE TABLE … SELECT.
CREATE TABLE cus_car_owner_balance_24_04_22 LIKE cus_car_owner_balance;
INSERT INTO cus_car_owner_balance_24_04_22 SELECT * FROM cus_car_owner_balance;