通过 ssh 与远程服务器之间传输文件的几种方法( 二 )

rsync -r source_dir username@ip_address:/home/username/target_dir

  • 1.
 
看下面的例子,我复制远程系统中的目录  my_file 到本地系统中:
通过 ssh 与远程服务器之间传输文件的几种方法

文章插图
 
rsync是一种通用工具 。它本质上是一个在两个目录之间“递归同步”内容的工具,在进行自动备份时很受欢迎 。
方法3:使用 SSHFS 访问远程系统中的文件SSHFS(SSH文件系统)可用于访问远程文件和目录 。但是,这对于复制文件来说不是很方便 。
这种方法,我们可以在本地系统上加载远程目录,然后就可以在这个目录和本地系统之间复制文件 。这相当于 windows 系统中的远程桌面的概念 。
sshfs 在使用之前需要先安装,在 Debian 或者 Ubuntu 中,可以使用如下命令:
 
sudo apt install sshfs
  • 1.
 
安装完成之后,就可以使用 sshfs 了 。一个好的习惯是为其专门创建一个目录:
 
mkdir mount_dir
  • 1.
 
然后使用如下方式在远程计算机上,加载此目录:
 
sshfs username@IP_address:path_to_dir mount_dir
  • 1.
 
加载完成后,就可以将文件复制到这个目录中,或者在这个目录中复制文件到其他目录,就想它在本地计算机中一样 。
 
cp local_file mount_dir
  • 1.
 
需要注意的是,装载此目录进行工作,工作完成后,还需要卸载它:
 
umount mount_dir
  • 1.
 
下图中的例子,我在本地计算机中新建了一个目录 remote_dir,然后将远程系统中的 my_file 目录装载到本地的 remote_dir 目录中,然后将 remote.txt 文件复制到本地系统,最后卸载该目录:
通过 ssh 与远程服务器之间传输文件的几种方法

文章插图
方法4:使用基于 GUI 的 SFTP 客户端在远程系统之间传输文件最后一个我们将要介绍的方法,是可以使用 FTP 客户端在远程和本地系统之间传输文件 。
FileZilla 是最流行的跨平台FTP客户端之一,安装和使用都很方便 。
安装完成后,找到 File -> Site Manager(文件->站点管理器),添加远程系统详细信息,如 IP 地址、SSH 端口号、用户名和密码等 。如下图所示:
通过 ssh 与远程服务器之间传输文件的几种方法

文章插图
连接成功后,窗口会分为左右两个部分,左边为本地文件系统,右侧显示远程文件系统:
通过 ssh 与远程服务器之间传输文件的几种方法

文章插图
拷贝文件的方式也很简单,直接从左边向右边拖拽文件,即可将本地文件复制到远程系统中;反过来,从右侧拖拽文件到左侧,即复制远程系统中的文件到本地计算机 。复制过程中,在窗口底部会显示进度条 。




推荐阅读