带有示例的顶级 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 支持 SSH 的所有身份验证方法,因为它是客户端-服务器模型。 推荐使用 SFTP 传输大文件。
要在 SSH 网络上建立 SFTP 连接,您必须在本地系统上安装 SSH 客户端。 例如,我正在使用PuTTY建立从本地服务器到远程服务器的 SFTP 连接。
- 要连接 SFTP,请打开 PuTTY 并通过输入 IP 地址或主机名连接到本地服务器。
- 输入用户名和密码以登录您的本地服务器。
- 现在您可以使用以下命令建立 SFTP 连接:
sftp remote_username@serverIP_or_hostname
- 请参阅下图,例如我使用了我的 remote_username 和 IP 地址。
- 输入远程服务器的密码并回车以连接 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 连接,请键入bye或quit命令并按 Enter 按钮以移回本地服务器。
我们希望您现在对 SFTP 命令和 SFTP 命令的使用有一些深入的了解。 除此之外,现在您可以轻松地将文件从 SFTP 传输或下载到本地服务器和本地到 SFTP 服务器。