jrnl - Man Page
manual page for jrnl v4.0.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