linux中远程服务器上传输文件的10个sftp命令示例

2022-06-02 15:46:04 浏览数 (1)

File Transfer Protocol (FTP) 是一种广泛使用的协议,用于以未加密的格式远程传输文件或数据,这不是一种安全的通信方式。

众所周知 File Transfer Protocol 根本不安全,因为所有传输都以明文形式进行

所以, FTP可以在有限的情况下或在你信任的网络上使用。SCP和SSH解决了这种安全缺陷,并在远程计算机之间传输数据时添加了一个加密的安全层。

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。

Security Warnings: 请不要全局打开SSH端口 (Secure SHell) ,因为这将是一个安全漏洞。你只能打开要在远程系统上传输或管理文件的特定 IP,反之亦然。

SSH session

1. 如何连接到 SFTP

默认情况下,使用相同的 SSH 协议进行身份验证和建立 SFTP 连接。要启动 SFTP 会话,请在命令提示符下输入用户名和远程主机名或 IP 地址。身份验证成功后,你将看到一个sftp>

代码语言:javascript复制
[root@rumenz ~]# sftp -P 22 rumenz@192.168.0.100
Connecting to 1..
rumenz@192.168.0.100's password:
sftp>

秘钥登录

代码语言:javascript复制
> sftp -P 22 -i ~/.ssh/id_rsa zhangsan@192.168.0.100

2. 帮助

你在 sftp prompt, 通过键入 检查可用命令? 或者 help 在命令提示符下。

代码语言:javascript复制
sftp> ?
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode'
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help

3.检查当前工作目录

命令 lpwd 用于检查 Local当前工作目录,而pwd 命令用于检查Remote 工作目录。

代码语言:javascript复制
sftp> lpwd
Local working directory: /
sftp> pwd
Remote working directory: /rumenz/
  • lpwd – 打印系统上的当前目录
  • pwd – 打印 ftp 服务器上的当前目录

4. 使用 sftp 列出文件

列出本地和远程系统 ftp 服务器中的文件和目录。

远程

sftp> ls

本地

sftp> lls

5. 使用 sftp 上传文件

将单个或多个文件放在远程系统 ftp 服务器中。

代码语言:javascript复制
sftp> put local.profile
Uploading local.profile to /rumenz/local.profile

6. 使用 sftp 上传多个文件

将多个文件放在远程系统 ftp 服务器上。

代码语言:javascript复制
sftp> mput *.xls

6.1 使用 sftp 下载文件

在本地系统中获取单个或多个文件。

代码语言:javascript复制
sftp> get SettlementReport_1-10th.xls
Fetching /rumenz/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

在本地系统上获取多个文件。

代码语言:javascript复制
sftp> mget *.xls

Note: 正如我们在默认情况下看到的 get command在本地系统中下载同名文件。我们可以通过在末尾指定名称来下载具有不同名称的远程文件。

7. 在 sftp 中切换目录

在本地和远程位置从一个目录切换到另一个目录。

远程
代码语言:javascript复制
sftp> cd test
sftp>
本地
代码语言:javascript复制
sftp> lcd Documents

8. 使用 sftp 创建目录

在本地和远程位置创建新目录。

代码语言:javascript复制
sftp> mkdir test
sftp> lmkdir Documents

9. 使用 sftp 删除目录

删除远程系统中的目录或文件。

代码语言:javascript复制
sftp> rm Report.xls
sftp> rmdir sub1

Note: 要从远程位置移除/删除任何目录,该目录必须为空。

10. 退出 sftp Shell

输入! 命令,我们可以在其中执行 Linux 命令。输入 exit 可以退出shell

代码语言:javascript复制
sftp> !
[root@sftp ~]# exit
Shell exited with status 1
sftp>

相关文章

ssh常用命令总结

Linux之scp命令

0 人点赞