Skip to content

jrnl

jrnl 是终端日记工具,适合快速记录当天发生了什么、想法、复盘和检索。

适合:

1
2
3
4
5
每日复盘
临时想法
学习记录
交易复盘
安全测试过程记录

不适合:

1
2
3
复杂知识库
大量图片笔记
结构很重的项目文档

这些内容继续放 Markdown/Obsidian 更合适。

安装

Fedora:

sudo dnf install jrnl -y

检查:

jrnl --version

第一次运行:

jrnl

会引导创建配置和默认日记。

核心概念

1
2
3
4
5
6
7
jrnl          命令本体
entry         一条日记
timestamp     时间
@tag          标签
--edit        用编辑器写长内容
--on          按日期筛选
-contains     搜索内容

jrnl 的重点是快速写入和快速搜索,不是复杂排版。

快速记录

直接写一条:

jrnl 今天整理了 Taskwarrior  jrnl 的用法

带标签:

jrnl 今天复盘 BTC 走势,主要观察 EMA20 和前高 @trade

记录安全测试:

jrnl 今天测试了 httpx  nuclei 的组合流程 @security @lab

记录学习:

jrnl 看了 fish alias  Taskwarrior 查询语法 @learn @linux

写长日记

打开编辑器写:

jrnl --edit

如果默认编辑器不是 nvim,可以设置环境变量。

临时指定:

EDITOR=nvim jrnl --edit

fish 里长期设置:

set -Ux EDITOR nvim

之后:

jrnl --edit

就会用 nvim。

指定日期

写今天:

jrnl today: 今天完成了 Fedora 工具整理

写昨天:

jrnl yesterday: 昨天主要在看 LazyVim

指定日期:

jrnl 2026-05-27: 配置了终端 todo 和日记工作流

查看日记

查看最近日记:

jrnl

查看今天:

jrnl -on today

查看昨天:

jrnl -on yesterday

查看某天:

jrnl -on 2026-05-27

查看某个时间范围:

jrnl -from 2026-05-01 -until 2026-05-27

搜索

搜索关键词:

jrnl -contains nuclei

搜索标签:

1
2
3
jrnl @trade
jrnl @security
jrnl @linux

组合搜索:

jrnl @trade -contains BTC
jrnl @security -contains nuclei

推荐标签

先少用标签,方便坚持。

1
2
3
4
5
6
7
8
@daily       每日复盘
@linux       Linux/工具配置
@security    安全测试
@lab         实验
@trade       交易复盘
@learn       学习
@idea        想法
@life        生活

例子:

1
2
3
jrnl 今天配置了 fish alias,感觉 Taskwarrior 很适合终端工作流 @linux @daily
jrnl BTC 现在仍在观察区间,不追单,等突破或回踩确认 @trade
jrnl nuclei 模板需要按用途整理,先分 exposure、cve、misconfig @security @lab

和 Taskwarrior 配合

Taskwarrior 放行动项:

task add project:security +lab 测试 nuclei 模板分类

jrnl 放过程和复盘:

jrnl 今天测试了 nuclei 模板分类,误报主要来自 exposure 类模板 @security @lab

简单规则:

1
2
3
4
要做什么        放 task
做了什么        放 jrnl
怎么想的        放 jrnl
长期知识整理    放 Markdown/Obsidian

fish alias

编辑配置:

nvim ~/.config/fish/config.fish

添加:

1
2
3
4
5
6
alias j='jrnl'
alias je='jrnl --edit'
alias jt='jrnl -on today'
alias jy='jrnl -on yesterday'
alias jtrade='jrnl @trade'
alias jsec='jrnl @security'

重新加载:

source ~/.config/fish/config.fish

之后可以这样用:

1
2
3
4
j 今天整理了 Linux 笔记 @daily @linux
je
jt
jtrade

推荐每日模板

jrnl --edit 写长日记时,可以按这个结构写:

今天做了:

- 

遇到的问题:

- 

学到的东西:

- 

明天优先:

- 

复盘:

- 

更短的版本:

1
2
3
4
5
做了:

问题:

明天:

推荐工作流

早上:

task due:today
jrnl 昨天遗留任务检查,今天先处理最高优先级事项 @daily

白天随手记:

jrnl 发现一个 fish alias 可以简化 task 查询 @linux @idea

晚上复盘:

task completed today
jrnl --edit

复盘时关注:

1
2
3
4
今天真正完成了什么
哪些任务拖延了
明天只保留 1 到 3 个重点
有没有值得沉淀到 Markdown 的内容

数据和备份

jrnl 默认会在用户目录下创建配置和日记文件。

查看配置:

jrnl --help

如果想把日记长期和 Obsidian/Markdown 体系放一起,可以把日记文件放到:

~/Documents/my-note/daily/

不过建议刚开始先使用 jrnl 默认路径,等习惯稳定后再迁移。先养成记录习惯,比一开始设计目录更重要。