scp上传文件及文件夹到Linux

scp拷贝文件及文件夹

    • 简介
    • scp跨服务器拷贝文件:
    • 拷贝本地文件到服务器
      • 非22端口拷贝文件
    • 拷贝文件夹
      • 拷贝无数个小文件到远程服务器
    • 从服务器拷贝文件到本地
    • 常用示例
    • 递归拷贝-r(会覆盖)
    • SCP断点续传

简介

scp拷贝文件及文件夹

scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.与rcp不同的是,scp会要求你输入密码如果需要的话.


scp跨服务器拷贝文件:

scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2

[本地用户名@IP地址:]可以不输入,可能需要输入远程用户名所对应的密码.
可能有用的几个参数:

-v 和大多数linux命令中的-v意思一样,用来显示进度.可以用来查看连接,认证,或是配置错误.   
-C 使能压缩选项.   
-P 选择端口.注意-p已经被rcp使用.   
-4 强行使用IPV4地址.   
-6 强行使用IPV6地址.

拷贝本地文件到服务器

#拷贝单个文件:
scp file username@ip:filepath
#说明:file是要拷贝的文件名   
#username:远程登录的用户名,
#ip:远程服务器ip
#filepath:远程文件路径

非22端口拷贝文件

# 指定ssh端口
scp -P 端口号 file username@ip:filepath

拷贝文件夹

#拷贝文件夹,多加上一个-r参数即可
scp -r file username@ip:filepath

拷贝无数个小文件到远程服务器

#如果它是基于UNIX的系统,则可以在ssh上使用tar。
-以下命令压缩所有文件和文件夹。

tar -cvf-/ home | ssh [email protected] tar -xvf--C /
  • 传输并在第二台计算机上解压缩。
    这比仅按scp复制要快得多
# 传输并在目的地主机上解压缩
tar -cvf /e/ZeroNet/data | ssh [email protected] tar -xvf -C /mnt/sda1/home/data

从服务器拷贝文件到本地

scp [email protected]:/home/work/source.txt /home/work/ 

常用示例

#把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
scp /home/work/source.txt [email protected]:/home/work/ 

#把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
scp [email protected]:/home/work/source.txt /home/work/ 

#把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
scp [email protected]:/home/work/source.txt [email protected]:/home/work/ 

递归拷贝-r(会覆盖)

注意,如果本地存在同名文件,会覆盖且无警告提示
如果你要强调传输的安全性 可以采用rsync + ssh

#拷贝文件夹,加-r参数
scp -r /home/work/sourcedir [email protected]:/home/work/

SCP断点续传

rsync -P --rsh=ssh pic.tar.gz 192.168.205.304:/home/199_home.tar

#说明:
-P: 是包含了 "–partial –progress", 部分传送和显示进度
-rsh=ssh 表示使用ssh协议传送数据

你可能感兴趣的:(ssh,ssh,linux)