【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上传或下载文件以及文件夹
发布评论