linux怎么sftp传文件,Linux 如何使用SFTP命令传输文件

SFTP ( SSH文件传输协议)是一个安全文件协议,用于通过加密的SSH传输访问,管理和传输文件。

传统的FTP协议相比,SFTP提供了FTP的所有功能,并且易于配置。

只允许文件传输的scp command不同,sftp命令允许你对远程文件执行一系列操作并恢复文件传输。

在本教程中,我们向你展示如何使用Linux sftp命令。

在开始之前

要通过SFTP传输和管理文件,你必须对远程系统有写权限,

传输大文件时,建议在screen或tmux会话中运行sftp命令。

运行sftp命令的目录是本地工作目录。

建立SFTP连接

SFTP在客户端服务器模型中工作,它是SSH的一个子系统,支持所有SSH认证机制。

尽管默认情况下会设置传统密码身份验证并且易于使用,但是如果您定期通过SSH/SFTP连接到服务器,建议您创建SSH密钥并设置无密码SFTP登录。

要打开到远程系统的SFTP连接,请使用sftp命令,后跟远程服务器用户名和IP地址或域名:sftp remote_username@server_ip_or_hostname

如果使用密码身份验证连接到主机,系统将提示你输入用户密码。

连接后,将看到sftp提示符,你可以开始与远程计算机交互:Connected to remote_username@server_ip_or_hostname.

sftp>

如果远程SSH服务器未侦听默认端口22,请使用-oPort选项指定备用端口:sftp -oPort=custom_port remote_username@server_ip_or_hostname

SFTP命令

大多数SFTP命令与您在Linux Shell提示符中使用的命令相似或相同。

通过键入help或?,你可以获得所有可用的SFTP命令的列表。helpAvailable commands:

bye Quit sftp

cd path Change remote directory to 'path'

...

...

version Show SFTP version

!command Execute 'command' in local shell

! Escape to local shell

? Synonym for help

使用SFTP导航

当你登录到远程服务器时,你的当前工作目录是远程用户的主目录,可以通过键入以下命令检查:pwdRemote working directory: /home/remote_username

要列出文件和目录,请使用ls命令:ls

若要导航到其他目录,请使用cd命令,例如要切换到/tmp目录,请键入:cd /tmp

以上命令用于导航和处理远程位置。

sftp shell还提供用于本地导航,信息和文件管理的命令,本地命令以字母l作为前缀。

例如要打印本地工作目录,请键入:cd lpwdLocal working directory: /home/local_username

使用SFTP传输文件

使用SFTP,你可以在两台机器之间安全地传输文件,

如果在台式机上工作,你可以使用GUI SFTP客户端,如WinSCP或FileZilla连接到远程服务器并下载或上传文件。

在没有GUI的服务器上工作时,sftp命令非常有用,并且希望传输文件或对远程文件执行其他操作。

使用SFTP命令下载文件

登录到远程服务器后,当前工作目录为远程用户主目录。

使用sftp命令下载文件时,这些文件将下载到你键入sftp命令的目录,

要从远程服务器下载单个文件,请使用get命令:get filename.zip

输出应该如下所示:Fetching /home/remote_username/filename.zip to filename.zip

/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

如果要使用其他名称保存下载的文件,请将新名称指定为第二个参数:get filename.zip local_filename.zip

要从远程系统下载目录,请使用递归-r选项:get -r remote_directory

如果文件传输失败或中断,可以使用reget命令恢复它,

reget的语法与get的语法相同:reget filename.zip

使用SFTP命令上传文件

若要将文件从本地计算机上载到远程SFTP服务器,请使用put命令:put filename.zip

输出应该如下所示:Uploading filename.zip to /home/remote_username/filename.zip

filename.zip 100% 12MB 1.7MB/s 00:06

如果要上载的文件不在当前工作目录中,请使用文件的绝对路径。

使用put时,可以使用与get命令相同的选项。

要上载本地目录,请键入:put -r locale_directory

要恢复中断的上传:reput filename.zip

使用SFTP进行文件操作

通常,要在远程服务器上执行任务,可以通过SSH连接到它,并使用shell终端完成工作,但是在某些情况下,用户可能只有SFTP访问远程服务器。

SFTP允许你执行一些基本的文件操作命令,以下是使用SFTP shell的一些示例:

获取有关远程系统的磁盘使用情况的信息:dfSize Used Avail (root) %Capacity

20616252 1548776 18002580 19067476 7%

在远程服务器上创建新目录:mkdir directory_name

重命名远程服务器上的文件:rename file_name new_file_name

删除远程服务器上的文件:rm file_name

删除远程服务器上的目录:rmdir directory_name

更改远程系统上文件的权限:chmod 644 file_name

更改远程系统上文件的所有者:chown user_id file_name

必须向chown和chgrp命令提供用户ID。

用以下命令更改远程文件的组所有者:chgrp group_id file_name

完成工作后,键入bye或quit关闭连接。

结束语

在本教程中,我们已经向你展示了如何使用sftp命令将文件下载并上传到远程SFTP服务器。

你还可以设置一个基于SSH密钥的身份验证并连接到你的Linux服务器,而无需输入密码。

如果经常连接到同一个系统,通过在SSH配置文件。

如果你有问题或反馈,请随时留言。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值