普通视图

Linux下的程序日志查询grep组合拳

2025年7月28日 10:38

正式教学

核心的工具其实还是 grep 命令,下面我将分场景给你讲讲我的实战经验,保证你能直接套用!

场景一:查异常堆栈,不能只看一行!

Java 异常堆栈通常都是多行的,仅仅用 grep "NullPointerException" 只能看到最上面那一行,问题根源在哪你压根找不到。

这时候使用 grep-A (After) 参数来显示匹配行之后的 N 行。

# 查找 NullPointerException,并显示后面 50 行
grep -A 50 "java.lang.NullPointerException" a.log

如果你发现异常太多,屏幕一闪而过,也可以用 less 加上分页查看:

grep -A 50 "java.lang.NullPointerException" a.log | less

less 视图中,你可以:

  • 使用 箭头↑↓Page Up/Down 键来上下滚动

  • 输入 G 直接翻到末尾,方便快速查看最新的日志

  • 输入 /Exception 继续搜索

  • q 键退出

这样你就能 第一时间拿到完整异常上下文信息,告别反复 vi + / 的低效操作!


场景二:实时看新日志怎么打出来的

如果你的应用正在运行,并且你怀疑它会随时抛出异常,你可以实时监控日志文件的增长。

使用 tail -f 结合 grep

# 实时监控 a.log 文件的新增内容,并只显示包含 "java.lang.NullPointerException" 的行及其后50行
tail -f a.log | grep -A 50 "java.lang.NullPointerException"

只要异常一出现,它就会自动打出来,堆栈信息也一并送到你面前!

  • 想停下?Ctrl + C

  • 想更准确?加 -i 忽略大小写,防止大小写拼错找不到


场景三:翻历史日志 or 查压缩日志

服务器上的日志一般都会按天或按大小分割并压缩,变成 .log.2025-07-02.gz 这种格式,查找这些文件的异常信息怎么办?

查找当前目录所有 .log 文件:

# 在当前目录下查找所有以 .log 结尾的文件,-H 参数可以顺便打印出文件名
grep -H -A 50 "java.lang.NullPointerException" *.log

其中 -H 会帮你打印出 是哪个文件 中出现的问题,防止你找完还不知道是哪天的事。

查找 .gz 文件(压缩日志):

zgrep -H -A 50 "java.lang.NullPointerException" *.gz

zgrep 是专门处理 .gzgrep,它的功能和 grep 完全一样,无需手动解压,直接开整!


场景四:统计异常数量(快速判断异常是否频繁)

有时候你需要知道某个异常到底出现了多少次,是偶发还是成灾,使用 grep -c(count):

grep -c "java.lang.NullPointerException" a.log

如果你要统计所有日志里的数量:

grep -c "java.lang.NullPointerException" *.log

其他常用的 grep 参数

参数 作用
-B N 匹配行之前的 N 行(Before)
-A N 匹配行之后的 N 行(After)
-C N 匹配行上下共 N 行(Context)
-i 忽略大小写
-H 显示匹配的文件名
-r 递归搜索目录下所有文件

比如:

grep -C 25 "java.lang.NullPointerException" a.log

这个命令就能让你一眼看到异常前后的上下文,帮助定位代码逻辑是不是哪里先出问题了。

一脚油门要花多少钱? 保时捷卡宴/Cayenne油耗看: 每脚油门成本

一脚油门要花多少钱?——从保时捷 Cayenne 油耗看“每脚油门成本” 很多人开车从不去想:

我这一脚油门,到底花了多少钱?
最近我在算自家 Porsche Cayenne 的用油成本时,顺便研究了一下“每脚油门或刹车”到底值多少钱。大概估算了一下,确实很费油。 只要经常在城里开,MPG就很低,显示 12 MPG,卡宴SUV真是耗油。如果经常开高速,MPG能20多。一般油耗正常的大概平均三四十。我之前的手动档奥迪A6就很省油,2.0的引擎MPG大概平均三四十。 [caption id="attachment_70188" align="alignnone" width="1442"]保时捷卡宴在城里开堵车的情况下 MPG只有12左右 保时捷卡宴在城里开堵车的情况下 MPG只有12左右[/caption]

一、已知条件

项目数值
车型Porsche Cayenne
平均油耗(城市堵车)12 MPG
平均油耗(综合路况)20 MPG
油价£1.379 / 升
满油成本约 £100
满油续航约 480–500 英里
从油箱续航和油价推算,一箱油约 72.5 升,说明油耗与这些数据是匹配的。

二、每英里油钱是多少?

油耗 20 MPG(英里/加仑):
  • 1 英制加仑 = 4.546 升
  • 每英里耗油:1 ÷ 20 × 4.546 ≈ 0.2273 升/英里
  • 油价 £1.379/L → 每英里油费:0.2273 × 1.379 ≈ £0.313 ≈ 31.3 便士/英里
结论:平均每跑一英里(约 1.6 公里),花 £0.31(约 2.8 元人民币)

三、刹车/油门频率假设

路况平均速度每英里刹车/加速次数
高速路约 60 mph1–2 次(取 1.5)
城市道路约 30 mph4–5 次(取 4.5)
假设:一半路程是城市,一半是高速,每次油门/刹车都消耗部分动能,高速加速比城市加速动能高约 4 倍。

四、推导每次油门的能耗成本

设城市每次油门成本为 s(便士),高速每次油门成本 h = 4s。 每英里燃油费用分配:
  • 高速每英里耗 = 1.5 × h = 6s
  • 城市每英里耗 = 4.5 × s
平均每英里燃油成本: (6s + 4.5s)/2 = 5.25s 已知每英里成本 31.3p → 5.25s = 31.3 → s ≈ 5.97p 于是:
场景每次油门成本
城市(30 mph)≈ 6p (£0.06 ≈ 0.55元)
高速(60 mph)≈ 24p (£0.24 ≈ 2.2元)
检验(代回每英里总花费):(1.5×24 + 4.5×6)/2 = 31.3p/英里

五、平均每脚油门/刹车多少钱?

综合两种路况,一英里平均约有 3 次油门或刹车操作(这里简单认为一次油门对应一次刹车,方便计算): 31.3 ÷ 3 ≈ 10.4p/次 也就是说:平均每踩一脚油门或刹车,约花 10 便士(≈0.9 元人民币)

六、为什么高速刹车更“贵”?

动能与速度平方成正比:[math] E = \frac{1}{2}mv^2 [/math] 速度翻倍(30 → 60 mph),动能增加 4 倍。高速刹车次数少,但每次损失更大,所以“少而贵”。

七、省油小建议

  • 🚫 少急加速(尤其城市堵车)
  • 🚦 提前预判,尽量滑行减速
  • ⚙️ 保持匀速行驶,减少频繁启停

八、总结一览表

项目数值说明
平均油耗20 MPG综合路况
油价£1.379/L英国 95# 汽油
每英里油费£0.313 ≈ 31p
城市每脚油门≈ 6p
高速每脚油门≈ 24p
平均每脚油门≈ 10p约 0.9 元人民币

九、结语

在堵车或城市驾驶中,每脚油门大约要花 6 便士;在高速上,一脚油门可能要 24 便士。你每一次无意识的加速、刹车,其实都能在钱包里听见响声。 [show_file file="/var/www/wp-post-common/justyy.com/car-insurance.php"]

相关文章:

  1. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  2. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  3. 第一次私校家长会: 原来家长比孩子还卷 前几天参加了娃的第一次家长会,和几位家长聊下来,真是个个都很厉害。不光孩子们卷,家长也一样卷,一眼望去基本都是 Dr/博士。娃还调侃我一句:“这有什么的,你不也是 Dr 吗?” 我心里默默想:还好没写学校名字,不然我这野鸡大学的头衔真拿不出手 😂。 私校里真是人才济济,乐器过 8 级的太常见了,卷得不得了。我还问过娃,是想当 big fish in a small pond...
  4. 怎么样移动WordPress博客的评论? 有时候WP的博客评论并非留在我们想要的博文中, 这也许是看了好几篇博文后突然想留下个评论导致的. 为了有利于SEO, 评论还是尽量的留在相关文章或者页面里. 这时候我们就需要移动指定的几条评论. 我们可以通过SQL语句(高级用户) 或者插件(一般用户) 两种方法来移动Wordpress评论. 怎么样通过SQL来移动Wordpress评论? 如果你对SQL很熟悉, 懂得登陆MySQL 控制台或者是使用 PHPMyAdmin等 数据库管理平台, 那么你就可以通过以下方法来移动Wordpress评论....
  5. 比特币最近波动有点大: 一天牛市一天熊 比特币10万美金以内都是最后上车的机会! 比特币近期的价格波动可以归因于多个关键因素,包括地缘政治动态、监管变化以及加密行业内的重大安全事件。其中一个主要影响因素是美国前总统唐纳德·特朗普对乌克兰和加密货币监管的立场变化。据报道,特朗普再次当选,他可能会推动减少美国对乌克兰的支持,这可能会影响全球金融市场和风险偏好。同时,特朗普正在将自己塑造为亲加密货币的候选人,表示有意让美国成为一个更加友好的加密货币环境。这一立场引发了市场对监管政策可能发生变化的猜测,导致市场情绪在乐观和不确定性之间波动。 特朗普对俄乌战争的态度 美国第43届总统唐纳德·特朗普已经在2025年1月当选并正式上任(第二次),那么他的政策可能会对比特币价格的波动产生更加直接和显著的影响。他政府对乌克兰和加密货币监管的立场已经不再是猜测,而是正在实际塑造市场的关键力量。 特朗普(Donald Trump)减少美国对乌克兰的支持,全球投资者可能会预期地缘政治稳定性发生变化,从而增加对比特币作为避险资产的需求。同时,他的亲加密货币立场可能正在推动市场的乐观情绪。如果他的政府推出有利于加密行业的监管政策,例如明确的合规指南或减少监管审查,可能会吸引更多机构投资者进入市场,并促进更广泛的加密货币采用。然而,政策的快速变化也可能导致短期市场剧烈波动,因为市场需要时间来消化新的政策动向。 朝鲜黑客盗取Bybit交易所15亿美元的ETH 另一个显著影响比特币价格的事件是近期涉及朝鲜黑客组织“Lazarus”的15亿美元以太坊被盗案件。据报道,Bybit交易所(全球第二)这些被盗的ETH已经被清洗,此次大规模黑客攻击引发了人们对加密行业安全性的担忧。此类安全事件不仅会削弱投资者信心,还可能引发更严格的监管审查,导致短期市场动荡。此外,被盗资金的大规模流动和出售可能对市场流动性造成冲击,进一步加大价格波动。随着这些事件的持续发酵,比特币价格正受到政治决策、监管预期以及安全挑战等多重因素的影响。 与此同时,与朝鲜黑客组织 Lazarus 相关的 15 亿美元以太坊被盗事件仍在影响加密市场。由于这些被盗 ETH 已被清洗,人们对加密行业安全漏洞的担忧持续存在,同时也可能引发更严格的监管审查。政治、监管和安全等多重因素交织在一起,共同导致了比特币近期的剧烈价格波动。...
  6. 微信PC端程序占用了1.39 TB的空间! 快速清理微信占用空间 前两天我的 C 盘剩余空间突然变红了,我随手一查,竟然发现微信 PC 端程序居然占用了 1.39 TB 的空间,简直不可思议。在手机上,微信同样是名列前茅的“吞空间大户”,在 设置 → 通用 → 手机存储空间 里几乎稳居第一。 更离谱的是,这些空间大多并不是因为聊天记录,而是各种缓存文件、视频、图片和被动接收的文件所堆积起来的。平时我们只是点开看一眼,就算没保存下来,微信也会悄悄把它们留在本地,占据大量磁盘。尤其是群聊里转发的视频和文件,日积月累就成了一个“隐形黑洞”。...
  7. 花钱让人换汽车钥匙的电池真是个智商税 今天想不到我这么聪明的人也被人狠狠的收了一把智商税. 今天被收智商税了, 去 Tesco 换车钥匙的电池. . 才发现如此的简单, 那人直接2分钟搞定2个, 然后收了我25英镑. . 服了. . 我还以为很复杂…… 网友说 “1....
  8. 老婆的配偶签证被拒 郁闷死了, 601镑签证费打水漂,一去不回!费钱费力. 去年12月份我请了律师拿到了永居.老婆是T1G签证的陪工签 (DEPENDENT VISA) 2016年4月份到期. 然后我就想说得趁早把她的签证转成配偶签(SPOUSE)这样她就可以尽快走五年永居的路线. 今天收到拒签信,原因是我没有提供 有工资进帐的那份银行帐单,我提供了我和我老婆的联名帐户, 但是工资并不是直接打到这个帐单上的.所以就这一点被拒了.完全不给解释,不给补材料的机会.601镑就这样再见了. 英国的签证寄出之后是先由另一个部门先收费, 收完费才正式审理,而且不管结果如何是不退钱的.后悔没让律师弄,也不至于到现在浪费这么多时间和金钱,签证还没过.由于原签证还没到期,所以还不能上述.估计只能等搬完家后年底请律师搞定这事. 真是郁闷, 600镑, 我可以再买一个IPHONE6,或者给我的新买的车换四个轮胎....

知识的并发症

2025年11月24日 11:00

Humachine 里整理的是原本发布在 Telegram 频道的内容,积累到足够的时候,就可以分类整理成册。今天来聊聊人们在获取所谓「知识」时的「并发症」——信息错误恐惧症。


你他妈要学早就学会了

下午跟一个朋友在聊「信息源」,他那个手机我真的是没眼看,各种软件的角标都是 99+,我问他为什么不点掉,他说这些都是他订阅了各种信息推送的软件,有空就会点开看,我就问他看你也没空啊,这么多角标就说明你看的没有推送得快啊,但是他有舍不得清理这些角标,现在甚至已经进化到了,自己只要看到角标就觉得自己还有「学习的冲动」。

他真的是什么东西看到都会订阅,而且理由都是自己有空了可以学习。一方面他对信息源有非常挑剔,总觉得是要得是有用的信息,可以激发自己学习。所以就变成了 99+,但是他也没有时间去看,又总觉得东西囤在那里是一种正面积极的反馈

我问他那就从今天开始每天看掉 10 个最新的推送,然后自己用一句话总结理解了什么,他说「没时间」——那你妈不是为了有时间的时候学习吗,然后又开始跟我焦虑,说这么多信息要每天 10 个看完要很久,而且每天自然推送就会超过几百个。

算了,错失恐惧症晚期,没救了,至少现在 99+还能给他心理安慰。


知识的沙漠

继续 FOMO(信息错失恐惧症)的话题,昨天提到的那位朋友,不停向我强调「有用」这件事,但是这种有用又非常的割裂,比如当他关注的某个频道在偶尔一次讨论了自己并不认同、不感兴趣、甚至是相违背的内容时,他就会立马判定为「没用」。反过来,这算不算是一种确认信息偏差的作茧自缚呢?当然,我认为人们总是在追求与自己观点相符的观点这件事,是出于本能和无意识,只不过并不是所有人都会停下来抛开关心思维重新思考「为什么」,为什么别人会提出这样的观点。

以上的动作,又会被认定为「浪费时间」。如果你问人工智能如何解决 FOMO,他们可以头头是道的告诉你一大堆方法论,什么学会区分信息与知识;建立过滤系统;决绝成为算法的节点;学会延迟满足巴拉巴拉……但这些方法论没有解决一个本质问题:焦虑的来源。

1、追求「知识」的目的是什么?我要比别人懂更多?我要运用在实际场景?我依旧保持学生时代的只要我记录得够多就能证明我很努力?

核心:知识不是捷径,不会因为你学到一句话,便可以理解一本书的全部内容,就跟五分钟看完电影一样,捷径会给人暂时的「高效」罢了;

行为:如果因为一句话对一本书/一部电影产生了兴趣,你会去花时间看完整本书/整部电影吗?

2、我在用「知识」切断「感受」和「回应」吗?

当“感受”和“回应”越分离,人们就会本能地逃亡到知识之中,去寻求自己的存在感,总觉得我懂得越多、理解得越多,就越能看懂这个世界。(《知识越多越堕落》

核心:你在用知识逃避什么?(我并没有说所有追求知识的人,都是在逃避)当初有很多人嘲讽我进行每日写作,认为一个人没有沉淀和积累,是不可能进行每日写作的。等到我完成了第一次的 500 日,他们依旧没有写任何内容,因为他们还在「准备」。

行为:知识带来的麻痹感,是因为它无限延长了「回应」的部分,正是因为它需要长时间的积累才能产出结果,所以人们总觉得这一天回来,以及我可以永远等待这一天。

3、我只对自己感兴趣。确认信息偏差的核心不是人们在追求支持自己观点的观点,而是因为他们在乎的是「支持」这件事,因此他们才会通过忽略或轻视的方式去规避那些「不支持」自己的观点。

核心:眼睛里只有自己并不是「错误的」,只是他们会因为这种偏差性,渐渐将自己困在一个知识茧房里面。我当年在大学的读书会惹过众怒,我评价那些三天两头就要组织读书会的人,他们在看完一本书,会着急将这本书的知识「分享」出来一样,这个分享的过程不是学习,而是我需要你们看看我,我读完了这本书,我现在比你们懂得多啦。

行为:这件事又回到了最开始的知识的目的,将信息视为知识的目的,是为了证明自己拥有了知识,还是将它视为需要时间沉淀和实践验证的理论?当然,以上没有对错,看个人选择。

以上,分别就是「感受」「知识」「回应」。切断任何一个,或是只追求其中一个,都会陷入知识海洋的虚无当中。借由昨天评论里一位朋友的评价,我觉得非常到位:知识的沙漠。

在这个沙漠里,是继续朝着虚无的海市蜃楼前进,还是停下来回头回到原点,去重新寻找「知识的目的」。


你不思考得到的东西永远都是没用的

另一个点是,很多人总是在追求「这和我有什么关系」,觉得只要说的东西是「没用」的就切断信息源。

不养狗的人可以从养狗人身上学到东西吗?虽然我不能说我在教,但很多东西的底层逻辑就是通的。举个例子,你哪怕是要开一个孩子的日托班,就跟狗的日托班一样,你觉得最重要的是什么?是照顾好孩子?这当然是最重要的,但孩子消费者手上转移出来的「标的物」,那么消费者为什么要托管自己的孩子?这才是要搞清楚的需求点——因为他们需要暂时摆脱孩子,摆脱的原因有很多,但摆脱这件事是重要的,以及摆脱之后他们能得到什么?

这个时候有人就道貌岸然了,「哎呀家长怎么会舍得摆脱自己的孩子」——那你就自己照顾啊!没时间、没精力,这是客观原因吗?不,这是主观选择,是你自己选择了一份需要牺牲更多亲子时间工作、事业、甚至是决定。

底层逻辑的「有用」就在这里,你如果是这个产品的设计者,明面上是对孩子照顾得当,而潜在需要解决的,是抵消家长把孩子进行托管的「罪恶感」,甚至是通过孩子托管给他们创造更多的需求。比如一些岛屿国家的海岸度假村,他们都会设定小孩子的托管服务,可以让家长在一整天的时间里都「不用考虑」孩子,全身心地投入度假。而这些星级酒店始终在做一件事,他们将孩子组织起来做各种游戏,但必须避免这些孩子在酒店的区域里与他们的家长有任何空间上的交集。

这项服务非常昂贵,但绝大多数带孩子的家长都愿意购买这个服务。

回到狗公园,为什么家长愿意将狗寄托在狗公园,因为可以让狗在大自然自由自在的奔跑,这是他们最想要的——好了,抵消了饲主的分离焦虑。


太长了不想看

解决了「没用」,来解决另一个更具迷幻性的东西——太长了我不想看。那这不是我的问题,当然你可以扣上一个时代性的帽子,即「现在大家都更偏向更短、更精简的内容」。

至于为什么太长了不想看,这倒是可以追问自己的问题。不过需要提醒的是,如果这个答案是外归因结论,比如「我不喜欢这个人」「这个人的观点有失偏颇」「他表达的方式我不喜欢」等等把原因都指向了第三方,那我建议还是回到信息茧房里比较好,因为一旦需要接受新的逻辑和观点,对这类人来说是极其痛苦的,所以才会利用「惰性思考」,优先排除这些信息源。解决方案就是在外归因的结论下多问一个「为什么」,即我为什么会不喜欢这个人,是因为厌恶个体,还是厌恶符号?

借用著名的后宫政治学家甄嬛的一句话:

「能不能看明白是你的能力,写不写得出来是我的本事。」

(p.s.最近老婆在客厅回顾《甄嬛传》)

❌