Linuxword Global
当前位置: Linux技术 > 如何使用Linux SFTP命令传输文件

SFTP是基于SSH的文件传输协议,是一种安全的文件传输协议,通过加密的SSH连接来访问,管理和传输文件

sftp.webp
如何使用Linux sftp命令传输文件

SFTP是基于SSH的文件传输协议,是一种安全的文件传输协议,通过加密的SSH连接来访问,管理和传输文件。

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

SFTP与仅允许文件传输的scp命令不同,SFTP允许您对远程文件执行一系列操作并恢复文件传输。在本教程中,我们将向您展示如何使用Linux sftp命令。

为了能够通过SFTP传输和管理文件,您必须具有远程系统的写入权限,传输大文件时,建议使用screen,tmux,nohup运行sftp命令。

SFTP架构是客户端-服务器模型架构。它是SSH的子系统,支持所有SSH身份验证机制。sftp没有自己独立的服务器端。SSH服务已经包含sftp服务。

你只需要在远程服务器上安装SSH服务,就可以使用sftp连接远程服务器。你可以参考我们的教程如何在Linux安装SSH服务。

虽然默认的配置是使用传统密码验证。但易于使用。但如果您经常通过SSH/SFTP连接到服务器,建议如何设置ssh无密码登录。

你可使用sftp命令打开与远程系统的SFTP连接,后跟远程服务器用户名和IP地址或域名。

如果您使用的是密码验证,系统将提示您输入用户密码。连接后,远程服务器将显示确认消息和sftp>提示符。

如果你的SSH服务器未监听默认端口22,请使用oPort选项指定端口。

sftp remote_username@server_ip_or_hostname

sftp -oPort=custom_port remote_username@server_ip_or_hostname #指定端口

Connected to remote_username@server_ip_or_hostname.sftp>

SFTP命令

大多数SFTP命令与您在Linux shell使用的命令类似或相同。您可在sftp>提示符下键入help或?获取所有可用SFTP命令的列表。

登录到远程服务器后,当前工作目录是远程用户家目录。你可以输入命令pwd来查看当前的工作目录。

和你使用Linux时一样,你可以使用ls命令列出文件和目录。使用cd命令导航到另一个目录。

上述命令都用于导航和处理远程位置。sftp提示符下还提供用于本地导航和文件管理的命令。理论上操作本地文件的命令只需要加上l前缀即可。

例如,要打印本地工作目录,您可以运行命令lpwd。SFTP还允许您执行一些基本的文件操作命令。以下是如何使用SFTP shell的一些示例。

例如使用df命令显示远程系统磁盘使用情况的统计信息。mkdir在远程服务器上创建一个新目录。

rename重命名远程服务器上的文件,rm删除远程服务器上的文件。rmdir删除远程服务器上的目录,chmod更改远程系统的文件权限。

chown更改远程系统上文件的所有者,您必须为chown和chgrp命令提供用户标识。使用chgrp命令更改远程文件组的所有者。

完成工作后,您可以通过键入bye或quit关闭连接。

lpwd #打印本地当前目录
lls #列出本地当前目录的文件

rename file_name new_file_name #重名远程文件
rm file_name #删除远程服务器文件
rmdir directory_name #删除远程服务器目录
chmod 644 file_name #改变文件权限
chown user file_name #改变文件所有者
chgrp group file_name #改变文件所属组

传输文件

SFTP允许您在两台计算机之间安全地传输文件。在大多数情况下,您将使用桌面SFTP客户端,如WinSCP或FileZilla连接到远程服务器下载或上传文件。

但是,当您在没有GUI的服务器上工作时,并且想要传输文件或希望对远程文件执行其他操作时,这时你就需要使用命令行模式。

登录到远程服务器后,当前工作目录是远程用户家目录。使用sftp命令下载文件时,文件将下载到您键入sftp命令时的目录中。

使用get命令可从远程服务器下载单个文件,如果没有指定文件名称get将使用原始名称保存文件。如果要使用其他名称保存下载的文件,请在后面指定名称。

使用-r选项可从远程系统下载目录,如果文件传输失败或中断,您可以使用reget命令恢复它。reget语法与get语法相同。

get filename.zip #下载文件
get filename.zip local_filename.zip #自定义保存名称
get -r remote_directory #下载目录
reget filename.zip #断点续传

使用put命令可将文件从本地目录上传到远程FTP服务器。如果要上传不在当前工作目录中的文件,请使用该文件的绝对路径。

put命令选项跟get命令选项是一样的。-r选项可让你上传本地目录到远程服务器。reput命令恢复中断的上传。

put filename.zip #上传文件
put -r locale_directory #上传目录
reput filename.zip #恢复文件上传,断点续传

结论

在本教程中,您学习了如何使用sftp命令下载文件并将文件上传到远程SFTP服务器。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2331 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5981 个
  • 注册用户: 139 人
  • 访问总量: 8,658,748 次
  • 最近更新: 2024年4月25日