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/