jrnl - Man Page
manual page for jrnl v4.1
Examples (TL;DR)
- Insert a new entry with your editor:
jrnl
- Quickly insert a new entry:
jrnl today at 3am: title. content
- View the last ten entries:
jrnl -n 10
- View everything that happened from the start of last year to the start of last march:
jrnl -from "last year" -until march
- Edit all entries tagged with "texas" and "history":
jrnl @texas -and @history --edit
Description
usage: __main__.py [--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] [ ...]
Collect your thoughts and notes without leaving the command line
Optional Arguments
- --debug
Print information useful for troubleshooting
Standalone Commands
These commands will exit after they complete. You may only run one at a time.
- --help
Show this help message
- --version
Print version information
- --list
List all configured journals. Optional parameters: --format [json or yaml]
- --encrypt
Encrypt selected journal with a password
- --decrypt
Decrypt selected journal and store it in plain text
- --import
Import entries from another journal. Optional parameters: --file FILENAME (default: uses stdin) --format [jrnl] (default: jrnl)
Writing
To add a new entry into your journal, simply 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
Path to template file. Can be a local path, absolute path, or a path relative to $XDG_DATA_HOME/jrnl/templates/
Searching
To find entries from your journal, use any combination of the below filters.
- -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
- --change-time [DATE]
Change timestamp for selected entries (default: now)
- --format TYPE
Display selected entries in an alternate format. TYPE can be: boxed, dates, fancy, 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
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 :)
Copyright
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