手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

sftp(1)

名称

sftp - 安全文件传输程序

用法概要

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 [[user@]host[:dir[/]]]
sftp -b batchfile [user@]host

描述

sftp 实用程序是一个交互式文件传输程序,其用户界面类似于 ftp(1),使用 ssh(1) 创建到服务器的安全连接。

sftp 实现了 IETF draft-ietf-secsh-filexfer 中定义的 SSH 文件传输协议。sftp 使用的协议与 ftp(1) 提供的 FTP 协议 (RFC 959) 之间没有关系。

第一种用法格式可以让 sftp 连接到指定的主机并进入交互模式。如果提供了用户名,sftp 会尝试以指定的用户身份登录。如果提供了目录,sftp 将在进入交互模式之前尝试将服务器上的当前目录更改为指定的目录。

第二种用法格式是从服务器检索指定的文件,并将其复制到客户机上指定的目标文件或目录。如果指定了用户名,sftp 将尝试以指定用户的身份登录。

选项

支持以下选项:

–b batchfile

批处理模式从输入 batchfile(而非 stdin)读取一系列命令。因为这种方式缺乏用户交互,所以应当与非交互式验证结合使用。- 的批处理文件可用于指示标准输入。如果以下任一命令失败,sftp 将异常中止:getputrmrenamelnrmmkdirchdirlslchdirchmodchownchgrplpwdlmkdir。通过在命令前面添加 - 字符(如 -rm /tmp/blah*),可以逐个命令禁止因错误导致终止的情况。

–B buffer_size

指定 sftp 传输文件时所使用的缓冲区的大小。缓冲区越大,需要的往返时间越少,但要以消耗更多的内存为代价。缺省值为 32768 个字节。

–C

ssh(1) 中使用 –C 标志,启用压缩功能。

–F ssh_config

为每位用户指定一个备用的 ssh 配置文件。此选项将直接传递到 ssh(1)。

–o ssh_option

指定要直接传递给 ssh(1) 的选项。

–P sftp_server path

将指定的路径作为 sftp-server 来执行操作,并使用管道(而非 ssh 连接)与其进行通信。在调试 sftp 客户机和服务器时,此选项非常有用。当指定了 –P 选项时,将忽略 –S 选项。

–R num_requests

指定一次操作可以剩余的未解决请求数。增加此值可以略微提高文件传输速度,但会增加内存使用情况。缺省值为 64个未解决的请求。

–s subsystem | sftp_server

在远程主机上指定 SSH2 子系统或 sftp 服务器的路径。在基于协议版本 1 使用 sftp 时,或远程 sshd 未配置 sftp 子系统时,路径非常有用。

–S ssh_program path

使用指定的程序代替 ssh(1) 来连接 sftp 服务器。当指定了 –P 选项时,将忽略 –S 选项。程序必须识别 ssh(1) 选项。

–v

提高日志记录级别。此选项也会传递给 ssh(1)。

–1

指定使用协议版本 1。

操作数

支持下列操作数:

hostname | user@hostname

sftp 连接并登录到的主机的名称。

INTERACTIVE COMMANDS

INTERACTIVE COMMANDS

在交互模式下,sftp 可识别与 ftp(1) 的命令相似的一组命令。这些命令不区分大小写,并且包含空格的路径名称可括在引号中。

bye

退出 sftp

cd path

将远程目录更改为 path

chgrp grp path

将文件 path 的组更改为 grpgrp 必须是一个数字 GID。

chmod mode path

将文件 path 的权限更改为 mode

chown own path

将文件 path 的所有者更改为 ownown 必须是一个数字 UID。

exit

退出 sftp

get [flags] remote-path [local-path]

检索 remote-path 并将其存储在本地计算机上。如果未指定本地路径名称,将为其指定其在远程计算机上使用的相同名称。如果指定了 –P 标志,则还会复制文件的完整权限和访问时间。

help

显示帮助文本。

? 命令完全相同。

lcd path

将本地目录更改为 path

lls [ls-options [path]]

显示 path 或当前目录(如果未指定 path)的本地目录列表。

lmkdir path

创建 path 所指定的本地目录。

ln oldpath newpath

创建从 oldpathnewpath 的链接。

lpwd

输出本地工作目录。

ls [-1aflnrSt] [path]

显示 path 或当前目录(如果未指定 path)的远程目录列表。path 可以包含通配符。

ls 支持以下选项:

–a

列出以点 (.) 开头的文件。

–f

不对列表进行排序。缺省的排序顺序为字典顺序。

–l

显示其他详细信息,包括权限和所有权信息。

–n

生成一个长列表,其中按数字顺序显示用户和组信息。

–r

颠倒列表的排序顺序。

–S

按文件大小对列表进行排序。

–t

按上次修改时间对列表进行排序。

–1

生成单列输出。

lumask umask

将本地 umask 设置为 umask

mkdir path

创建 path 所指定的远程目录。

put [flags] local-path [local-path]

上载 local-path 并将其存储在远程计算机上。如果未指定远程路径名称,将为其指定其在本地计算机上使用的相同名称。如果指定了 –P 标志,则还会复制文件的完整权限和访问时间。

pwd

显示远程工作目录。

quit

退出 sftp

rename oldpath newpath

将远程文件从 oldpath 重命名为 newpath

rm path

删除 path 所指定的远程文件。

rmdir path

删除 path 所指定的远程目录。

symlink oldpath newpath

创建从 oldpathnewpath 的符号链接。

version

显示 sftp 协议版本。

# [comment]

包含一条注释。此选项在批处理文件中非常有用。

! [command]

如果未指定 command,则不在本地 shell 中执行此 command。

如果指定了 command,则在本地 shell 中执行 command

?

显示帮助文本。

help 命令完全相同。

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
network/ssh
接口稳定性
Committed(已确定)

另请参见

ftp(1)scp(1)ssh(1)ssh-add(1)ssh-keygen(1)sshd(1M)attributes(5)