发布时间:2026/8/27 18:49:06
Linux日常开发常用命令、脚本 1.Linux服务器系统常用命令启动防火墙 systemctlstartfirewalld 查询防火墙状态systemctl status firewalld 停止防火墙 systemctl disable firewalld 禁用防火墙 systemctl stop firewalld 重启防火墙firewall-cmd--reload 查询防火墙所有的zonefirewall-cmd--list-all-zones 查询防火墙的默认zonefirewall-cmd--get-default-zone 查询开放服务、端口firewall-cmd--list-all 查询所有开放的端口firewall-cmd--list-port 添加指定需要开放的端口firewall-cmd--zonepublic--permanent--add-port80/tcp 关闭某个开放端口firewall-cmd--zonepublic--permanent--remove-port80/tcp 开放mysql端口firewall-cmd--add-servicemysql 阻止http端口firewall-cmd--remove-servicehttp 查看开放的服务firewall-cmd--list-services 创建ipset文件firewall-cmd--permanent--new-ipsetip_white--typehash:ip 添加ipset地址firewall-cmd--permanent--ipsetip_white--add-entry172.25.241.101 添加ipset富规则firewall-cmd--permanent--zonepublic--add-rich-rulerule familyipv4 port port3306 protocoltcp source ipsetip_white accept删除ipset富规则firewall-cmd--permanent--zonepublic--remove-rich-rulerule familyipv4 port port3306 protocoltcp source ipsetip_white accept重启网络systemctl restart network 重新加载配置文件source/etc/profile 分析Hash,Vector过滤且取最后20条最新日志 sed-n/Hash,Vector/ppdu.log|tail-20f 添加网络路由语法route add-net ip地址 netmask 子网掩码 gw 网关 dev 网卡接口 添加网络路由案例route add-net 10.0.99.0 netmask 255.255.255.0 gw 10.0.50.1 dev eth1 添加永久路由语法echoany net ip地址/子网掩码 gw 网关/etc/sysconfig/static-routes 添加永久路由案例echoany net 10.0.80.0/24 gw 10.0.81.1/etc/sysconfig/static-routes 服务器抓包语法 tcpdump-i 网卡名 host ip地址 and port 端口-w 保存cap文件 服务器抓包案例 tcpdump-i eth1 host 8.17.0.73 and port 8530-w a.cap 本地端口转发语法ssh-L 本地ip:本地端口:目标ip:目标端口 用户名ssh机器IP-p ssh机器端口 本地端口转发案例ssh-L 127.0.0.1:3377:172.25.242.17:3307 user134.95.3.133-p 22 远程端口转发语法ssh-R 公网ip:公网端口:目标ip:目标端口 用户名公网ssh机器IP-p 公网ssh机器端口 远程端口转发案例ssh-R 8.210.48.140:8080:192.168.1.10:8089 root8.210.48.140-p 22 远程端口转发注意事项 公网服务器防火墙需要开放远程转发的公网端口。 公网IP建议配置为0.0.0.0任意地址ssh-R 0.0.0.0:8080:192.168.1.10:8089 root8.210.48.140-p 22 公网服务器执行 vim/etc/ssh/sshd_config 命令打开文件 编辑 GatewayPorts yes 启用远程端口转发 根据文件名模糊匹配(多级目录)文件find./-name*.zip根据PID(105072)查找路径/proc/105072/cwd 查找文件内容-单个关键字匹配grep[-A(后n行)/-B(前n行)/-C(前后n行)]n(数字)内容查找文件内容-单个关键字匹配案例grep-A 10world查找文件内容-多个关键字匹配grep-Eword1|word2|word3filename.txt 清空文件内容truncate-s 0 filename.txt 查看磁盘空间du-sh*查找磁盘中最大的n个文件du-ah./|sort-rh|head-n 10 重启网络配置systemctl restart network 路由追踪traceroute ip-T-p 端口 实时查询服务器资源信息top-c 查询进程下线程所占用的资源psH-eo pid,tid,%cpu|grep pid 查询进程下线程所占用的资源top-H-p pid 十六进制打印线程IDprintf0x%x\ntid 定位栈资源消耗位置jstack pid|grep hexTid-A20 批量杀死进程ps-ef|grepprocess_name|grep-v grep|awk{print $2}|xargskill-9 清空日志文件echo xxx.log 释放buf/cache缓存echo3 /proc/sys/vm/drop_caches 配置mysql环境变量export PATH$PATH:/usr/local/mysql-8.0.32/bin 递归删除当前目录以zip结尾的文件find./-name*.zip|xargs-t-I{}rm{}配置sudo-i切换管理员权限vim/etc/sudoers 文件中101行添加 union ALL(ALL)NOPASSWD:ALL 配置 ss-sport eq :22 查看22端口有多少个连接 ss-tnp state established|grep :3306 查看3306端口有多少连接数 查询数据动态替换字符tail-200f info.log|grep信息|grep-Ea|b|seds/payload:[^]*/payload:null/gvim命令替换内容%s/\V127.0.0.1/127.0.0.2/gcnslookup-typeA 域名 nslookup-typeAAAA 域名# linux服务器禁止ping-临时生效重启后失效sysctl-w net.ipv4.icmp_echo_ignore_all1# linux服务器禁止ping-永久生效推荐echonet.ipv4.icmp_echo_ignore_all1/etc/sysctl.conf sysctl-p ## 2.服务器开启远程debug启动脚本powershell#远程debug启动nohup java-Xdebug-agentlib:jdwptransportdt_socket,servery,suspendn,address5005-jar netty.jar--spring.profiles.activedev netty.log 21 #无日志输出启动nohup java-jar netty.jar--spring.profiles.activedev /dev/null 21 #shell脚本启动echoecho 执行SHELL脚本 echo jarserver.jarpidps-ef|grep$jar|grep-vgrep|awk{print $2}kill-9$pidif[$?-ne0];thenechosystem.out.printkill pid$pidfailedexit0elseechosystem.out.printkill pid$pidsucceedfi nohup java-jar$jar--spring.profiles.activeprod /dev/null 21 if[$?-ne0];thenechosystem.out.print启动$jar应用failedelseechosystem.out.print启动$jar应用succeedfiecho echo#将脚本配置成服务# vim /etc/systemd/system/kafka.service[Unit]DescriptionApache Kafka Server Documentationhttp://kafka.apache.org/documentation.html Requireszookeeper.service[Service]Typesimple ExecStart/usr/local/kafka/bin/kafka-server-start.sh/usr/local/kafka/config/server.properties ExecStop/usr/local/kafka/bin/kafka-server-stop.sh Restarton-abnormal[Install]WantedBymulti-user.target3.防火墙配置# 格式 1: 单个 IP 地址firewall-cmd--permanent--zonepublic--add-source192.168.1.100# 格式 2: CIDR 网段firewall-cmd--permanent--zonepublic--add-source192.168.1.0/24# 格式 3: ipset 集合推荐用于大量 IP# 先创建 ipsetfirewall-cmd--permanent--new-ipsettrusted-users--typehash:ip# 添加 IP 到集合firewall-cmd--permanent--ipsettrusted-users--add-entry10.0.0.1 firewall-cmd--permanent--ipsettrusted-users--add-entry10.0.0.2# 绑定到 zonefirewall-cmd--permanent--zonepublic--add-sourceipset:trusted-users ┌─────────────────────────────────────────────────────────┐ │ 数据包到达系统 │ └────────────────────┬────────────────────────────────────┘ │ ▼ ┌────────────────────────┐ │ 提取数据包的源地址 │ │(source IP address)│ └────────────┬───────────┘ │ ▼ ┌────────────────────────┐ │ 遍历所有 zone 的 │ │ sources 配置 │ │ ┌──────────────────┐ │ │ │ 匹配单个 IP │ │ │ │ 匹配 CIDR 网段 │ │ │ │ 匹配 ipset 集合 │ │ │ └──────────────────┘ │ └────────────┬───────────┘ │ ┌──────────┴──────────┐ │ 找到匹配 │ 未找到匹配 ▼ ▼ ┌─────────────────┐ ┌─────────────────────┐ │ ✅ 使用该 zone │ │ ❌ 进入 interfaces │ │ ✅ 跳过 interfaces│ │ 匹配流程 │ │ ✅ 应用该 zone │ │ │ │ 所有规则 │ │ │ └─────────────────┘ └─────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ Sources 未匹配进入 Interfaces 匹配流程 │ └────────────────────┬────────────────────────────────────┘ │ ▼ ┌────────────────────────┐ │ 提取数据包进入的 │ │ 网卡接口名称 │ │(如eth0,ens33)│ └────────────┬───────────┘ │ ▼ ┌────────────────────────┐ │ 遍历所有 zone 的 │ │ interfaces 配置 │ └────────────┬───────────┘ │ ┌──────────┴──────────┐ │ 找到匹配 │ 未找到匹配 ▼ ▼ ┌─────────────────┐ ┌─────────────────────┐ │ ✅ 使用该 zone │ │ ❌ 使用 default │ │ ✅ 应用该 zone │ │ zone 处理 │ │ 所有规则 │ │ │ └─────────────────┘ └─────────────────────┘# 场景两个 zone 都有相同的 source谁生效# 创建测试 zonefirewall-cmd--permanent--new-zonetest-zone-1 firewall-cmd--permanent--new-zonetest-zone-2# 同一个 IP 绑定到两个 zone后绑定的覆盖先绑定的firewall-cmd--permanent--zonetest-zone-1--add-source192.168.1.50 firewall-cmd--permanent--zonetest-zone-2--add-source192.168.1.50 firewall-cmd--reload# 查询该 IP 属于哪个 zonefirewall-cmd--get-zone-of-source192.168.1.50# 输出test-zone-2后配置的生效# 查看一个源地址匹配的所有 zone理论上只应返回一个firewall-cmd--list-sources--zonetest-zone-24. 文件权限#设置脚本所属用户及用户组chown user:user./run#设置脚本执行权限建议按需最小化授权避免使用 777chmod 755./run ## 6.远程服务器端口检测powershell#测试udp端口是否启动nc-uzv ip port#测试tcp端口是否启动nc-zv#测试tcp端口是否启动telnet仅能测试tcp协议的端口telnet ip port7.密文子网划分 十进制IP172.16.37.65/28 二进制IP10101100.00010000.00100101.01000001 子网掩码11111111.11111111.11111111.11110000/28 十进制子网掩码255.255.255.240 4位主机位32-24 2^4 16-3 13 网段172.16.37.64 网关172.16.37.65 广播172.16.37.798.socks5:ssh-D 0.0.0.0:1080-N-T-f unicom0.0.0.0#配置全局代理System.setProperty(socksProxyHost,ipAddr);System.setProperty(socksProxyPort,1080);#代理验证curl-x socks5://proxyIp:1080 http://accessTargetIp:8081/pc/#/loginSocketAddress addr new InetSocketAddress(accessIp,80);Proxy proxy new Proxy(Proxy.Type.HTTP,addr);URL url new URL(http://www.example.com);URLConnection conn url.openConnection(proxy,url);#参数详解0.0.0.0:1080 当前服务器代理端口 username0.0.0.0 代理服务器-N‌不执行远程命令仅用于端口转发。当使用-N 时ssh 不会尝试登录远程主机而是直接进入后台运行状态仅处理端口转发请求。 ‌ ‌-f‌将 ssh 命令切换到后台运行避免占用当前终端。 docker离线安装 https://blog.csdn.net/ZachLi/article/details/154990020

相关新闻

2026/8/27 18:49:06

Pikachu靶场(Cross-Site Scripting)

Cross-Site Scripting反射型xss(get)源代码修改限制地址栏反射性xss(post)存储型xssDOM型xss-xxss盲打xss之过滤xss之htmlspecialcharsxss之href输出xss之js输出Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故…

2026/8/27 18:49:06

腾讯T 13大佬“被裁”!我也想这样

前言 我也想年薪200多万干个十几年被裁,拿上不菲的赔偿,回老家潇洒。 很多人在这个行业干上十几年都要回去了吧,那么这么想大佬这样也其实很正常,虽然得到这个消息还是有点难以置信。怎么看腾讯T13技术大佬被曝遭裁员?…

2026/8/27 18:49:06

爆火的 ChatGPT,会成为程序员的 “就业杀手” 吗?

前言 即使你过去从不关心科技领域,最近应该都被一个叫 “ChatGPT” 的人工智能刷屏。 与上一任 “全球网红” 元宇宙不同,这位新晋的 “全能网友” 来势汹汹,互联网上盛传它将要抢走一大批人的饭碗。 有人认为,随着 ChatGPT 技术的…

2026/8/27 19:24:15

从财报电话会议到AI生产力:企业AI落地的工程化实践指南

每年财报季,我都会抽出时间做一件看起来和写代码没什么关系的事:翻一遍头部公司的财报电话会议记录。不是关心股价,而是想从高管的口径里判断,这一轮 AI 技术到底是在讲故事,还是已经进入工程落地阶段。 这两年的变化…

2026/8/27 19:24:15

LeetCode 153:找旋转排序数组中的最小值(二分查找) —— 题解

👋 欢迎阅读 🎯 欢迎来到「寻找旋转排序数组中的最小值」题解之旅! 本文将带你从"在旋转过的有序序列中找最小元素"这一直观场景出发,深入理解二段性二分的巧妙运用,并掌握如何与右端点比较判断所在段来在 O…

2026/8/27 19:24:15

蓝桥杯单片机国赛备考:从模块化设计到实时系统架构的工程实践

1. 从“真题”到“实战”:第五届国赛的独特价值与备考定位 如果你正在准备蓝桥杯单片机国赛,手头肯定不缺历年真题。但第五届国赛的真题,在我看来,是承前启后的一个关键节点。它不像早期几届那样,还在摸索题型和难度&a…

2026/8/27 19:24:15

embOS-MPU:RTOS内存保护单元实现任务级安全隔离实践

1. 为什么嵌入式系统突然需要“安全”了做嵌入式开发十来年,早年我们聊“嵌入式安全”,大家第一反应就是给设备加把锁、把固件加密、防抄板。但随着物联网设备大规模铺开,事情早就变了。现在终端设备面临的威胁不是“能不能被拆开读写Flash”…

2026/8/27 19:19:15

低功耗安全MCU实战:从选型到量产的关键设计与避坑指南

去年帮客户做一款无线传感器节点,对方提的需求特别直接:电池要撑一年以上,板子要做进一个硬币大小的空间里,还要能防住最基本的固件抄板。三个条件摆在一起,普通的通用MCU就有点不够看了。挑了一圈,最后还是…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/27 10:58:22

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/27 7:46:21

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/27 0:01:16

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:01:16

LeetCode Hot100(51-60)算法精解与面试技巧

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

2026/8/27 0:01:16

CRC校验实战:从模2除法到HJ212协议排错

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/26 19:34:05

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…