Cyberduck Mountain Duck CLI

Version 49 (modified by dkocher, on Jan 16, 2015 at 1:07:57 PM) (diff)

--

Cyberduck Help / Howto / Command Line Interface (CLI)

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

Installation

Mac

Homebrew

Available as a Homebrew package. Use

brew install duck

to install.

Snaphsot Builds
brew install iterate-ch/cyberduck/duck

Package

Download the latest installer package.

Windows

Chocolatey

Available as a Chocolatey package. Use

choco install duck

to install.

MSI Installer

Download the latest setup.

Linux

RPM Package Repository

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

Snaphsot Builds

Copy and paste

echo -e "[duck-nightly]\n\
name=duck-nightly\n\
baseurl=https://repo.cyberduck.io/nightly/\$basearch/\n\
enabled=1\n\
gpgcheck=0" | sudo tee /etc/yum.repos.d/duck-snapshot.repo > /dev/null

to add the configuration.

Stable Builds
echo -e "[duck-stable]\n\
name=duck-stable\n\
baseurl=https://repo.cyberduck.io/stable/\$basearch/\n\
enabled=1\n\
gpgcheck=0" | sudo tee /etc/yum.repos.d/duck-stable.repo > /dev/null

To install Cyberduck CLI use

sudo yum install duck

DEB Package Repository

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

deb https://s3.amazonaws.com/repo.deb.cyberduck.io nightly main
deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main

You need to download the GPG public key from keyserver.ubuntu.com to verify the integrity of the packages:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE7097963FEFBE72

Synchronize the repository using

sudo apt-get update

To install or upgrade Cyberduck CLI use

sudo apt-get install duck

Manual installation

Packages can also be found for download.

Usage

Run --help to get the option screen.

Usage:duck [options...]

	URLs must be fully qualified. Paths can either denote a remote file (ftps://user@example.net/resource) or folder ftps://user@example.net/directory/) with a trailing slash.
Supported protocols
ftp	FTP (File Transfer Protocol)
	ftp://<hostname>/<folder>/<file>
ftps	FTP-SSL (Explicit AUTH TLS)
	ftps://<hostname>/<folder>/<file>
sftp	SFTP (SSH File Transfer Protocol)
	sftp://<hostname>/<folder>/<file>
dav	WebDAV (Web-based Distributed Authoring and Versioning)
	dav://<hostname>/<folder>/<file>
davs	WebDAV (HTTP/SSL)
	davs://<hostname>/<folder>/<file>
swift	Swift (OpenStack Object Storage)
	swift://<container>/<key>
s3	S3 (Amazon Simple Storage Service)
	s3://<container>/<key>
gs	Google Cloud Storage
	gs://<container>/<key>
azure	Windows Azure Storage
	azure://<container>/<key>
rackspace	Rackspace Cloud Files (US)
	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 '/'
 -e,--existing <action>               Transfer action for existing files
                                      	Resume	Append existing files (resume)
                                      	Cancel	 (cancel)
                                      	Rename	Rename transferred files with a timestamp appended to the filename (similar)
                                      	Compare	Skip files that match size, modification date or checksum (compare)
                                      	Rename existing	Rename existing files with timestamp appended to filename (rename)
                                      	Skip	Skip transfer of files that already exist (skip)
                                      	Overwrite	Overwrite all files (overwrite)
                                      
    --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
 -q,--quiet                           Suppress progress messages
 -r,--retry                           Retry failed connection attempts
    --region <arg>                    Location of bucket or container
    --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

URI

The <url> argument for ---copy, --download, --upload and --synchronize must be fully qualified URIs with protocol, hostname and absolute remote path such as ftp://<hostname>/<folder>/<file> for a file or ftp://<hostname>/<folder>/ for a directory. For cloud storage providers, reference the target container (aka bucket) name in the URI like s3://bucketname/key.

Downloads

Uploads

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.

Edit

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

Attachments (1)

Download all attachments as: .zip

swiss made software