SFTP命令详解

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中执行命令。
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中的sftp命令是一种用于在不安全网络上传输文件的工具。在传统的FTP协议中,传输的文件以明文方式传输,容易被攻击者窃取,因此sftp命令采用安全的ssh协议来传输文件,保证数据的安全性。下面就是sftp命令的详解: 1.基本语法:sftp [options] [user@]host[/path] 2.参数说明: -a:使用ASCII模式进行传输,支持文本文件和邮件附件等 -b:使用batch文件模式,允许使用sftp命令批量传输文件 -c:使用某种特定的加密算法,包括3des、blowfish等 -f:指定ssh配置文件的位置,通常为/etc/ssh/ssh_config -g:允许使用sftp命令传输文件夹 -i:指定本地私钥的位置,用于身份验证 -p:指定ssh端口号,默认为22 -r:递归传输整个目录 -Q:禁用动态交互功能,只允许使用批处理文件操作 3.sftp命令的使用: 登陆远程主机:sftp user@host 上传本地文件:put local_file remote_dir 下载远程文件:get remote_file local_dir 列出远程目录:ls remote_dir 列出本地目录:ll local_dir 创建远程目录:mkdir remote_dir 删除远程文件:rm remote_file 4.常见的sftp服务器: OpenSSH:最常用的sftp服务器,支持Linux和其他Unix系统 FileZilla:支持Windows和MacOS系统,也支持sftp协议 WinSCP:只支持Windows系统,提供图形化的FTP客户端界面 总之,sftp命令是一种能够保证数据传输安全的工具,可以在不安全的网络环境中安全地传输文件。同时,sftp命令使用简单,容易学习和掌握,值得使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值