% DAV(1) Version 1.3 | DavUtils User Manuals
% Olaf Wintermann
% December 15, 2019
# NAME
**dav** - command line WebDAV client
# SYNOPSIS
**dav** *command* [*options*] *arguments*...
# DESCRIPTION
TODO
# COMMANDS
list [**-altdepcR**] [**-u** *date*] *url*
: Lists the files at *url*.
get [**-pcRK**] [**-o** *file*] [**-u** *date*] [**-V** *version*] *url*
: Downloads a resource from *url*.
put [**-pcR**] [**-k** *key*] [**-L** *lock*] *url* *file*
: Uploads a resource to *url*.
edit [**-pc**] [**-k** *key*] [**-V** *version*] [**-L** *lock*] *url*
: Downloads or creates a resource and opens the editor.
The editor can be specified via the EDITOR environment variable.
Default editor is vi.
mkdir [**-pc**] [**-k** *key*] [**-L** *lock*] *url*
: Creates a new collection at *url*.
remove [**-pc**] [**-L** *lock*] *url*
: Deletes a resource or collection at *url*
copy [**-pcO**] [**-L** *lock*] *srcurl* *desturl*
: Copies a resource or collection from *srcurl* to *desturl*.
move [**-pcO**] [**-L** *lock*] *srcurl* *desturl*
: Moves a resource or collection from *srcurl* to *desturl*.
rename [**-pcO**] [**-L** *lock*] *srcurl* *name*
: Changes the name of a resource or collection at *srcurl* to *name*.
export [**-pc**] [**-o** *file*] [**-u** *date*] *url*
: Exports a resource or collection to a **tar(5)** archive. By default the
data is written to *stdout*, but you may specify a *file* with the **-o**
option.
import [**-pc**] [**-k** *key*] [**-L** *lock*] *url* *file*
: Uploads and extracts the contents of the **tar(5)** archive *file* to *url*.
get-property [**-pcx**] [**-n** *uri*] *url* *property*
: Gets a specific resource property. Every WebDAV property has a name and an
XML namespace. A namespace can be specified with the **-n** option or with
a prefixed name. The prefix and property name are separated by a colon
*:* as usual.
If the **-x** option is specified, a valid XML document containing the
value is printed on *stdout*.
If the property contains XML data and the **-x** option is not specified,
the value is printed on *stderr* in an XML-like format.
set-property [**-pcx**] [**-L** *lock*] [**-n** *uri*] *url* *property* [*value*]
: Sets a resource property to the specified value. See **get-property** for
details. If no *value* is specified, it is read from *stdin*.
remove-property [**-pc**] [**-n** *uri*] *url* *property*
: Removes a resource property.
lock [**-pc**] [**-T** *timeout*] *url*
: Creates a lock on the resource at *url*. The lock is an exclusive write
lock with infinite depth. If the resource is sucessfully locked, a lock
token for this resource is printed to *stdout*. This lock token should be
saved to unlock the resource eventually.
unlock [**-pc**] [**-L** *lock*] *url*
: Unlocks the resource at *url* with a lock token. If *lock* is not
specified, the token is read from *stdin*.
info [**-pc**] *url*
: Prints some information and lists al properties for the resource at *url*.
date [*url*]
: Gets the time from the server providing the resource denoted by *url*.
If *url* is not specified, this command prints the local time.
This command is useful, if the server clock and the local clock are not
in sync.
versioncontrol [**-pc**] *url*
: Puts the resource, specified by url, under version control. This is
required in order to use other versioning commands with this resource.
list-versions [**-pc**] *url*
: Lists all versions of a version-controlled resource.
checkout [**-pc**] *url*
: Changes the state of a resource to checked-out to allow modifications
to the content and properties.
checkin [**-pc**] *url*
: Changes the state of a resource to checked-in. This will create a new
version of the resource. In the checked-in state the resource cannot
be modified.
uncheckout [**-pc**] *url*
: Cancels all modification of the resource and sets the state to checked-in
without creating a new version.
# CONFIGURATION COMMANDS
add-repository
: This command runs an interactive assistant that creates a repository
configuration.
remove-repository *name*
: Removes the repository with the specified *name* from the configuration.
list-repositories
: Lists all currently configured repositories.
check-config
: Validates the **$HOME/.dav/config.xml** configuration file.
repository-url [**-p**] *repository*
: Prints the repository url.
add-user
: Adds a user to the secret store.
remove-user
: Removes a user from the secret store.
edit-user
: Interactive command for modifying users stored in the secret store.
list-users
: Lists all users stored in the secret store.
# GENERAL OPTIONS
The following options can be used with all commands.
-i
: Disable cert verification.
-N
: Disable authentication prompt.
-v
: Verbose output.
# COMMAND OPTIONS
-a
: Show all files.
-c
: Enable full encryption.
-d
: Order by last modified date.
-e
: Show extended flags.
-K
: Keep already present files.
-k *key*
: Key to use for encryption.
-l
: Print resources in long list format.
-L *lock*
: Specificy lock token.
-n *uri*
: Specify namespace *uri*. There are two namespaces configured by default.
1. *D* for the *DAV:* namespace
2. *idav* for the *http://davutils.org/* namespace
-o *file*
: Write output to *file*. Use '-' for stdout.
-O
: Override resources.
-p
: Don't encrypt or decrypt files.
-R
: Recursively do the operation for all children.
-t
: Print content type.
-T *sec*
: Timeout in seconds.
-u *date*
: Get resources which are modified since the specified *date*.
-V *version*
: downloads a specific version of the resource. Available versions can be
listed with the list-versions command
-x
: XML property content.
# SEE ALSO
`dav-sync` (1).
DavUtils full documentation: <https://davutils.sourceforge.io/>.