Skip to main content

在 Linux 命令行下进行时间管理 | Linux 中国

学习如何在命令行下用这些方法自己组织待办事项。
关于如何在命令行下进行时间管理getting things done(GTD)有很多讨论。不知有多少文章在讲使用 ls 晦涩的选项、配合 Sed 和 Awk 的一些神奇的正则表达式,以及用 Perl 解析一大堆的文本。但这些都不是问题的重点。
本文章是关于“如何完成[1]”,在我们不需要图形桌面、网络浏览器或网络连接情况下,用命令行操作能实际完成事务的跟踪。为了达到这一点,我们将介绍四种跟踪待办事项的方式:纯文件文件、Todo.txt、TaskWarrior 和 Org 模式。
简单纯文本
我喜欢用 Vim,其实你也可以用 Nano。
最直接管理你的待办事项的方式就是用纯文本文件来编辑。只需要打开一个空文件,每一行添加一个任务。当任务完成后,删除这一行。简单有效,无论你用它做什么都没关系。不过这个方法也有两个缺点,一但你删除一行并保存了文件,它就是永远消失了。如果你想知道本周或者上周都做了哪些事情,就成了问题。使用简单文本文件很方便却也容易导致混乱。
Todo.txt: 纯文件的升级版
整洁,有条理,易用
这就是我们要说的 Todo.txt[2] 文件格式和应用程序。安装很简单,可从 GitHub 下载[3]最新的版本解压后并执行命令 sudo make install 。
也可以从 Git 克隆一个。
Todo.txt 可以很容易的增加新任务,并能显示任务列表和已完成任务的标记:
< 如显示不全,请左右滑动 >
命令说明
todo.sh add "某任务"增加 “某任务” 到你的待办列表
todo.sh ls显示所有的任务
todo.sh ls due:2018-02-15显示2018-02-15之前的所有任务
todo.sh do 3标记任务3 为已完成任务
这个清单实际上仍然是纯文本,你可以用你喜欢的编辑器遵循正确的格式[4]编辑它。
该应用程序同时也内置了一个强大的帮助系统。
你可以使用语法高亮的功能
此外,还有许多附加组件可供选择,以及编写自己的附件组件规范。甚至有浏览器组件、移动设备应用程序和桌面应用程序支持 Todo.txt 的格式。
GNOME的扩展组件
Todo.txt 最大的缺点是缺少自动或内置的同步机制。大多数(不是全部)的浏览器扩展程序和移动应用程序需要用 Dropbox 实现桌面系统和应用程序直接的数据同步。如果你想内置同步机制,我们有……
Taskwarrior: 现在我们用 Python 做事了
花哨吗?
Taskwarrior[5] 是一个与 Todo.txt 有许多相同功能的 Python 工具。但不同的是它的数据保存在数据库里并具有内置的数据同步功能。它还可以跟踪即将要做的任务,可以提醒某个任务持续了多久,可以提醒你一些重要的事情应该马上去做。
看起来不错
安装[6] Taskwarrior 可以通过通过发行版自带的包管理器,或通过 Python 命令 pip 安装,或者用源码编译。用法也和 Todo.txt 的命令完全一样:
< 如显示不全,请左右滑动 >
命令说明
task add "某任务"增加 “某任务” 到任务清单
task list列出所有任务
task list due:today列出截止今天的任务
task do 3标记编号是3的任务为完成状态
Taskwarrior 还有漂亮的文本用户界面。
我喜欢 Vit, 它的设计灵感来自 Vim
不同于 Todo.txt,Taskwarrior 可以和本地或远程服务器同步信息。如果你希望运行自己的同步服务器可以使用名为 taskd 的非常基本的服务器,如果不使用自己的服务器也有好几个可用服务器。
Taskwarriot 还拥有一个蓬勃发展的插件和扩展生态系统,以及移动和桌面系统的应用。
在 GNOME 下的 Taskwarrior 看起来还是很漂亮的。
Taskwarrior 有一个唯一的缺点,你是不能直接修改待办任务的,这和其他的工具不一样。你只能把任务清单按照格式导出,然后修改导出文件后,重新再导入,这样相对于编辑器直接编辑任务还是挺麻烦的。
谁能给我们带来最大的希望呢……
Emacs Org 模式:牛X的任务收割机
Emacs 啥都有
Emacs Org 模式[7] 是目前为止最强大、最灵活的开源待办事项管理器。它支持多文件、使用纯文本、高度可定制、自动识别日期、截止日期和任务计划。相对于我们这里介绍的其他工具,它的配置也更复杂一些。但是一旦配置好,它可以比其他工具完成更多功能。如果你是熟悉或者是 Bullet Journals[8] 的粉丝,Org 模式可能是在桌面程序里最像Bullet Journals[8] 的了。
Emacs 能运行,Org 模式就能运行,一些移动应用程序可以和它很好交互。但是不幸的是,目前没有桌面程序或浏览器插件支持 Org 模式。尽管如此,Org 模式仍然是跟踪待办事项最好的应用程序之一,因为它确实很强大。
选择适合自己的工具
最后,这些程序目的是帮助你跟踪待办事项,并确保不会忘记做某个事情。这些程序的基础功能都大同小异,那一款适合你取决于多种因素。有的人需要自带同步功能,有的人需要一个移动客户端,有的人要必须支持插件。不管你选择什么,请记住程序本身不会让你更有调理,但是可以帮助你。

via: https://opensource.com/article/18/2/getting-to-done-agile-linux-command-line

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...