Version 64 (modified by dkocher, on Apr 17, 2015 at 7:34:57 PM) (diff) |
---|
Table of Contents
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 --parallel <connections> Number of concurrent connections to use for transfers -r,--retry Retry failed connection attempts --region <arg> Location of bucket or container --synchronize <url> <directory> Synchronize folders --throttle <bytes per second> Throttle bandwidth -u,--username <username> Username --upload <url> <file> Upload file or folder recursively -v,--verbose Print transcript -V,--version Show version number and quit -y,--assumeyes Assume yes for all prompts
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.
Generic options
--retry
Retry requests with I/O failures once per default. Useful on connection timeout or latency issues.
--verbose
Print protocol transcript for requests and responses.
Credentials
You can pass username as part of the URI prepending to the hostname with username@host. Alternatively use the --username option. You can give the password with the --password option or you will be prompted before the connection is opened by the program if no password matching the host is found in your login keychain (OS X) or user configuration shared with Cyberduck (Windows).
Private Key
When connecting with SFTP you can give a file path to a private key with --identity for use with public key authentication.
Downloads
Uploads with --upload
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.
Use of ~
You can use the tilde to abbreviate the remote path pointing to the remote home folder as in sftp://duck.sh/~/. It will be expanded when constructing absolute paths.
Remote directory listings with --list
Use the -L option to print permission mask and modification date in addition to filename.
Edit with --edit
You can edit remote files with your preferred editor on your local system using the --edit command. Use the optional --application option to specify the absolute path to the external editor you want to use.
Application Support Directory
- The support directory is ~/.duck/ on Linux and Windows. You can install third party profiles in ~/.duck/profiles/.
- The support directory is ~/Library/Application Support/Cyberduck on Mac. You can install third party profiles in ~/Library/Application Support/Cyberduck/Profiles.
Preferences
You can override default preferences by setting environment variables in your shell.
env "property.name=value" duck
Attachments (1)
- Cyberduck CLI Setup.png (48.6 KB) - added by dkocher on Dec 4, 2014 at 2:02:59 PM.
Download all attachments as: .zip