sftp命令详解
简介
sftp [-46AaCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher] [-D sftp_server_path] [-F ssh_config]
[-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-R num_requests] [-S program]
[-s subsystem | sftp_server] destination
说明
sftp是一个文件传输程序,类似于ftp,它通过加密的ssh执行所有操作它还可以使用ssh的许多功能,例如公钥身份验证和压缩。
目的地可以指定为:
[user@]host[:path]
也可以指定为形式为的URI:
sftp://[user@]host[:port] [/path]。
如果目标包括一个path,而它不是一个目录,如果采用非交互式认证方法sftp将自动检索文件;否则,它将在成功的交互式身份验证之后执行此操作。
如果没有指定path,或者path是目录,则sftp将登录到指定的主机并输入交互活动命令模式,如果指定了远程目录,则更改为远程目录。可选的尾部斜线可以是用于强制将path解释为目录。由于目标格式使用冒号将主机名与path名或端口号分隔开,因此IPv6地址必须用方括号括起来以避免歧义。
选项如下:
-4 强制sftp仅使用IPv4地址。
-6 强制sftp仅使用IPv6地址。
-A 允许将ssh代理转发到远程系统。默认情况是不转发身份验证代理人
-a 尝试继续中断的传输,而不是覆盖的现有部分或完整副本文件夹。如果部分内容与正在传输的内容不同,则生成的文件很可能失败。
-B 缓冲器_大小
指定sftp在传输文件时使用的缓冲区的大小。较大的缓冲区比较少的缓冲区以更高的内存消耗为代价。默认值为32768字节。
-b 批处理文件
批处理模式从输入批处理文件而不是stdin中读取一系列命令。
-C 启用压缩
-c 密码,选择用于加密数据传输的密码。这个选项直接传递给ssh。
-D sftp_server_path(服务器path)直接连接到本地sftp服务器(而不是通过ssh(1))。此选项在调试中可能很有用对客户端和服务器进行标记。
-F ssh_配置,为ssh指定一个备选的每个用户配置文件。
-f 请求在传输后立即将文件刷新到磁盘。
-i 身份文件
选择从中读取用于公钥身份验证的标识(私钥)的文件。
-J 目的地,通过首先与目标所述的跳转主机建立sftp连接来连接到目标主机然后从那里建立到最终目的地的TCP转发。多次跳跃可能
由逗号字符分隔。这
-l 极限
限制使用的带宽,以Kbit/s为单位指定。
-N 禁用安静模式,例如覆盖由-b标志设置的隐式安静模式。
-P 端口,指定远程主机上要连接的端口。
-p 保留传输的原始文件的修改时间、访问时间和模式。
-q 安静模式:禁用进度表以及来自ssh的警告和诊断消息。
-R 请求的数量,指定一次可能有多少个请求未处理。增加此值可能会略微改善文件传输速度,但会增加内存使用量。默认为64个未处理的请求。
-r 在上传和下载时递归复制整个目录。
-S 程序,用于加密连接的程序的名称。程序必须理解ssh选项。
-s 子系统|sftp_server指定SSH2子系统或远程主机上sftp服务器的path。
-v 提高日志记录水平。这个选项也被传递给ssh。
交互式命令
一旦进入交互模式,sftp就会理解一组类似于ftp的命令。命令是大小写的敏感的包含空格的path名必须用引号括起来。
bye 退出sftp。
cd [path]将远程目录更改为path。如果未指定path,则将目录更改为会话所在的目录开始path。
chgrp [-h]grppath将文件path组更改为grp。
chmod [-h]模式path 将文件path的权限更改为模式。
chown [-h]自己的path将文件path的所有者更改为own。
df [-hi] [path],显示保存当前目录(或path,如果指定)的文件系统的使用信息。
exit 退出sftp。
get [-afpR]远程path[本地path],检索远程path并将其存储在本地计算机上。
如果指定了-a标志,则尝试恢复现有文件的部分传输。请注意假设本地文件的任何部分副本都与远程副本匹配。如果远程文件内容与部分本地副本不同,则生成的文件可能已损坏。
如果指定了-f标志,那么在文件传输完成后将调用fsync(2)进行刷新将文件保存到磁盘。
如果指定了-p标志,那么也会复制完整的文件权限和访问时间。
如果指定了-R标志,那么目录将被递归复制。请注意,sftp不在后面执行递归传输时的符号链接。
help 显示帮助文本。
lcd [path],将本地目录更改为path。如果未指定path,则将目录更改为本地用户的主目录。
lls [ls选项[path]]
如果未指定path,则显示path或当前目录的本地目录列表。ls选项可以包含本地系统的ls
lmkdir path,创建由path指定的本地目录。
ln [-s] [旧path] [新path],创建从旧path到新path的链接。如果指定了-s标志,则创建的链接是符号链接,
否则,这是一个硬链接。
lpwd 打印本地工作目录。
ls [-1afhlnrSt] [path],如果未指定path,则显示path或当前目录的远程目录列表。
以下标志被识别并相应地改变ls的行为:
-1 产生单列输出。
-a 列出以句点('.')开头的文件。
-f 不要对列表进行排序。默认的排序顺序是字典式的。
-h 与长格式选项一起使用时,使用单位后缀:Byte、Kilobyte、Megabyte、Gigabyte、Ter‐
abyte、Petabyte和Exabyte,以便使用pow-大小为2的ers(K=1024,M=1048576等)。
-l 显示其他详细信息,包括权限和所有权信息。
-n 制作一个长列表,以数字形式显示用户和组信息。
-r 反转列表的排序顺序。
-S 按文件大小对列表进行排序。
-t 按上次修改时间对列表进行排序。
mkdirpath,创建由path指定的远程目录。
progress 切换进度表的显示。
put [-afpR] [本地path] [远程path],上传本地path并将其存储在远程计算机上。如果未指定远程path名,则为
给定与本地机器上相同的名称。本地path可能包含glob(7)个字符,并且可能匹配多个文件。如果指定了远程path,则远程path必须指定一个目录
如果指定了-a标志,则尝试恢复现有文件的部分传输。请注意假设远程文件的任何部分副本都与本地副本匹配。如果本地文件内容与远程本地副本不同,则生成的文件可能已损坏。
如果指定了-f标志,那么将向服务器发送一个请求,在文件之后调用fsync已转移。
如果指定了-p标志,那么也会复制完整的文件权限和访问时间。
如果指定了-R标志,那么目录将被递归复制。请注意,sftp不在后面执行递归传输时的符号链接。
pwd 显示远程工作目录。
quit 退出sftp。
reget [-fpR] [远程path] [本地path]继续下载远程path。相当于得到一个标志集。
reput [-fpR] [本地path] [远程path]继续上载本地path。相当于设置了-a标志。
rename 旧path 新path,将远程文件从旧path重命名为新path。
rmpath 删除由path指定的远程文件。
rmdirpath 删除path指定的远程目录。
symlink 旧path新path 创建从旧path到新path的符号链接。
version 显示sftp协议版本。
!command 在本地shell中执行命令。