Cyberduck Mountain Duck CLI

Version 26 (modified by dkocher, on Dec 29, 2014 at 3:58:38 PM) (diff)

Example for glob pattern expansion

Cyberduck Help / Howto / Command Line Interface (CLI)

Work in Progress

Cyberduck with a command line interface (CLI) is available for Mac, Windows & Linux. It is installed as duck.




Available as a Homebrew package. Use

curl > /usr/local/Library/Formula/duck.rb
brew install duck

to install. You can ignore the error Error: Failed to fix install names.


Download the latest installer package.



Available as a Chocolatey package. Use

choco install duck

to install.

MSI Installer

Download the latest setup.


RPM Package

To add the duck repository to your system you need to put a file duck.repo with following content into /etc/yum.repos.d/.


Copy and paste

echo -e "[duck-nightly]\n\
gpgcheck=0" >> /etc/yum.repos.d/duck.repo

to add the configuration.

To install Cyberduck CLI use

sudo yum install duck

DEB Package

Add the duck repositories to your /etc/apt/sources.list:

deb nightly main
deb stable main

You need to download the GPG public key from to verify the integrity of the packages:

sudo apt-key adv --keyserver --recv-keys FE7097963FEFBE72

Synchronize the repository using

sudo apt-get update

To install or upgrade Cyberduck CLI use

sudo apt-get install duck


Usage:duck [options...]

	URLs must be a fully qualified. Paths can either denotea remote file (ftps:// or folder ftps:// with a trailing slash.

Supported protocols
ftp	FTP (File Transfer Protocol)
	Example URL: ftp://<hostname>/<folder>/<file>
ftps	FTP-SSL (Explicit AUTH TLS)
	Example URL: ftps://<hostname>/<folder>/<file>
sftp	SFTP (SSH File Transfer Protocol)
	Example URL: sftp://<hostname>/<folder>/<file>
dav	WebDAV (Web-based Distributed Authoring and Versioning)
	Example URL: dav://<hostname>/<folder>/<file>
davs	WebDAV (HTTP/SSL)
	Example URL: davs://<hostname>/<folder>/<file>
swift	Swift (OpenStack Object Storage)
	Example URL: swift://<container>/<key>
s3	S3 (Amazon Simple Storage Service)
	Example URL: s3://<container>/<key>
gs	Google Cloud Storage
	Example URL: gs://<container>/<key>
azure	Windows Azure Storage
	Example URL: azure://<container>/<key>
rackspace	Rackspace Cloud Files (US)
	Example URL: rackspace://<container>/<key>

    --application <path>              External editor application
    --copy <url> <url>                Copy between servers
 -d,--download <url> <[file]>         Download file or folder. Denote a folder with a trailing '/'. If the local filename is not specified it is downloaded to the current working directory with the
                                       same name the file has on the remote server
    --edit <url>                      Edit file in external editor
 -h,--help                            Print this help
 -i,--identity <private key file>     Selects a file from which the identity (private key) for public key authentication is read
 -l,--list <url>                      List files in remote folder
 -L,--longlist                        Long list format with modification date and permission mask
 -p,--password <password>             Password
 -P,--preserve                        Preserve permissions and modification date for transferred files
    --synchronize <url> <directory>   Synchronize folders
 -u,--username <username>             Username
    --upload <url> <file>             Upload file or folder recursively.
 -v,--verbose                         Print transcript
 -V,--version                         Show version number and quit



Glob pattern support for selecting files to transfer

If your shell supports glob expansion you can use a wildcard pattern to select files for upload like duck --upload ftps://<hostname>/directory/ ~/*.jpg.


You can edit remote files with your preferred editor on your local system using the --edit command.

Attachments (1)

Download all attachments as: .zip