【Linux】 scp上传或下载文件以及文件夹

编程入门 行业动态 更新时间:2024-10-24 20:17:23

【Linux】 scp上传或下载文件以及文件夹

  • 背景
  • 从服务器下载文件
  • 从服务器下载文件夹
  • 上传本地文件到服务器
  • 上传本地文件夹到服务器

背景

scp即secure copy,用于远程拷贝linux服务器的文件以及目录。

scp基于ssh登陆进行安全的远程cp,即scp是传输加密的。

scp基本不影响系统正常使用,推荐日常使用!
windows10目前自带了scp工具,可以直接使用。

[root@localhost .Image]# scp --help
unknown option -- -
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
[root@localhost .Image]# 

关于scp参数的解释:
-1 强制scp命令使用协议ssh1;
-2 强制scp命令使用协议ssh2;
-4 强制scp命令只使用IPv4寻址;
-6 强制scp命令只使用IPv6寻址;
-B 使用批处理模式(传输过程中不询问传输口令或短语);
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能);
-p 保留原文件的修改时间,访问时间和访问权限;
-q 不显示传输进度条;
-r 递归复制整个目录;
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

从服务器下载文件

命令格式如下:

scp username@servername:/path/filename /tmp/local_destination

示例:

scp root@172.36.6.32:/home/Package/cuda10.2_cudnn7.tar  /home/docker_share/

说明:
即将远程服务器(172.36.6.32)下的/home/Package/cuda10.2_cudnn7.tar文件下载到本地的 /home/docker_share/目录下。
下载完成后/home/docker_share/目录新增cuda10.2_cudnn7.tar文件。

从服务器下载文件夹

新增-r参数,递归复制整个目录,命令格式如下:

scp -r username@servername:remote_dir/ /tmp/local_dir

示例:

scp root@172.36.6.32:/home/Package/  /home/docker_share/

说明:
即将远程服务器(172.36.6.32)下的/home/下的Package文件夹下载到本地的 /home/docker_share/目录下。
下载完成后/home/docker_share/目录新增Package文件夹。
注意:这里文件夹是目录概念而不仅仅是一个文件夹名称。

上传本地文件到服务器

命令格式:

scp /path/local_filename username@servername:/path

示例:

scp /home/docker_share/cuda10.2_cudnn7.tar root@172.36.6.32:/home/Package/

说明:
即将本地/home/docker_share/目录下的cuda10.2_cudnn7.tar文件上传到远程服务器(172.36.6.32)下的/home/下的Package文件夹下。
上传完成后/home/Package//目录新增cuda10.2_cudnn7.tar文件。

上传本地文件夹到服务器

新增-r参数,递归复制整个目录,命令格式如下:

scp -r /tmp/local_dir username@servername:remote_dir

示例:

scp -r /home/docker_share  root@172.36.6.32:/home/Package/

说明:
即将本地/home/docker_share文件夹上传到远程服务器(172.36.6.32)下的/home/下的Package文件夹下。
上传完成后/home/Package//目录新增docker_share文件夹。
注意:这里文件夹是目录概念而不仅仅是一个文件夹名称。

更多推荐

【Linux】 scp上传或下载文件以及文件夹

本文发布于:2023-06-14 05:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1441134.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件夹   上传   文件   Linux   scp

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!