LinuxCommandLibrary

jrnl

Create and manage personal journal entries

TLDR

Insert a new entry with your editor

$ jrnl
copy

Quickly insert a new entry
$ jrnl [today at 3am]: [title]. [content]
copy

View the last ten entries
$ jrnl -n [10]
copy

View everything that happened from the start of last year to the start of last march
$ jrnl -from "[last year]" -until [march]
copy

Edit all entries tagged with "texas" and "history"
$ jrnl [@texas] -and [@history] --edit
copy

SYNOPSIS

jrnl [date] [tags] [text]

PARAMETERS

date
    Specific date/time for the entry. If omitted, defaults to current time.

tags
    Words preceded by '@' used to categorize the entry.

text
    The journal entry content.

--version
    Show program's version number and exit

--help
    Show help message and exit

--config
    Path to configuration file.

--create-config
    Create a new configuration file.

--edit
    Edit the journal file.

--export
    Export journal entries to various formats.

--encrypt
    Encrypt journal file.

--decrypt
    Decrypt journal file.

--list
    List entries within a specific date range.

DESCRIPTION

jrnl is a simple, human-readable, command-line journal application written in Python. It allows users to create and manage personal journals directly from the terminal. Entries are typically stored in plain text or encrypted files, making them accessible and portable. jrnl supports tags, date/time parsing for easy entry retrieval, and various formatting options. It's designed for users who prefer a minimalist and customizable approach to journaling, allowing them to maintain a personal record using the command line interface.

Unlike GUI based journaling tools, jrnl relies on text editors and command line proficiency, but it offer greater flexibility and control over data storage and manipulation. Encryption is supported to keep sensitive entries secure. jrnl aims to be fast and efficient for quick note-taking and reflection. The journal entries are stored as plain text, making it easy to process them with other text-based tools, such as grep or awk.

CAVEATS

jrnl relies on user's familiarity with command line tools. It might require initial configuration, and encryption requires careful handling of passwords.

CONFIGURATION

jrnl can be configured via a configuration file (typically ~/.jrnl_config). This file allows customization of journal locations, date formats, editor choice, and encryption settings.

ENCRYPTION

jrnl supports encryption using a password. Ensure that you remember the password used for encryption, as losing it can result in permanent data loss.

DATE PARSING

jrnl intelligently parses date and time information. You can use various formats like 'yesterday', 'last week', '2 days ago', etc., for specifying dates.

HISTORY

jrnl was developed as a simple and flexible command-line journaling tool. It gained popularity among developers and users who prefer a text-based approach to note-taking and personal record-keeping. Development continues with contributions from the open-source community.

SEE ALSO

grep(1), awk(1), less(1), vim(1), nano(1)

Copied to clipboard