带有示例的顶级 SFTP 命令 | 完整的 SFTP 指南

已发表: 2022-07-19

什么是 SFTP? SFTP 是如何工作的?

SFTP(安全文件传输协议)是最安全的文件传输协议,用于通过完全安全的 SSH 网络访问、管理和传输文件。

您可能听说过 FTP 协议。 SFTP 可能类似于 FTP ,但更安全。 SFTP 主要用于通过安全传输传输和访问文件,而在 FTP 中,您可以执行多项任务,例如编辑、删除、管理和传输文件。

与 SCP 不同,SFTP 允许用户访问和管理文件,而不仅仅是传输文件。 但是,本教程都是关于 SFTP 的。 因此,我们将引导您完成可以在 SFTP 中执行的所有可能任务。 在本文中,我们将通过示例向您介绍最有用的 SFTP 命令,这些示例在开始使用安全文件传输协议 (SFTP) 之前每个人都应该知道。

什么是 SFTP - 您需要了解的有关 SFTP 及其命令的所有信息

在进入 SFTP命令之前,要使用 SFTP 连接到远程服务器,您必须在远程服务器中打开权限。 如果您无法连接到 SFTP,您应该联系您的远程托管服务提供商。

创建 SFTP 连接

SFTP 支持 SSH 的所有身份验证方法,因为它是客户端-服务器模型。 推荐使用 SFTP 传输大文件。

要在 SSH 网络上建立 SFTP 连接,您必须在本地系统上安装 SSH 客户端。 例如,我正在使用PuTTY建立从本地服务器到远程服务器的 SFTP 连接。

  • 要连接 SFTP,请打开 PuTTY 并通过输入 IP 地址或主机名连接到本地服务器。

腻子配置

  • 输入用户名和密码以登录您的本地服务器。

登录到本地服务器

  • 现在您可以使用以下命令建立 SFTP 连接:
 sftp remote_username@serverIP_or_hostname
  • 请参阅下图,例如我使用了我的 remote_username 和 IP 地址。

sftp 已连接

  • 输入远程服务器的密码并回车以连接 SFTP。 成功连接后,您将能够看到sftp>提示符。

在某些情况下,远程服务器会停止侦听默认的 22 端口,在这种情况下,您可以尝试在建立连接时手动输入端口,并按照以下命令进行操作。

 sftp -p custom_port remote_username@serverIP_or_hostname

顶级 SFTP 命令

  • 好吧,您可以在 SFTP 中使用数百个命令。 大多数命令可能类似于 Linux Shell 命令。 您可以使用help命令获取所有可用 SFTP 命令的列表。
 输出:

sftp>帮助
可用命令:
再见 退出 sftp
cd path 将远程目录更改为“路径”
chgrp grp path 将文件'path'的组更改为'grp'
chmod mode path 将文件'path'的权限更改为'mode'
chown own path 将文件'path'的所有者更改为'own'
……
……
……
exit 退出 sftp

  • 您可以在pwd命令的帮助下查看当前的远程工作目录。
 输出:

sftp>密码
远程工作目录:/home/Getintod

除此之外,您可以在任何 SFTP 命令之前添加l (本地)以在本地服务器上执行它。 例如,使用lpwd命令查看本地当前工作目录。

 输出:

sftp> lpwd
本地工作目录:/home/learnher

使用ls命令查看远程 SFTP 中存在的文件和目录列表。

 sftp> ls 主页/用户/路径

与此类似,使用lls命令查看本地服务器中存在的文件和目录列表。

 sftp> lls 主页/用户/路径

要浏览目录,可以使用cd命令。

 sftp> cd 主页/用户/路径

与此类似,使用lcd命令更改本地服务器的当前工作目录。

 sftp> lcd 主目录/用户/路径

在 SFTP 中传输文件

您可以使用get命令在 SFTP 中轻松下载或传输文件(远程到本地)。

 sftp> 获取文件名.zip

下载的文件将存储在当前本地工作目录中。 此外,您可以使用以下命令下载具有新名称的文件。

 sftp> 获取文件名.zip 新名称.zip

在某些情况下,下载或传输可能会失败或在两者之间中断。 您可以按照以下命令恢复下载。

 sftp> 重新获取文件名.zip

现在您知道了将文件从远程服务器传输到本地服务器的命令。 此外,您还可以使用put命令将文件从本地服务器传输到远程服务器。

 sftp>把文件名.zip

put命令只会传输文件,要将目录从本地传输到远程服务器,您可以在命令中添加递归-r参数。

 sftp> put -r 目录名

同样,要恢复中断的文件,请使用以下命令。

 sftp> 信誉文件名.zip

您可以在get命令中使用的put命令中使用所有参数。


其他一些有用的 SFTP 命令

您还应该了解其他一些重要的 SFTP 命令。 但是,如果您知道 Linux Shell 命令,那么这对您来说会很容易,因为您还可以在 SFTP 中使用一些 Linux shell 命令。

  • 要获取有关远程服务器的信息:
 sftp>df
  • 要更改远程服务器上文件的文件权限:
 sftp> chmod 644 文件名.php
  • 在远程服务器上创建一个新目录:
 sftp> mkdir 目录名
  • 要删除远程服务器上的文件:
 sftp> rm 文件名.php
  • 重命名远程服务器上的文件:
 sftp> 重命名 filaname.php new_filename.php
  • 要删除远程服务器上的空目录:
 sftp> rmdir 目录名
  • 更改远程文件的组所有者:
 sftp> chgrp group_id 文件名
  • 更改远程服务器(根)上文件的所有者:
 [root@test pwd]# chown user_id file_name
  • 要了解您当前的 SFTP 版本:
 sftp>版本
  • 要更改文件/目录(根)的组和所有者:
 [root@test pwd]# chown username:groupname filename.php
[root@test pwd]# chown username:groupname directoryname
  • 将目录中的所有内容移动到另一个目录(将目录中的所有文件和目录移动到上一级)。
 sftp> mv -v 目录名/* ~/home/user/path

除此之外,您不能删除其中包含内容的任何目录。 此外,SFTP 不允许用户创建新文件。 但是,您仍然可以根据需要删除该文件。

要关闭 SFTP 连接,请键入byequit命令并按 Enter 按钮以移回本地服务器。

我们希望您现在对 SFTP 命令和 SFTP 命令的使用有一些深入的了解。 除此之外,现在您可以轻松地将文件从 SFTP 传输或下载到本地服务器和本地到 SFTP 服务器。