JRNL(1)

πŸ“¦
version 4.6 Β· 3 versions
, in fedora 43, fedora 44

πŸŽ€ NAME πŸŽ€

jrnl β€” ok bestie, this is the manual page for jrnl v4.6, and honestly? it's giving main character journaling from the terminal. πŸ’–


✨ DESCRIPTION ✨

Here's the whole vibe, the actual usage line, no cap:

usage: jrnl [--debug] [--help] [--version] [--list] [--encrypt] [--decrypt] [--import] [--template TEMPLATE] [-on DATE] [-today-in-history] [-month DATE] [-day DATE] [-year DATE] [-from DATE] [-to DATE] [-contains TEXT] [-and] [-starred] [-tagged] [-n [NUMBER]] [-not [TAG/FLAG]] [--edit] [--delete] [--change-time [DATE]] [--format TYPE] [--tags] [--short] [--config-override CONFIG_KV_PAIR CONFIG_KV_PAIR] [--config-file CONFIG_FILE_PATH] [ ...]

And the tagline, which is literally the whole point:

Collect your thoughts and notes without leaving the command line

🌸 the way that you never have to open a notes app ever again 🌸


πŸ’… Optional Arguments πŸ’…

  • --debug β€” prints out info that's useful for troubleshooting. so when something's acting up, this is your detective mode πŸ”

πŸ‘‘ Standalone Commands πŸ‘‘

These commands will exit after they complete. You may only run one at a time. one at a time, bestie β€” pick your fighter, don't try to do them all at once.

  • --help β€” shows you this help message. hi, you are here πŸ’–
  • --version β€” prints version information
  • --list β€” lists every journal you've configured. Optional parameters: --format [json or yaml]
  • --encrypt β€” encrypts the selected journal with a password πŸ”’
  • --decrypt β€” decrypts the selected journal and stores it in plain text
  • --import β€” imports entries from another journal. Optional parameters: --file FILENAME (default: uses stdin) and --format [jrnl] (default: jrnl)

✍️ Writing ✍️

To add a new entry into your journal, you literally just write it on the command line:

jrnl yesterday: I was walking and I found this big log.

The date and the following colon (yesterday:) are optional. If you leave them out, now will be used:

jrnl Then I rolled the log over.

Also, you can mark extra special entries ("star" them) with an asterisk:

jrnl *And underneath was a tiny little stick.
⚠️ Please note that asterisks might be a special character in your shell, so you might have to escape them. When in doubt about escaping, put quotes around your entire entry:
jrnl "saturday at 2am: *Then I was like 'That log had a child!'"

πŸ¦‹ --template TEMPLATE πŸ¦‹

  • --template TEMPLATE β€” path to a template file. Can be a local path, an absolute path, or a path relative to $XDG_DATA_HOME/jrnl/templates/

πŸ” Searching πŸ”

To find entries from your journal, use any combination of the filters below. mix and match, it's a whole build-a-bear situation fr fr 🧸

  • -on DATE β€” show entries on this date
  • -today-in-history β€” show entries of today over the years ⏳
  • -month DATE β€” show entries on this month of any year
  • -day DATE β€” show entries on this day of any month
  • -year DATE β€” show entries of a specific year
  • -from DATE β€” show entries after, or on, this date
  • -to DATE β€” show entries before, or on, this date (alias: -until)
  • -contains TEXT β€” show entries containing specific text (put quotes around text with spaces)
  • -and β€” show only entries that match all conditions, like saying "x AND y" (default: OR)
  • -starred β€” show only starred entries (marked with *) ⭐
  • -tagged β€” show only entries that have at least one tag
  • -n [NUMBER] β€” show a maximum of NUMBER entries (note: -n 3 and -3 have the same effect)
  • -not [TAG/FLAG] β€” if passed a string, will exclude entries with that tag. Can be also used before -starred or -tagged flags, to exclude starred or tagged entries respectively.

🌈 Searching Options 🌈

These help you do various tasks with the selected entries from your search. If used on their own (with no search), they will act on your entire journal.

  • --edit β€” opens the selected entries in your configured editor
  • --delete β€” interactively deletes selected entries πŸ’€ careful, bestie, this one's for real
  • --change-time [DATE] β€” change timestamp for selected entries (default: now)
  • --format TYPE β€” display selected entries in an alternate format. TYPE can be: boxed, calendar, dates, fancy, heatmap, json, markdown, md, pretty, short, tags, text, txt, xml, or yaml. Optional parameters: --file FILENAME β€” write output to file instead of stdout
  • --tags β€” alias for --format tags. Returns a list of all tags and number of occurrences
  • --short β€” show only titles or line containing the search tags

πŸŽ€ Config file override πŸŽ€

Apply a one-off override of the config file option.

  • --config-override CONFIG_KV_PAIR CONFIG_KV_PAIR β€” override configured key-value pair with CONFIG_KV_PAIR for this command invocation only. Examples:
    • Use a different editor for this jrnl entry, call: jrnl --config-override editor "nano"
    • Override color selections jrnl --config-override colors.body blue --configoverride colors.title green

🧚 Specifies alternate config to be used 🧚

Applies alternate config for current session.

  • --config-file CONFIG_FILE_PATH β€” overrides default (created when first installed) config file for this command only. Examples:
    • Use a work config file for this jrnl entry, call: jrnl --config-file /home/user1/work_config.yaml
    • Use a personal config file stored on a thumb drive: jrnl --config-file /media/user1/my-thumbdrive/personal_config.yaml

🫢 THE THANK-YOUS 🫢

We gratefully thank all contributors! Come see the whole list of code and financial contributors at https://github.com/jrnl-org/jrnl

And special thanks to Bad Lip Reading for the Yoda joke in the Writing section above :) 😭 iconic behavior honestly


Copyright Β© 2012-2023 jrnl contributors

This is free software, and you are welcome to redistribute it under certain conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html


and that's the whole page, bestie πŸ’– this was jrnl v4.6, from August 2026, filed under JRNL(1) β€” go journal something, you absolute legend βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from