SSH登录服务器上传下载目录文件

技术 · 2023-08-03
SSH登录服务器上传下载目录文件

服务器下载到本地

通过SSH登录云服务器,并将远程服务器上的某个目录下载到本地指定目录,可以按以下步骤操作:

  1. 使用ssh命令登录云服务器,假设云服务器IP为192.168.1.100,用户名为root:
ssh root@192.168.1.100
  1. 输入密码登录后,使用scp命令下载远程目录。例如,下载远程服务器/data/test目录到本地/home/user/downloads目录:
scp -r root@192.168.1.100:/data/test /home/user/downloads
  • -r参数表示递归下载整个目录
  • root@192.168.1.100:/data/test表示远程服务器的地址和路径
  • /home/user/downloads表示本地的下载目标路径
  1. 输入远程服务器的密码后,就会将/data/test目录下载到本地的/home/user/downloads目录中。

在使用 scp 命令进行上传时,默认情况下,如果目标服务器上已经存在同名文件,scp 将会询问是否覆盖该文件。如果你希望跳过已存在的同名文件,可以使用 -i 参数(--ignore-existing 的缩写)来实现。

使用 -i 参数后,scp 将会忽略目标服务器上已经存在的同名文件,只上传本地目录中在目标服务器上不存在的文件。

本地上传到服务器

假设你要上传本地目录 /path/to/local/directory 到远程服务器的目录 /path/to/destination/directory,并且希望跳过已存在的同名文件,可以使用以下命令:

scp -r -i /path/to/local/directory username@remote_server:/path/to/destination/directory

其中:

  • -r 选项用于递归复制整个目录及其子目录。
  • -i 参数用于忽略目标服务器上已存在的同名文件。

请注意,在使用 -i 参数时,scp 不会检查文件内容是否相同,它只会检查文件名是否存在。如果你需要更精确的比较来避免不必要的传输,可以考虑使用其他工具如 rsync

Linux
Theme Jasmine by Kent Liao