Linux and Unix sftp command
Secure file transfer program.
sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config] [-o ssh_option] [-P sftp_server_path] [-R num_requests] [-S program] [-s subsystem | sftp_server] host
sftp [[user@]host[:file [file]]]
sftp -b batchfile [user@]host
|-1||Specify the use of protocol version 1.|
|-B buffer_size||Specify the size of the buffer that sftp uses when transferring files. Larger buffers require fewer round trips at the cost of higher memory consumption. The default is 32768 bytes.|
|-b batchfile||Batch mode reads a series of commands from an input batchfile instead of stdin. Since it lacks user interaction it should be used in conjunction with non-interactive authentication. A batchfile of '-' may be used to indicate standard input. sftp will abort if any of the following commands fail: get, put, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chown, chgrp, lpwd and lmkdir. Termination on error can be suppressed on a command by command basis by prefixing the command with a '-' character (for example, -rm /tmp/blah*).|
|-C||Enables compression (via ssh's -C flag).|
|-F ssh_config||Specifies an alternative per-user configuration file for ssh(1). This option is directly passed to ssh(1).|
|-o ssh_option||Can be used to pass options to ssh in the format used in ssh_config(5). This is useful for specifying options for
which there is no separate sftp command-line flag. For example, to specify an alternate port use: sftp -oPort=24.
For full details of the options listed below, and their possible values, see ssh_config(5).
|-P sftp_server_path||Connect directly to a local sftp server (rather than via ssh) This option may be useful in debugging the client and server.|
|-R num_requests||Specify how many requests may be outstanding at any one time. Increasing this may slightly improve file transfer
speed but will increase memory usage. The default is 16 outstanding requests.
|-S program||Name of the program to use for the encrypted connection. The program must understand ssh options.|
|-s subsystem | sftp_server||Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful for using sftp over protocol version 1, or when the remote sshd(8) does not have an sftp subsystem configured.|
|-v||Raise logging level. This option is also passed to ssh.|
Once in interactive mode, sftp understands a set of commands similar to those of ftp. Commands are case insensitive and pathnames may be enclosed in quotes if they contain spaces.
|cd path||Change remote directory to path.|
|chgrp grp path||Change group of file path to grp. grp must be a numeric GID.|
|chmod mode path||Change permissions of file path to mode.|
|chown own path||Change owner of file path to own. own must be a numeric UID.|
|get [flags] remote-path [local-path]||Retrieve the remote-path and store it on the local machine. If the local path name is not specified, it is given the same name it has on the remote machine. If the -P flag is specified, then the file's full permission and access time are copied too.|
|help||Display help text.|
|lcd path||Change local directory to path.|
|lls [ls-options [path]]||Display local directory listing of either path or current directory if path is not specified.|
|lmkdir path||Create local directory specified by path.|
|ln oldpath newpath||Create a symbolic link from oldpath to newpath.|
|lpwd||Print local working directory.|
|ls [flags] [path]||Display remote directory listing of either path or current directory if path is not specified. If the -l flag is specified, then display additional details including permissions and ownership information.|
|lumask umask||Set local umask to umask.|
|mkdir path||Create remote directory specified by path.|
|progress||Toggle display of progress meter.|
|put [flags] local-path [remote-path]||Upload local-path and store it on the remote machine. If the remote path name is not specified, it is given the same name it has on the local machine. If the -P flag is specified, then the file's full permission and access time are copied too.|
|pwd||Display remote working directory.|
|rename oldpath newpath||Rename remote file from oldpath to newpath.|
|rm path||Delete remote file specified by path.|
|rmdir path||Remove remote directory specified by path.|
|symlink oldpath newpath||Create a symbolic link from oldpath to newpath.|
|version||Display the sftp protocol version.|
|! command||Execute command in local shell.|
|!||Escape to local shell.|
|?||Synonym for help.|
Typing the above command would connect to a secure connection for transferring files. If the host you're using supports a secure login you would then be connected to the host. Below is an example of what would be seen.
Connecting to shell.computerhope.com...
However, if the host does not support a secure login, it's likely you would receive an error similar to the below example.
Connecting to shell.computerhope.com...
ssh: shell.computerhope.com: Name or service not known
Couldn't read packet: Connection reset by peer