运维命令大全-想成为高级运维,必须狠练这21个命令技能(非常详细)从零基础到精通,收藏这篇就够了

一、前言

平常工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。

二、Linux命令类
1、tail

最常用的 tail -f

tail -300f shopbase.log #倒数300行并进入实时监听文件写入模式
2、grep
grep forest f.txt     #文件查找
3、awk
  • 基础命令
awk '{print $4,$6}' f.txt
  • 匹配
awk'/ldb/ {print}' f.txt   #匹配ldb
  • 内建变量

  • NR
    NR 表示从 awk 开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record 的缩写。
  • FNR
    在 awk 处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为 File Number of Record。
  • NF
    NF 表示目前的记录被分割的字段的数目,NF 可以理解为 Number of Field。
4、find
sudo -u admin find /home/admin /tmp /usr -name *.log(多个目录去找)
5、pgm

批量查询 vm-shopbase 满足条件的日志

pgm -A -f vm-shopbase 'cat /home/admin/shopbase/logs/shopbase.log.2017-01-17|grep 2069861630'
6、tsar

tsar是阿里开源的采集工具。很好用, 将历史收集到的数据持久化在磁盘上,所以我们快速来查询历史的系统数据。当然实时的应用情况也是可以查询的啦。大部分机器上都有安装。

tsar###可以查看最近一天的各项指标

tsar --live ###可以查看实时指标,默认五秒一刷

tsar -d 20161218###指定查看某天的数据,貌似最多只能看四个月的数据

tsar --mem

7、top

top 除了看一些基本信息之外,剩下的就是配合来查询vm的各种问题了

ps -ef | grep java top -H -p pid

获得线程10进制转16进制后 jstack 去抓看这个线程到底在干啥

8、其他
netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn  #查看当前连接,注意close_wait偏高的情况,比如如下

三、排查利器
1、btrace

首当其冲的要说的是 btrace。真是生产环境&预发的排查问题大杀器。 简介什么的就不说了。直接上代码干

  • 查看当前谁调用了 ArrayList 的 add 方法,同时只打印当前 ArrayList 的 size 大于 500 的线程调用栈
@OnMethod(clazz = "java.util.ArrayList", method="add", location = @Location(value = Kind.CALL, clazz = "/.*/", method = "/.*/"))
  • 监控当前服务方法被调用时返回的值以及请求的参数
@OnMethod(clazz = "com.xxxxxxx.sellerhome.transfer.biz.impl.C2CApplyerServiceImpl", method="nav", location = @Location(value = Kind.RETURN))

感兴趣的请移步:https://github.com/btraceio/btrace

2、Greys

说几个挺棒的功能(部分功能和btrace重合):

  • sc -df xxx: 输出当前类的详情,包括源码位置和classloader结构
  • trace class method: 相当喜欢这个功能! 很早前可以早 JProfiler 看到这个功能。打印出当前方法调用的耗时情况,细分到每个方法。
3、javOSize

就说一个功能

classes:通过修改了字节码,改变了类的内容,即时生效。 所以可以做到快速的在某个地方打个日志看看输出,缺点是对代码的侵入性太大。但是如果自己知道自己在干嘛,的确是不错的玩意儿。

其他功能 Greys 和 btrace 都能很轻易做的到,不说了。

4、JProfiler

之前判断许多问题要通过JProfiler,但是现在Greys和btrace基本都能搞定了。再加上出问题的基本上都是生产环境(网络隔离),所以基本不怎么使用了,但是还是要标记一下。

官网请移步 https://www.ej-technologies.com/products/jprofiler/overview.html

四、java三板斧,噢不对,是七把
1、jps

我只用一条命令:

sudo -u admin /opt/xxxxx/java/bin/jps -mlvV
2、jstack

普通用法:

sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jstack 2815
native+java栈:
sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jstack -m 2815

3、jinfo

可看系统启动的参数,如下

sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jinfo -flags 2815
4、jmap

两个用途

  • 查看堆的情况
sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jmap -heap 2815

  • dump
sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jmap -dump:live,format=b,file=/tmp/heap2.bin 2815

或者

sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jmap -dump:format=b,file=/tmp/heap3.bin 2815

看看堆都被谁占了? 再配合 zprofiler 和 btrace,排查问题简直是如虎添翼

sudo -u admin /opt/taobao/install/ajdk-8_1_1_fp1-b52/bin/jmap -histo 2815 | head -10

5、jstat

jstat 参数众多,但是使用一个就够了

sudo -u admin /opt/xxx/install/ajdk-8_1_1_fp1-b52/bin/jstat -gcutil 28151000

6、jdb

时至今日,jdb 也是经常使用的。

jdb可以用来预发debug,假设你预发的 java_home 是 /opt/taobao/java/,远程调试端口是8000,那么

sudo -u admin /opt/taobao/java/bin/jdb -attach 8000.

出现以上代表 jdb启动成功。后续可以进行设置断点进行调试。

7、CHLSDB

CHLSDB感觉很多情况下可以看到更好玩的东西,不详细叙述了。 查询资料听说jstack和jmap等工具就是基于它的。

sudo -u admin /opt/taobao/java/bin/java -classpath /opt/XXXXX/java/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB

更详细的可见R大此贴:http://rednaxelafx.iteye.com/blog/1847971

其他
1、dmesg

如果发现自己的 java 进程悄无声息的消失了,几乎没有留下任何线索,那么dmesg一发,很有可能有你想要的。

sudo dmesg|grep -i kill|less

去找关键字oom_killer。找到的结果类似如下:

[6710782.021013] java invoked oom-killer: gfp_mask=0xd0, order=0, oom_adj=0, oom_scoe_adj=0 [6710782.070639] [<ffffffff81118898>] ? oom_kill_process+0x68/0x140  [6710782.257588] Task in /LXC011175068174 killed as a result of limit of /LXC011175068174  [6710784.698347] Memory cgroup out of memory: Kill process 215701 (java) score 854or sacrifice child  [6710784.707978] Killed process 215701, UID 679, (java) total-vm:11017300kB, anon-rss:7152432kB, file-rss:1232kB

以上表明,对应的 java 进程被系统的 OOM Killer 给干掉了,得分为854。

解释一下OOM killer(Out-Of-Memory killer),该机制会监控机器的内存资源消耗。当机器内存耗尽前,该机制会扫描所有的进程(按照一定规则计算,内存占用,时间等),挑选出得分最高的进程,然后杀死,从而保护机器。

dmesg 日志时间转换公式:

log实际时间=格林威治1970-01-01+(当前时间秒数-系统启动至今的秒数+dmesg打印的log时间)秒数:

date -d "1970-01-01 UTC `echo "$(date +%s)-$(cat /proc/uptime|cut -f 1 -d' ')+12288812.926194"|bc ` seconds"

剩下的,就是看看为什么内存这么大,触发了 OOM-Killer 了。

35岁+运维人员的发展与出路

经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?

聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。

1、为什么我建议你学习网络安全?

有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求——白帽黑客。白帽黑客,就是网络安全卫士,他们“低调”行事,同时“身价”不菲。

根据腾讯安全发布的《互联网安全报告》,目前中国**网络安全岗位缺口已达70万,缺口高达95%。**而与网络安全人才需求量逐年递增局面相反的是,每年高校安全专业培养人才仅有3万余人,很多企业却一“将”难求,网络安全人才供应严重匮乏。

这种供求不平衡直接反映在安全工程师的薪资上,简单来说就是:竞争压力小,薪资还很高。

而且安全行业就业非常灵活,既可以就职一家公司从事信息安全维护和研究,也可以当作兼职或成为自由职业者,给SRC平台提交漏洞获取奖金等等。

随着国家和政府的强监管需求,一线城市安全行业近年来已经发展的相当成熟工作机会非常多,二三线城市安全也在逐步得到重视未来将有巨大缺口。

作为运维人员,这几年对于安全的技能要求也将不断提高,现阶段做好未来2到3年的技术储备,有非常大的必要性

2、运维转型成为网络安全工程师,是不是很容易?

运维转安全,因为本身有很好的Linux基础,相对于其他人来说,确实有一定的优势,入门会快一些。
系统管理经验
运维对服务器、网络架构的深度理解,可直接迁移到安全防护场景。例如,熟悉Linux/Windows系统漏洞修补、权限管控,能快速上手安全加固工作。
网络协议与架构知识
运维日常接触TCP/IP、路由协议等,有助于分析网络攻击路径(如DDoS防御、流量异常检测)。
自动化与脚本能力
运维常用的Shell/Python脚本技能,可无缝衔接安全工具开发(如自动化渗透脚本、日志分析工具)。
平滑过渡方向
从安全运维切入,逐步学习渗透测试、漏洞挖掘等技能,利用现有运维经验快速上手。
学习资源丰富
可复用运维工具(如ELK日志分析、Ansible自动化)与安全工具(如Nessus、Metasploit)结合学习,降低转型成本。

3. 转型可以挖漏洞搞副业获取收益挖SRC漏洞

  1. 合法挖洞:在合法的平台上挖掘安全漏洞,提交后可获得奖励。这种方式不仅能够锻炼你的技能,还能为你带来额外的收入。

  2. 平台推荐:

补天:国内领先的网络安全漏洞响应平台。

漏洞盒子:提供丰富的漏洞挖掘任务。

CNVD:国家信息安全漏洞共享平台。

关于我

有不少阅读过我文章的伙伴都知道,笔者曾就职于某大厂安全联合实验室。从事网络安全行业已经好几年,积累了丰富的技能和渗透经验。

在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了互联网安全防护水平。

在这里插入图片描述

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

中兴光猫运维工具包,2025.8更新,自用版本,已内置教程和操作实例、注意事项等参考文档。仅针对中兴光猫(以及找中兴代工的光猫)使用,和其他厂商并不通用。汇集了处理最新固件版本的光猫运维(以开启Telnet为目录的)相关工具,同时保留了用于处理老版本光猫的历史版本,供参考使用。如何开启Telnet的整体方法,以及更多操作(如救砖和其他开启Telnet方式案例)、更多详情和注意事项等,均参见:<https://blog.youkuaiyun.com/zhiyuan411/article/details/128728958> 工具包主要内容与模块 1 开启Telnet工具 该模块提供多种实用工具 用于开启光猫的Telnet服务 这是进行后续高级操作的基础 工具包针对不同版本的光猫和设备平台进行了细致分类 1.1 新版工具 如zteONU_custom_0.0.7 提供Windows Linux amd64 arm64 386 及MacOS Intel arm 多平台版本 适用范围广 并附有使用说明和Mac地址更改指导 1.2 TelnetONU1.5 包含Python脚本和Windows预编译版本 支持通过特定漏洞开启工厂模式 适用于新款天翼4.0等光猫 内置详细教程和测试用例 1.3 历史版本工具 如TelnetONU1.4 保留用于兼容旧型号光猫 确保工具包的全面性 2 配置文件处理工具 该模块是工具包的核心 用于对光猫的配置文件 通常为.cfg或.xml格式 进行解密 编辑和重新加密 2.1 zxcfg工具 v1.2及历史版本 支持Windows 32位 64位 Linux Ubuntu 20.04 x64 及ARM架构设备 提供命令行和批处理脚本 如拖入xml进行打包 解包 可自定义光猫32位密钥进行操作 2.2 ZTE_Patrina可视化工具 提供图形界面 ZTE_Patri
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值