# khard

## Synopsis

    usage: khard [-h] [-c CONFIG] [--debug] [--skip-unparsable] [-v]
                 SUBCOMMAND ...

### Positional Arguments

`SUBCOMMAND`

  Possible choices: list, ls, show, details, template, birthdays, bdays, email, phone, postaddress, post, postaddr, new, add, add-email, merge, edit, modify, ed, copy, cp, move, mv, remove, delete, del, rm, addressbooks, abooks, filename, file

### Named Arguments

`-c, --config`

  config file to use

  The default value and the syntax of the config file are explained in khard.conf(5).

`--debug`

  enable debug output

`--skip-unparsable`

  skip unparsable vcard files

`-v, --version`

  show program’s version number and exit

## Description

khard is an address book for the Unix command line. It can read, create, modify and delete vCard address book entries. khard only works with a local store of vCard files. It is intended to be used in conjunction with other programs like an email client, text editor, vdir synchronizer or VOIP client.

## Subcommands

The functionality of khard is divided into several subcommands. All of these have their own help text which can be seen with `khard SUBCOMMAND --help`. The full list of subcommands and all options can be found in khard-subcommands(1).

Many subcommands accept search terms to limit the number of contacts they should work on, display or present for selection. The syntax is described in Search query syntax.

### Listing subcommands

These subcommands list information of several contacts who match a search query.

list

  list all (selected) contacts

birthdays

  list birthdays (sorted by month and day)

email

  list email addresses

phone

  list phone numbers

postaddress

  list postal addresses

filename

  list filenames of all matching contacts

### Detailed display

These subcommands display detailed information about one contact.

show

  display detailed information about one contact, supported output formats are “pretty”, “yaml” and “vcard”

### Modifying subcommands

These subcommands are used to modify contacts.

edit

  edit the data of a contact, supported formats for editing are “yaml” and “vcard”

new

  create a new contact

add-email

  Extract email address from the “From:” field of an email header and add to an existing contact or create a new one

merge

  merge two contacts

copy

  copy a contact to a different addressbook

move

  move a contact to a different addressbook

remove

  remove a contact

### Other subcommands

addressbooks

  list all address books

template

  print an empty yaml template

## Search query syntax

Search queries consist of one or more command line arguments. Each can be a simple search term or a search term for a specific field. The field name is separated from the search term by a colon (`:`) without any spaces.

Spaces in the field name have to be replaced with underscores.

The available fields are the same fields as in the YAML template with the exception of the five name components (first, last, prefix, suffix, additional). But there is the special pseudo field specifier `name:` which will search in any name related field (including nicknames and formatted names).

If a field name is not known the search term is interpreted as a plain search term and the string (including the colon) is looked up in any field of the contact.

## Configuration

See khard.conf(5).