Skip to content

Taskwarrior

Taskwarrior 是终端里的 todo 工具,命令是 task

适合:

1
2
3
4
临时任务
项目任务
今天要做什么
带标签的安全测试/学习/交易任务

不适合:

1
2
3
长篇笔记
完整日记
复杂项目文档

安装

Fedora:

sudo dnf install task -y

检查:

task --version

第一次运行会初始化配置:

task

默认数据目录一般是:

~/.task

核心概念

1
2
3
4
5
6
7
8
task        命令本体
project     项目
+tag        标签
priority    优先级
due         截止时间
wait        等到某天再出现
done        完成
delete      删除

Taskwarrior 的思路是:先快速记录,再用项目、标签、日期慢慢整理。

添加任务

添加普通任务:

task add 整理 Fedora 笔记

添加项目:

task add project:linux 整理 fish 配置

添加标签:

task add +daily 写今天复盘
task add +lab 整理 nuclei 模板

项目和标签一起用:

task add project:security +lab 测试目标资产收集脚本

添加截止日期:

1
2
3
task add due:today 写日记
task add due:tomorrow 备份 Obsidian 笔记
task add due:2026-05-31 整理 VPS 配置

添加优先级:

1
2
3
task add priority:H due:today 修复重要脚本
task add priority:M 整理下载目录
task add priority:L 看一篇文章

优先级:

1
2
3
H    High,高
M    Medium,中
L    Low,低

查看任务

查看默认列表:

task

查看所有待办:

task list

查看今天到期:

task due:today

查看某个项目:

task project:linux
task project:security

查看某个标签:

1
2
3
task +daily
task +lab
task +trade

查看高优先级:

task priority:H

组合查询:

1
2
3
task +lab project:security
task due:today priority:H
task project:linux +daily

完成任务

列表里每个任务都有 ID。

查看:

task

完成第 1 个任务:

task 1 done

一次完成多个:

task 1 2 3 done

修改任务

修改任务描述:

task 1 modify 整理 Fedora  fish 配置

添加项目:

task 1 modify project:linux

添加标签:

task 1 modify +daily

删除标签:

task 1 modify -daily

修改截止日期:

task 1 modify due:tomorrow

清空截止日期:

task 1 modify due:

用编辑器打开完整任务:

task 1 edit

删除任务

删除第 1 个任务:

task 1 delete

Taskwarrior 会确认,输入:

yes

如果只是做完了,优先用:

task 1 done

不要习惯性 delete,否则后续看不到完成记录。

等待任务

wait 表示任务先隐藏,到了日期再出现。

明天再提醒:

task add wait:tomorrow 整理周报

下周再出现:

task add wait:2026-06-01 检查证书续期

适合:

1
2
3
现在不能做
需要等结果
不想污染今天列表

注释

给任务加注释:

task 1 annotate 已经完成第一轮扫描,等待复测

查看详情:

task 1 info

删除某条注释通常用 edit 更直观:

task 1 edit

常用工作流

早上看今天:

task due:today
task priority:H

快速收集:

task add +inbox 研究一个新的子域名枚举工具

整理 inbox:

task +inbox
task 1 modify project:security +lab -inbox

做完标记:

task 1 done

晚上复盘:

task completed today
task end.after:today

推荐标签

可以先用少量标签,不要一开始设计太复杂。

1
2
3
4
5
6
+daily      每日例行
+lab        实验/安全测试
+learn      学习
+trade      交易相关
+inbox      临时收集
+waiting    等别人/等结果

项目可以按领域:

1
2
3
4
5
project:linux
project:security
project:trade
project:note
project:life

例子:

1
2
3
task add project:linux +daily 更新 Fedora 笔记
task add project:security +lab 测试 httpx 参数
task add project:trade +daily 复盘 BTC 走势

fish alias

编辑 fish 配置:

nvim ~/.config/fish/config.fish

添加:

1
2
3
4
5
6
alias t='task'
alias ta='task add'
alias tt='task due:today'
alias tw='task +waiting'
alias ti='task +inbox'
alias td='task done'

重新加载:

source ~/.config/fish/config.fish

之后可以这样用:

1
2
3
ta project:linux +daily 整理 taskwarrior 笔记
tt
t 1 done

推荐用法

简单规则:

1
2
3
4
5
看到事情先 task add
每天只重点看 due:today 和 priority:H
不确定归类的任务先打 +inbox
完成用 done,不要 delete
长内容写到 Markdown 或 jrnl,task 只放行动项

日常命令:

1
2
3
4
task add +inbox 想到的事
task +inbox
task due:today
task 1 done