linux中远程服务器上传输文件的10个sftp命令示例
Linux系统
193
0
0
2024-11-06
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>
。
| [root@rumenz ~] |
| Connecting to 1.. |
| rumenz@192.168.0.100's password: |
| sftp> |
| |
秘钥登录
> sftp -P 22 -i ~/.ssh/id_rsa zhaoShanHe@192.168.0.100
2. 帮助
你在 sftp prompt
, 通过键入 检查可用命令?
或者 help
在命令提示符下。
| 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
工作目录。
| sftp> lpwd |
| Local working directory: / |
| sftp> pwd |
| Remote working directory: /zhaoyanfei/ |
lpwd
– 打印系统上的当前目录pwd
– 打印 ftp 服务器上的当前目录
4. 使用 sftp 列出文件
列出本地和远程系统 ftp 服务器中的文件和目录。
远程
sftp> ls
本地
sftp> lls
5. 使用 sftp 上传文件
将单个或多个文件放在远程系统 ftp 服务器中。
| sftp> put local.profile |
| Uploading local.profile to /rumenz/local.profile |
6. 使用 sftp 上传多个文件
将多个文件放在远程系统 ftp 服务器上。
sftp> mput *.xls
7. 使用 sftp 下载文件
在本地系统中获取单个或多个文件。
| sftp> get SettlementReport_1-10th.xls |
| Fetching /zhaoYanFei/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls |
在本地系统上获取多个文件。
sftp> mget *.xls
Note
: 正如我们在默认情况下看到的 get command
在本地系统中下载同名文件。我们可以通过在末尾指定名称来下载具有不同名称的远程文件。
8. 在 sftp 中切换目录
在本地和远程位置从一个目录切换到另一个目录。
远程
本地
sftp> lcd Documents
9. 使用 sftp 创建目录
在本地和远程位置创建新目录。
| sftp> mkdir test |
| sftp> lmkdir Documents |
10. 使用 sftp 删除目录
删除远程系统中的目录或文件。
| sftp> rm Report.xls |
| sftp> rmdir sub1 |
Note
: 要从远程位置移除/删除任何目录,该目录必须为空。
11. 退出 sftp Shell
输入!
命令,我们可以在其中执行 Linux 命令。输入 exit
可以退出shell
。
| sftp> ! |
| [root@sftp ~]# exit |
| Shell exited with status 1 |
| sftp> |